Annotation of embedaddon/php/ext/standard/tests/math/pow.phpt, revision 1.1.1.2

1.1       misho       1: --TEST--
                      2: Various pow() tests
                      3: --FILE--
1.1.1.2 ! misho       4: <?php // $Id$
1.1       misho       5: 
                      6: define('LONG_MAX', is_int(5000000000)? 9223372036854775807 : 0x7FFFFFFF);
                      7: define('LONG_MIN', -LONG_MAX - 1);
                      8: printf("%d,%d,%d,%d\n",is_int(LONG_MIN  ),is_int(LONG_MAX  ),
                      9:                                           is_int(LONG_MIN-1),is_int(LONG_MAX+1));
                     10: 
                     11: $tests = <<<TESTS
                     12:  0.25 === pow(-2,-2)
                     13: -0.5  === pow(-2,-1)
                     14:  1    === pow(-2, 0)
                     15: -2    === pow(-2, 1)
                     16:  4    === pow(-2, 2)
                     17:  1.0  === pow(-1,-2)
                     18: -1.0  === pow(-1,-1)
                     19:  1    === pow(-1, 0)
                     20: -1    === pow(-1, 1)
                     21:  1    === pow(-1, 2)
                     22:  TRUE === is_infinite(pow(0,-2))
                     23:  TRUE === is_infinite(pow(0,-1))
                     24:  1    === pow( 0, 0)
                     25:  0    === pow( 0, 1)
                     26:  0    === pow( 0, 2)
                     27:  1.0  === pow( 1,-2)
                     28:  1.0  === pow( 1,-1)
                     29:  1    === pow( 1, 0)
                     30:  1    === pow( 1, 1)
                     31:  1    === pow( 1, 2)
                     32:  0.25 === pow( 2,-2)
                     33:  0.5  === pow( 2,-1)
                     34:  1    === pow( 2, 0)
                     35:  2    === pow( 2, 1)
                     36:  4    === pow( 2, 2)
                     37:  0.25 === pow(-2,-2.0)
                     38: -0.5  === pow(-2,-1.0)
                     39:  1.0  === pow(-2, 0.0)
                     40: -2.0  === pow(-2, 1.0)
                     41:  4.0  === pow(-2, 2.0)
                     42:  1.0  === pow(-1,-2.0)
                     43: -1.0  === pow(-1,-1.0)
                     44:  1.0  === pow(-1, 0.0)
                     45: -1.0  === pow(-1, 1.0)
                     46:  1.0  === pow(-1, 2.0)
                     47:  TRUE === is_infinite(pow(0,-2.0))
                     48:  TRUE === is_infinite(pow(0,-1.0))
                     49:  1.0  === pow( 0, 0.0)
                     50:  0.0  === pow( 0, 1.0)
                     51:  0.0  === pow( 0, 2.0)
                     52:  1.0  === pow( 1,-2.0)
                     53:  1.0  === pow( 1,-1.0)
                     54:  1.0  === pow( 1, 0.0)
                     55:  1.0  === pow( 1, 1.0)
                     56:  1.0  === pow( 1, 2.0)
                     57:  0.25 === pow( 2,-2.0)
                     58:  0.5  === pow( 2,-1.0)
                     59:  1.0  === pow( 2, 0.0)
                     60:  2.0  === pow( 2, 1.0)
                     61:  4.0  === pow( 2, 2.0)
                     62:  2147483648 === pow(2,31)
                     63: -2147483648 ~== pow(-2,31)
                     64:  1000000000 === pow(10,9)
                     65:  100000000  === pow(-10,8)
                     66:  1    === pow(-1,1443279822)
                     67: -1    === pow(-1,1443279821)
                     68: sqrt(2) ~== pow(2,1/2)
                     69:  0.25 === pow(-2.0,-2.0)
                     70: -0.5  === pow(-2.0,-1.0)
                     71:  1.0  === pow(-2.0, 0.0)
                     72: -2.0  === pow(-2.0, 1.0)
                     73:  4.0  === pow(-2.0, 2.0)
                     74:  1.0  === pow(-1.0,-2.0)
                     75: -1.0  === pow(-1.0,-1.0)
                     76:  1.0  === pow(-1.0, 0.0)
                     77: -1.0  === pow(-1.0, 1.0)
                     78:  1.0  === pow(-1.0, 2.0)
                     79:  TRUE === is_infinite(pow(0.0,-2.0))
                     80:  TRUE === is_infinite(pow(0.0,-1.0))
                     81:  1.0  === pow( 0.0, 0.0)
                     82:  0.0  === pow( 0.0, 1.0)
                     83:  0.0  === pow( 0.0, 2.0)
                     84:  1.0  === pow( 1.0,-2.0)
                     85:  1.0  === pow( 1.0,-1.0)
                     86:  1.0  === pow( 1.0, 0.0)
                     87:  1.0  === pow( 1.0, 1.0)
                     88:  1.0  === pow( 1.0, 2.0)
                     89:  0.25 === pow( 2.0,-2.0)
                     90:  0.5  === pow( 2.0,-1.0)
                     91:  1.0  === pow( 2.0, 0.0)
                     92:  2.0  === pow( 2.0, 1.0)
                     93:  4.0  === pow( 2.0, 2.0)
                     94:  0.25 === pow(-2.0,-2)
                     95: -0.5  === pow(-2.0,-1)
                     96:  1.0  === pow(-2.0, 0)
                     97: -2.0  === pow(-2.0, 1)
                     98:  4.0  === pow(-2.0, 2)
                     99:  1.0  === pow(-1.0,-2)
                    100: -1.0  === pow(-1.0,-1)
                    101:  1.0  === pow(-1.0, 0)
                    102: -1.0  === pow(-1.0, 1)
                    103:  1.0  === pow(-1.0, 2)
                    104:  TRUE === is_infinite(pow( 0.0,-2))
                    105:  TRUE === is_infinite(pow( 0.0,-1))
                    106:  1.0  === pow( 0.0, 0)
                    107:  0.0  === pow( 0.0, 1)
                    108:  0.0  === pow( 0.0, 2)
                    109:  1.0  === pow( 1.0,-2)
                    110:  1.0  === pow( 1.0,-1)
                    111:  1.0  === pow( 1.0, 0)
                    112:  1.0  === pow( 1.0, 1)
                    113:  1.0  === pow( 1.0, 2)
                    114:  0.25 === pow( 2.0,-2)
                    115:  0.5  === pow( 2.0,-1)
                    116:  1.0  === pow( 2.0, 0)
                    117:  2.0  === pow( 2.0, 1)
                    118:  4.0  === pow( 2.0, 2)
                    119:  2.0  === pow(   4, 0.5)
                    120:  2.0  === pow( 4.0, 0.5)
                    121:  3.0  === pow(  27, 1/3)
                    122:  3.0  === pow(27.0, 1/3)
                    123:  0.5  === pow(   4, -0.5)
                    124:  0.5  === pow( 4.0, -0.5)
                    125: LONG_MAX-1 === pow(LONG_MAX-1,1)
                    126: LONG_MIN+1 === pow(LONG_MIN+1,1)
                    127: (LONG_MAX-1)*(LONG_MAX-1) ~== pow(LONG_MAX-1,2)
                    128: (LONG_MIN+1)*(LONG_MIN+1) ~== pow(LONG_MIN+1,2)
                    129: (float)(LONG_MAX-1) === pow(LONG_MAX-1,1.0)
                    130: (float)(LONG_MIN+1) === pow(LONG_MIN+1,1.0)
                    131: (LONG_MAX-1)*(LONG_MAX-1) ~== pow(LONG_MAX-1,2.0)
                    132: (LONG_MIN+1)*(LONG_MIN+1) ~== pow(LONG_MIN+1,2.0)
                    133: LONG_MAX === pow(LONG_MAX,1)
                    134: LONG_MIN === pow(LONG_MIN,1)
                    135: LONG_MAX*LONG_MAX ~== pow(LONG_MAX,2)
                    136: LONG_MIN*LONG_MIN ~== pow(LONG_MIN,2)
                    137: (float)LONG_MAX === pow(LONG_MAX,1.0)
                    138: (float)LONG_MIN === pow(LONG_MIN,1.0)
                    139: LONG_MAX*LONG_MAX ~== pow(LONG_MAX,2.0)
                    140: LONG_MIN*LONG_MIN ~== pow(LONG_MIN,2.0)
                    141: TESTS;
                    142: 
                    143:  echo "On failure, please mail result to php-dev@lists.php.net\n";
                    144:  include(dirname(__FILE__) . '/../../../../tests/quicktester.inc');
                    145: 
                    146: --EXPECT--
                    147: 1,1,0,0
                    148: On failure, please mail result to php-dev@lists.php.net
                    149: OK

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>