summaryrefslogtreecommitdiff
path: root/ext/bcmath/libbcmath/src/raise.c
diff options
context:
space:
mode:
authorSander Roobol <sander@php.net>2002-11-22 09:25:29 +0000
committerSander Roobol <sander@php.net>2002-11-22 09:25:29 +0000
commitf200f739d8089ac0156ea4064696d32fff45692c (patch)
tree5ba86c6a3ffcdd1229eb043df4515e345fe383dc /ext/bcmath/libbcmath/src/raise.c
parent64a75d6d7714e199814a67980abdd2672c69ba07 (diff)
downloadphp-git-f200f739d8089ac0156ea4064696d32fff45692c.tar.gz
Made bcmath extension thread safe.
@Made bcmath extension thread safe. (Sander)
Diffstat (limited to 'ext/bcmath/libbcmath/src/raise.c')
-rw-r--r--ext/bcmath/libbcmath/src/raise.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/ext/bcmath/libbcmath/src/raise.c b/ext/bcmath/libbcmath/src/raise.c
index 5f2f03c208..f2f4f4a1d7 100644
--- a/ext/bcmath/libbcmath/src/raise.c
+++ b/ext/bcmath/libbcmath/src/raise.c
@@ -44,9 +44,7 @@
only the integer part is used. */
void
-bc_raise (num1, num2, result, scale)
- bc_num num1, num2, *result;
- int scale;
+bc_raise (bc_num num1, bc_num num2, bc_num *result, int scale TSRMLS_DC)
{
bc_num temp, power;
long exponent;
@@ -66,7 +64,7 @@ bc_raise (num1, num2, result, scale)
if (exponent == 0)
{
bc_free_num (result);
- *result = bc_copy_num (_one_);
+ *result = bc_copy_num (BCG(_one_));
return;
}
@@ -89,7 +87,7 @@ bc_raise (num1, num2, result, scale)
while ((exponent & 1) == 0)
{
pwrscale = 2*pwrscale;
- bc_multiply (power, power, &power, pwrscale);
+ bc_multiply (power, power, &power, pwrscale TSRMLS_CC);
exponent = exponent >> 1;
}
temp = bc_copy_num (power);
@@ -100,10 +98,10 @@ bc_raise (num1, num2, result, scale)
while (exponent > 0)
{
pwrscale = 2*pwrscale;
- bc_multiply (power, power, &power, pwrscale);
+ bc_multiply (power, power, &power, pwrscale TSRMLS_CC);
if ((exponent & 1) == 1) {
calcscale = pwrscale + calcscale;
- bc_multiply (temp, power, &temp, calcscale);
+ bc_multiply (temp, power, &temp, calcscale TSRMLS_CC);
}
exponent = exponent >> 1;
}
@@ -111,7 +109,7 @@ bc_raise (num1, num2, result, scale)
/* Assign the value. */
if (neg)
{
- bc_divide (_one_, temp, result, rscale);
+ bc_divide (BCG(_one_), temp, result, rscale TSRMLS_CC);
bc_free_num (&temp);
}
else