summaryrefslogtreecommitdiff
path: root/ext/standard/tests/math/pow_basic.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/math/pow_basic.phpt')
-rw-r--r--ext/standard/tests/math/pow_basic.phpt270
1 files changed, 270 insertions, 0 deletions
diff --git a/ext/standard/tests/math/pow_basic.phpt b/ext/standard/tests/math/pow_basic.phpt
new file mode 100644
index 0000000..b7d96ca
--- /dev/null
+++ b/ext/standard/tests/math/pow_basic.phpt
@@ -0,0 +1,270 @@
+--TEST--
+Test pow() - basic function test pow()
+--INI--
+precision=14
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
+?>
+--FILE--
+<?php
+$bases = array(23,
+ -23,
+ 23.1,
+ -23.1,
+ 2.345e1,
+ -2.345e1,
+ 0x17,
+ 027,
+ "23",
+ "23.45",
+ "2.345e1",
+ PHP_INT_MAX,
+ -PHP_INT_MAX - 1);
+
+$exponents = array(0,
+ 1,
+ -1,
+ 2,
+ -2,
+ 3,
+ -3,
+ 2.5,
+ -2.5,
+ 500,
+ -500,
+ 2147483647,
+ -2147483648);
+
+foreach($bases as $base) {
+ echo "\n\nBase = $base";
+ foreach($exponents as $exponent) {
+ echo "\n..... Exponent = $exponent Result = ";
+ $res = pow($base, $exponent);
+ echo $res;
+ }
+ echo "\n\n";
+}
+?>
+===Done===
+--EXPECT--
+Base = 23
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = 23
+..... Exponent = -1 Result = 0.043478260869565
+..... Exponent = 2 Result = 529
+..... Exponent = -2 Result = 0.001890359168242
+..... Exponent = 3 Result = 12167
+..... Exponent = -3 Result = 8.2189529053999E-5
+..... Exponent = 2.5 Result = 2536.9948758324
+..... Exponent = -2.5 Result = 0.00039416713432339
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = INF
+..... Exponent = -2147483648 Result = 0
+
+
+
+Base = -23
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = -23
+..... Exponent = -1 Result = -0.043478260869565
+..... Exponent = 2 Result = 529
+..... Exponent = -2 Result = 0.001890359168242
+..... Exponent = 3 Result = -12167
+..... Exponent = -3 Result = -8.2189529053999E-5
+..... Exponent = 2.5 Result = NAN
+..... Exponent = -2.5 Result = NAN
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = -INF
+..... Exponent = -2147483648 Result = 0
+
+
+
+Base = 23.1
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = 23.1
+..... Exponent = -1 Result = 0.043290043290043
+..... Exponent = 2 Result = 533.61
+..... Exponent = -2 Result = 0.0018740278480538
+..... Exponent = 3 Result = 12326.391
+..... Exponent = -3 Result = 8.1126746668997E-5
+..... Exponent = 2.5 Result = 2564.6608940579
+..... Exponent = -2.5 Result = 0.00038991509650141
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = INF
+..... Exponent = -2147483648 Result = 0
+
+
+
+Base = -23.1
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = -23.1
+..... Exponent = -1 Result = -0.043290043290043
+..... Exponent = 2 Result = 533.61
+..... Exponent = -2 Result = 0.0018740278480538
+..... Exponent = 3 Result = -12326.391
+..... Exponent = -3 Result = -8.1126746668997E-5
+..... Exponent = 2.5 Result = NAN
+..... Exponent = -2.5 Result = NAN
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = -INF
+..... Exponent = -2147483648 Result = 0
+
+
+
+Base = 23.45
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = 23.45
+..... Exponent = -1 Result = 0.042643923240938
+..... Exponent = 2 Result = 549.9025
+..... Exponent = -2 Result = 0.001818504189379
+..... Exponent = 3 Result = 12895.213625
+..... Exponent = -3 Result = 7.7548153065204E-5
+..... Exponent = 2.5 Result = 2662.9138571162
+..... Exponent = -2.5 Result = 0.00037552848257846
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = INF
+..... Exponent = -2147483648 Result = 0
+
+
+
+Base = -23.45
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = -23.45
+..... Exponent = -1 Result = -0.042643923240938
+..... Exponent = 2 Result = 549.9025
+..... Exponent = -2 Result = 0.001818504189379
+..... Exponent = 3 Result = -12895.213625
+..... Exponent = -3 Result = -7.7548153065204E-5
+..... Exponent = 2.5 Result = NAN
+..... Exponent = -2.5 Result = NAN
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = -INF
+..... Exponent = -2147483648 Result = 0
+
+
+
+Base = 23
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = 23
+..... Exponent = -1 Result = 0.043478260869565
+..... Exponent = 2 Result = 529
+..... Exponent = -2 Result = 0.001890359168242
+..... Exponent = 3 Result = 12167
+..... Exponent = -3 Result = 8.2189529053999E-5
+..... Exponent = 2.5 Result = 2536.9948758324
+..... Exponent = -2.5 Result = 0.00039416713432339
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = INF
+..... Exponent = -2147483648 Result = 0
+
+
+
+Base = 23
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = 23
+..... Exponent = -1 Result = 0.043478260869565
+..... Exponent = 2 Result = 529
+..... Exponent = -2 Result = 0.001890359168242
+..... Exponent = 3 Result = 12167
+..... Exponent = -3 Result = 8.2189529053999E-5
+..... Exponent = 2.5 Result = 2536.9948758324
+..... Exponent = -2.5 Result = 0.00039416713432339
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = INF
+..... Exponent = -2147483648 Result = 0
+
+
+
+Base = 23
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = 23
+..... Exponent = -1 Result = 0.043478260869565
+..... Exponent = 2 Result = 529
+..... Exponent = -2 Result = 0.001890359168242
+..... Exponent = 3 Result = 12167
+..... Exponent = -3 Result = 8.2189529053999E-5
+..... Exponent = 2.5 Result = 2536.9948758324
+..... Exponent = -2.5 Result = 0.00039416713432339
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = INF
+..... Exponent = -2147483648 Result = 0
+
+
+
+Base = 23.45
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = 23.45
+..... Exponent = -1 Result = 0.042643923240938
+..... Exponent = 2 Result = 549.9025
+..... Exponent = -2 Result = 0.001818504189379
+..... Exponent = 3 Result = 12895.213625
+..... Exponent = -3 Result = 7.7548153065204E-5
+..... Exponent = 2.5 Result = 2662.9138571162
+..... Exponent = -2.5 Result = 0.00037552848257846
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = INF
+..... Exponent = -2147483648 Result = 0
+
+
+
+Base = 2.345e1
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = 23.45
+..... Exponent = -1 Result = 0.042643923240938
+..... Exponent = 2 Result = 549.9025
+..... Exponent = -2 Result = 0.001818504189379
+..... Exponent = 3 Result = 12895.213625
+..... Exponent = -3 Result = 7.7548153065204E-5
+..... Exponent = 2.5 Result = 2662.9138571162
+..... Exponent = -2.5 Result = 0.00037552848257846
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = INF
+..... Exponent = -2147483648 Result = 0
+
+
+
+Base = 2147483647
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = 2147483647
+..... Exponent = -1 Result = 4.6566128752458E-10
+..... Exponent = 2 Result = 4.6116860141324E+18
+..... Exponent = -2 Result = 2.1684043469905E-19
+..... Exponent = 3 Result = 9.903520300448E+27
+..... Exponent = -3 Result = 1.0097419600935E-28
+..... Exponent = 2.5 Result = 2.1370991100146E+23
+..... Exponent = -2.5 Result = 4.6792401686657E-24
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = INF
+..... Exponent = -2147483648 Result = 0
+
+
+
+Base = -2147483648
+..... Exponent = 0 Result = 1
+..... Exponent = 1 Result = -2147483648
+..... Exponent = -1 Result = -4.6566128730774E-10
+..... Exponent = 2 Result = 4.6116860184274E+18
+..... Exponent = -2 Result = 2.168404344971E-19
+..... Exponent = 3 Result = -9.903520314283E+27
+..... Exponent = -3 Result = -1.0097419586829E-28
+..... Exponent = 2.5 Result = NAN
+..... Exponent = -2.5 Result = NAN
+..... Exponent = 500 Result = INF
+..... Exponent = -500 Result = 0
+..... Exponent = 2147483647 Result = -INF
+..... Exponent = -2147483648 Result = 0
+
+===Done=== \ No newline at end of file