refactor code
This commit is contained in:
parent
b7726e07d1
commit
20e249a4dd
|
@ -50,12 +50,12 @@
|
|||
PHP_ARMA_COMPLEX_OPERATOR_EX(double, func) \
|
||||
PHP_ARMA_OPERATOR_END()
|
||||
|
||||
#define PHP_ARMA_COMPLEX_OPERATOR_ASSIGN_EX(type, func) \
|
||||
PHP_ARMA_OPERATOR_ASSIGN_EX(complex<type>, func)
|
||||
#define PHP_ARMA_COMPLEX_ASSIGN_OPERATOR_EX(type, func) \
|
||||
PHP_ARMA_ASSIGN_OPERATOR_EX(complex<type>, func)
|
||||
|
||||
#define PHP_ARMA_COMPLEX_OPERATOR_ASSIGN(func) \
|
||||
#define PHP_ARMA_COMPLEX_ASSIGN_OPERATOR(func) \
|
||||
PHP_ARMA_OPERATOR_BEGIN(complex_ce) \
|
||||
PHP_ARMA_COMPLEX_OPERATOR_ASSIGN_EX(double, func) \
|
||||
PHP_ARMA_COMPLEX_ASSIGN_OPERATOR_EX(double, func) \
|
||||
PHP_ARMA_OPERATOR_END()
|
||||
|
||||
#endif // PHP_ARMA_OPERATORS
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace php_arma
|
|||
zend_always_inline
|
||||
void const_declare(zend_class_entry *ce, Ts&&... constants)
|
||||
{
|
||||
for (auto [name, val] : { constants... }) {
|
||||
for (auto&& [name, val] : { constants... }) {
|
||||
zend_declare_class_constant_long(ce, name, strlen(name), val);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -98,7 +98,7 @@ namespace php_arma
|
|||
int add_assign_handler(zend_execute_data *execute_data)
|
||||
{
|
||||
return op_handler(execute_data, PHP_ARMA_OP_HANDLER_FUNC {
|
||||
PHP_ARMA_COMPLEX_OPERATOR_ASSIGN(add);
|
||||
PHP_ARMA_COMPLEX_ASSIGN_OPERATOR(add);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
@ -116,7 +116,7 @@ namespace php_arma
|
|||
int sub_assign_handler(zend_execute_data *execute_data)
|
||||
{
|
||||
return op_handler(execute_data, PHP_ARMA_OP_HANDLER_FUNC {
|
||||
PHP_ARMA_COMPLEX_OPERATOR_ASSIGN(sub);
|
||||
PHP_ARMA_COMPLEX_ASSIGN_OPERATOR(sub);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
@ -135,7 +135,7 @@ namespace php_arma
|
|||
int mul_assign_handler(zend_execute_data *execute_data)
|
||||
{
|
||||
return op_handler(execute_data, PHP_ARMA_OP_HANDLER_FUNC {
|
||||
PHP_ARMA_COMPLEX_OPERATOR_ASSIGN(mul);
|
||||
PHP_ARMA_COMPLEX_ASSIGN_OPERATOR(mul);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
@ -153,7 +153,7 @@ namespace php_arma
|
|||
int div_assign_handler(zend_execute_data *execute_data)
|
||||
{
|
||||
return op_handler(execute_data, PHP_ARMA_OP_HANDLER_FUNC {
|
||||
PHP_ARMA_COMPLEX_OPERATOR_ASSIGN(div);
|
||||
PHP_ARMA_COMPLEX_ASSIGN_OPERATOR(div);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
@ -171,7 +171,7 @@ namespace php_arma
|
|||
int pow_assign_handler(zend_execute_data *execute_data)
|
||||
{
|
||||
return op_handler(execute_data, PHP_ARMA_OP_HANDLER_FUNC {
|
||||
PHP_ARMA_COMPLEX_OPERATOR_ASSIGN(pow);
|
||||
PHP_ARMA_COMPLEX_ASSIGN_OPERATOR(pow);
|
||||
|
||||
return false;
|
||||
});
|
||||
|
|
|
@ -95,7 +95,7 @@
|
|||
#define PHP_ARMA_OPERATOR_EX(cls, func) \
|
||||
PHP_ARMA_OPERATOR_EX2(cls, cls, func)
|
||||
|
||||
#define PHP_ARMA_OPERATOR_ASSIGN_EX(cls, func) \
|
||||
#define PHP_ARMA_ASSIGN_OPERATOR_EX(cls, func) \
|
||||
if (instanceof_function(ce, cls::ce)) { \
|
||||
auto v = cls::operators::func(zv1, zv2, zv1); \
|
||||
if (rv) { \
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
|
||||
namespace php_arma
|
||||
{
|
||||
#ifdef __GNUC__
|
||||
zend_always_inline
|
||||
int zval_to_fd(zval *zv)
|
||||
{
|
||||
|
@ -47,13 +48,14 @@ namespace php_arma
|
|||
} *stream_data = reinterpret_cast<decltype(stream_data)>(stream->abstract);
|
||||
return stream_data->fd;
|
||||
}
|
||||
|
||||
#else
|
||||
zend_always_inline
|
||||
void zval_to_iostream_unsupported()
|
||||
{
|
||||
zend_throw_exception(zend_ce_type_error, "Resource is not yet supported. Use file name instead, "
|
||||
"or re-compile php-armadillo with a compiler supporting GNU extensions.", 0);
|
||||
}
|
||||
#endif // __GNUC__
|
||||
}
|
||||
|
||||
#endif // !PHP_ARMA_STREAM_UTILS_HH
|
||||
|
|
Reference in New Issue
Block a user