summaryrefslogtreecommitdiff
path: root/ext/bcmath
diff options
context:
space:
mode:
authorEvan Klinger <evan@php.net>1999-12-21 06:11:52 +0000
committerEvan Klinger <evan@php.net>1999-12-21 06:11:52 +0000
commit8306501e48f7c58a0ada05abe306107252b8a8cc (patch)
tree002996f0d259c6be3c7ddced89dbd0e23740a589 /ext/bcmath
parent06ab44337f0f8e5ef0900a25c0c03d1efe8ed22a (diff)
downloadphp-git-8306501e48f7c58a0ada05abe306107252b8a8cc.tar.gz
Ex API
Diffstat (limited to 'ext/bcmath')
-rw-r--r--ext/bcmath/bcmath.c142
1 files changed, 71 insertions, 71 deletions
diff --git a/ext/bcmath/bcmath.c b/ext/bcmath/bcmath.c
index 46215d4385..acffa0ea66 100644
--- a/ext/bcmath/bcmath.c
+++ b/ext/bcmath/bcmath.c
@@ -67,34 +67,34 @@ PHP_RSHUTDOWN_FUNCTION(bcmath)
Returns the sum of two arbitrary precision numbers */
PHP_FUNCTION(bcadd)
{
- pval *left, *right,*scale_param;
+ pval **left, **right,**scale_param;
bc_num first, second, result;
int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 2:
- if (zend_get_parameters(ht, 2, &left, &right) == FAILURE) {
+ if (zend_get_parameters_ex(2, &left,&right) == FAILURE) {
WRONG_PARAM_COUNT;
}
break;
case 3:
- if (zend_get_parameters(ht, 3, &left, &right, &scale_param) == FAILURE) {
+ if (zend_get_parameters_ex(3, &left,&right, &scale_param) == FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_long(scale_param);
- scale = (int) scale_param->value.lval;
+ convert_to_long_ex(scale_param);
+ scale = (int) (*scale_param)->value.lval;
break;
default:
WRONG_PARAM_COUNT;
break;
}
- convert_to_string(left);
- convert_to_string(right);
+ convert_to_string_ex(left);
+ convert_to_string_ex(right);
init_num(&first);
init_num(&second);
init_num(&result);
- str2num(&first,left->value.str.val,scale);
- str2num(&second,right->value.str.val,scale);
+ str2num(&first,(*left)->value.str.val,scale);
+ str2num(&second,(*right)->value.str.val,scale);
bc_add (first,second,&result, scale);
return_value->value.str.val = num2str(result);
return_value->value.str.len = strlen(return_value->value.str.val);
@@ -110,34 +110,34 @@ PHP_FUNCTION(bcadd)
Returns the difference between two arbitrary precision numbers (subtration) */
PHP_FUNCTION(bcsub)
{
- pval *left, *right,*scale_param;
+ pval **left, **right,**scale_param;
bc_num first, second, result;
int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 2:
- if (zend_get_parameters(ht, 2, &left, &right) == FAILURE) {
+ if (zend_get_parameters_ex(2, &left,&right) == FAILURE) {
WRONG_PARAM_COUNT;
}
break;
case 3:
- if (zend_get_parameters(ht, 3, &left, &right, &scale_param) == FAILURE) {
+ if (zend_get_parameters_ex(3, &left,&right, &scale_param) == FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_long(scale_param);
- scale = (int) scale_param->value.lval;
+ convert_to_long_ex(scale_param);
+ scale = (int) (*scale_param)->value.lval;
break;
default:
WRONG_PARAM_COUNT;
break;
}
- convert_to_string(left);
- convert_to_string(right);
+ convert_to_string_ex(left);
+ convert_to_string_ex(right);
init_num(&first);
init_num(&second);
init_num(&result);
- str2num(&first,left->value.str.val,scale);
- str2num(&second,right->value.str.val,scale);
+ str2num(&first,(*left)->value.str.val,scale);
+ str2num(&second,(*right)->value.str.val,scale);
bc_sub (first,second,&result, scale);
return_value->value.str.val = num2str(result);
return_value->value.str.len = strlen(return_value->value.str.val);
@@ -153,34 +153,34 @@ PHP_FUNCTION(bcsub)
Returns the multiplication of two arbitrary precision numbers */
PHP_FUNCTION(bcmul)
{
- pval *left, *right,*scale_param;
+ pval **left, **right,**scale_param;
bc_num first, second, result;
int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 2:
- if (zend_get_parameters(ht, 2, &left, &right) == FAILURE) {
+ if (zend_get_parameters_ex(2, &left,&right) == FAILURE) {
WRONG_PARAM_COUNT;
}
break;
case 3:
- if (zend_get_parameters(ht, 3, &left, &right, &scale_param) == FAILURE) {
+ if (zend_get_parameters_ex(3, &left,&right, &scale_param) == FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_long(scale_param);
- scale = (int) scale_param->value.lval;
+ convert_to_long_ex(scale_param);
+ scale = (int) (*scale_param)->value.lval;
break;
default:
WRONG_PARAM_COUNT;
break;
}
- convert_to_string(left);
- convert_to_string(right);
+ convert_to_string_ex(left);
+ convert_to_string_ex(right);
init_num(&first);
init_num(&second);
init_num(&result);
- str2num(&first,left->value.str.val,scale);
- str2num(&second,right->value.str.val,scale);
+ str2num(&first,(*left)->value.str.val,scale);
+ str2num(&second,(*right)->value.str.val,scale);
bc_multiply (first,second,&result, scale);
return_value->value.str.val = num2str(result);
return_value->value.str.len = strlen(return_value->value.str.val);
@@ -196,34 +196,34 @@ PHP_FUNCTION(bcmul)
Returns the quotient of two arbitrary precision numbers (division) */
PHP_FUNCTION(bcdiv)
{
- pval *left, *right,*scale_param;
+ pval **left, **right,**scale_param;
bc_num first, second, result;
int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 2:
- if (zend_get_parameters(ht, 2, &left, &right) == FAILURE) {
+ if (zend_get_parameters_ex(2, &left,&right) == FAILURE) {
WRONG_PARAM_COUNT;
}
break;
case 3:
- if (zend_get_parameters(ht, 3, &left, &right, &scale_param) == FAILURE) {
+ if (zend_get_parameters_ex(3, &left,&right, &scale_param) == FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_long(scale_param);
- scale = (int) scale_param->value.lval;
+ convert_to_long_ex(scale_param);
+ scale = (int) (*scale_param)->value.lval;
break;
default:
WRONG_PARAM_COUNT;
break;
}
- convert_to_string(left);
- convert_to_string(right);
+ convert_to_string_ex(left);
+ convert_to_string_ex(right);
init_num(&first);
init_num(&second);
init_num(&result);
- str2num(&first,left->value.str.val,scale);
- str2num(&second,right->value.str.val,scale);
+ str2num(&first,(*left)->value.str.val,scale);
+ str2num(&second,(*right)->value.str.val,scale);
switch (bc_divide (first,second,&result, scale)) {
case 0: /* OK */
return_value->value.str.val = num2str(result);
@@ -245,12 +245,12 @@ PHP_FUNCTION(bcdiv)
Returns the modulus of the two arbitrary precision operands */
PHP_FUNCTION(bcmod)
{
- pval *left, *right;
+ pval **left, **right;
bc_num first, second, result;
switch (ARG_COUNT(ht)) {
case 2:
- if (zend_get_parameters(ht, 2, &left, &right) == FAILURE) {
+ if (zend_get_parameters_ex(2, &left,&right) == FAILURE) {
WRONG_PARAM_COUNT;
}
break;
@@ -258,13 +258,13 @@ PHP_FUNCTION(bcmod)
WRONG_PARAM_COUNT;
break;
}
- convert_to_string(left);
- convert_to_string(right);
+ convert_to_string_ex(left);
+ convert_to_string_ex(right);
init_num(&first);
init_num(&second);
init_num(&result);
- str2num(&first,left->value.str.val,0);
- str2num(&second,right->value.str.val,0);
+ str2num(&first,(*left)->value.str.val,0);
+ str2num(&second,(*right)->value.str.val,0);
switch (bc_modulo(first,second,&result, 0)) {
case 0:
return_value->value.str.val = num2str(result);
@@ -286,34 +286,34 @@ PHP_FUNCTION(bcmod)
Returns the value of an arbitrary precision number raised to the power of another */
PHP_FUNCTION(bcpow)
{
- pval *left, *right,*scale_param;
+ pval **left, **right,**scale_param;
bc_num first, second, result;
int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 2:
- if (zend_get_parameters(ht, 2, &left, &right) == FAILURE) {
+ if (zend_get_parameters_ex(2, &left,&right) == FAILURE) {
WRONG_PARAM_COUNT;
}
break;
case 3:
- if (zend_get_parameters(ht, 3, &left, &right, &scale_param) == FAILURE) {
+ if (zend_get_parameters_ex(3, &left,&right, &scale_param) == FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_long(scale_param);
- scale = (int) scale_param->value.lval;
+ convert_to_long_ex(scale_param);
+ scale = (int) (*scale_param)->value.lval;
break;
default:
WRONG_PARAM_COUNT;
break;
}
- convert_to_string(left);
- convert_to_string(right);
+ convert_to_string_ex(left);
+ convert_to_string_ex(right);
init_num(&first);
init_num(&second);
init_num(&result);
- str2num(&first,left->value.str.val,scale);
- str2num(&second,right->value.str.val,scale);
+ str2num(&first,(*left)->value.str.val,scale);
+ str2num(&second,(*right)->value.str.val,scale);
bc_raise (first,second,&result, scale);
return_value->value.str.val = num2str(result);
return_value->value.str.len = strlen(return_value->value.str.val);
@@ -329,30 +329,30 @@ PHP_FUNCTION(bcpow)
Returns the square root of an arbitray precision number */
PHP_FUNCTION(bcsqrt)
{
- pval *left,*scale_param;
+ pval **left,**scale_param;
bc_num result;
int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 1:
- if (zend_get_parameters(ht, 1, &left) == FAILURE) {
+ if (zend_get_parameters_ex(1, &left)== FAILURE) {
WRONG_PARAM_COUNT;
}
break;
case 2:
- if (zend_get_parameters(ht, 2, &left, &scale_param) == FAILURE) {
+ if (zend_get_parameters_ex(2, &left,&scale_param) == FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_long(scale_param);
- scale = (int) scale_param->value.lval;
+ convert_to_long_ex(scale_param);
+ scale = (int) (*scale_param)->value.lval;
break;
default:
WRONG_PARAM_COUNT;
break;
}
- convert_to_string(left);
+ convert_to_string_ex(left);
init_num(&result);
- str2num(&result,left->value.str.val,scale);
+ str2num(&result,(*left)->value.str.val,scale);
if (bc_sqrt (&result, scale) != 0) {
return_value->value.str.val = num2str(result);
return_value->value.str.len = strlen(return_value->value.str.val);
@@ -369,35 +369,35 @@ PHP_FUNCTION(bcsqrt)
Compares two arbitrary precision numbers */
PHP_FUNCTION(bccomp)
{
- pval *left, *right, *scale_param;
+ pval **left, **right, **scale_param;
bc_num first, second;
int scale=bc_precision;
switch (ARG_COUNT(ht)) {
case 2:
- if (zend_get_parameters(ht, 2, &left, &right) == FAILURE) {
+ if (zend_get_parameters_ex(2, &left,&right) == FAILURE) {
WRONG_PARAM_COUNT;
}
break;
case 3:
- if (zend_get_parameters(ht, 3, &left, &right, &scale_param) == FAILURE) {
+ if (zend_get_parameters_ex(3, &left,&right, &scale_param) == FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_long(scale_param);
- scale = (int) scale_param->value.lval;
+ convert_to_long_ex(scale_param);
+ scale = (int) (*scale_param)->value.lval;
break;
default:
WRONG_PARAM_COUNT;
break;
}
- convert_to_string(left);
- convert_to_string(right);
+ convert_to_string_ex(left);
+ convert_to_string_ex(right);
init_num(&first);
init_num(&second);
- str2num(&first,left->value.str.val,scale);
- str2num(&second,right->value.str.val,scale);
+ str2num(&first,(*left)->value.str.val,scale);
+ str2num(&second,(*right)->value.str.val,scale);
return_value->value.lval = bc_compare(first,second);
return_value->type = IS_LONG;
@@ -411,14 +411,14 @@ PHP_FUNCTION(bccomp)
Sets default scale parameter for all bc math functions */
PHP_FUNCTION(bcscale)
{
- pval *new_scale;
+ pval **new_scale;
- if (ARG_COUNT(ht)!=1 || zend_get_parameters(ht, 1, &new_scale)==FAILURE) {
+ if (ARG_COUNT(ht)!=1 || zend_get_parameters_ex(1,&new_scale)==FAILURE) {
WRONG_PARAM_COUNT;
}
- convert_to_long(new_scale);
- bc_precision = new_scale->value.lval;
+ convert_to_long_ex(new_scale);
+ bc_precision = (*new_scale)->value.lval;
RETURN_TRUE;
}
/* }}} */