diff options
| author | Sander Roobol <sander@php.net> | 2002-11-22 09:25:29 +0000 |
|---|---|---|
| committer | Sander Roobol <sander@php.net> | 2002-11-22 09:25:29 +0000 |
| commit | f200f739d8089ac0156ea4064696d32fff45692c (patch) | |
| tree | 5ba86c6a3ffcdd1229eb043df4515e345fe383dc /ext/bcmath/libbcmath/src/raise.c | |
| parent | 64a75d6d7714e199814a67980abdd2672c69ba07 (diff) | |
| download | php-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.c | 14 |
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 |
