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)
|
Z_PARAM_ZVAL(new_value)
|
||||||
ZEND_PARSE_PARAMETERS_END();
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -233,6 +233,27 @@ namespace php_arma
|
||||||
RETVAL_BOOL(native->is_finite());
|
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>
|
template <typename T, typename T1>
|
||||||
PHP_ARMA_METHOD(base, hasInf, T, 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(indexMax, ZEND_ACC_PUBLIC)
|
||||||
PHP_ARMA_ME(isEmpty, ZEND_ACC_PUBLIC)
|
PHP_ARMA_ME(isEmpty, ZEND_ACC_PUBLIC)
|
||||||
PHP_ARMA_ME(isFinite, 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(hasInf, ZEND_ACC_PUBLIC)
|
||||||
PHP_ARMA_ME(hasNan, ZEND_ACC_PUBLIC)
|
PHP_ARMA_ME(hasNan, ZEND_ACC_PUBLIC)
|
||||||
PHP_ARMA_ME(print, ZEND_ACC_PUBLIC)
|
PHP_ARMA_ME(print, ZEND_ACC_PUBLIC)
|
||||||
|
|
|
@ -149,6 +149,7 @@ namespace php_arma
|
||||||
static PHP_FUNCTION(indexMax);
|
static PHP_FUNCTION(indexMax);
|
||||||
static PHP_FUNCTION(isEmpty);
|
static PHP_FUNCTION(isEmpty);
|
||||||
static PHP_FUNCTION(isFinite);
|
static PHP_FUNCTION(isFinite);
|
||||||
|
static PHP_FUNCTION(isZero);
|
||||||
static PHP_FUNCTION(hasInf);
|
static PHP_FUNCTION(hasInf);
|
||||||
static PHP_FUNCTION(hasNan);
|
static PHP_FUNCTION(hasNan);
|
||||||
static PHP_FUNCTION(print);
|
static PHP_FUNCTION(print);
|
||||||
|
|
Reference in New Issue