add `isZero()`
This commit is contained in:
parent
c7c04e5e65
commit
565b533be5
24
src/base.cc
24
src/base.cc
|
@ -110,7 +110,7 @@ namespace php_arma
|
|||
Z_PARAM_ZVAL(new_value)
|
||||
ZEND_PARSE_PARAMETERS_END();
|
||||
|
||||
if (UNEXPECTED(!zval_check_scalar<T>(old_value) || !zval_check_scalar<T>(new_value) )) {
|
||||
if (!zval_check_scalar<T>(old_value) || !zval_check_scalar<T>(new_value)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -233,6 +233,27 @@ namespace php_arma
|
|||
RETVAL_BOOL(native->is_finite());
|
||||
}
|
||||
|
||||
template <typename T, typename T1>
|
||||
PHP_ARMA_METHOD(base, isZero, T, T1)
|
||||
{
|
||||
zval *tol = nullptr;
|
||||
ZEND_PARSE_PARAMETERS_START(0, 1)
|
||||
Z_PARAM_OPTIONAL
|
||||
Z_PARAM_ZVAL(tol)
|
||||
ZEND_PARSE_PARAMETERS_END();
|
||||
|
||||
auto native = THIS_NATIVE;
|
||||
if (tol == nullptr) {
|
||||
RETURN_BOOL(native->is_zero());
|
||||
}
|
||||
|
||||
using base_t = typename arma::get_pod_type<T>::result;
|
||||
if (!zval_check_scalar<base_t>(tol)) {
|
||||
return;
|
||||
}
|
||||
RETVAL_BOOL(native->is_zero(zval_get_scalar<base_t>(tol)));
|
||||
}
|
||||
|
||||
template <typename T, typename T1>
|
||||
PHP_ARMA_METHOD(base, hasInf, T, T1)
|
||||
{
|
||||
|
@ -328,6 +349,7 @@ namespace php_arma
|
|||
PHP_ARMA_ME(indexMax, ZEND_ACC_PUBLIC)
|
||||
PHP_ARMA_ME(isEmpty, ZEND_ACC_PUBLIC)
|
||||
PHP_ARMA_ME(isFinite, ZEND_ACC_PUBLIC)
|
||||
PHP_ARMA_ME(isZero, ZEND_ACC_PUBLIC)
|
||||
PHP_ARMA_ME(hasInf, ZEND_ACC_PUBLIC)
|
||||
PHP_ARMA_ME(hasNan, ZEND_ACC_PUBLIC)
|
||||
PHP_ARMA_ME(print, ZEND_ACC_PUBLIC)
|
||||
|
|
|
@ -149,6 +149,7 @@ namespace php_arma
|
|||
static PHP_FUNCTION(indexMax);
|
||||
static PHP_FUNCTION(isEmpty);
|
||||
static PHP_FUNCTION(isFinite);
|
||||
static PHP_FUNCTION(isZero);
|
||||
static PHP_FUNCTION(hasInf);
|
||||
static PHP_FUNCTION(hasNan);
|
||||
static PHP_FUNCTION(print);
|
||||
|
|
Reference in New Issue