123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- --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";
- }
- ?>
- --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
|