Return to pow.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / math |
1.1 misho 1: --TEST-- 2: Various pow() tests 3: --FILE-- 4: <?php // $Id: pow.phpt 242949 2007-09-26 15:44:16Z cvs2svn $ 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