Return to pow_basic.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / math |
1.1 misho 1: --TEST-- 2: Test pow() - basic function test pow() 3: --INI-- 4: precision=14 5: --SKIPIF-- 6: <?php 7: if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); 8: ?> 9: --FILE-- 10: <?php 11: $bases = array(23, 12: -23, 13: 23.1, 14: -23.1, 15: 2.345e1, 16: -2.345e1, 17: 0x17, 18: 027, 19: "23", 20: "23.45", 21: "2.345e1", 22: PHP_INT_MAX, 23: -PHP_INT_MAX - 1); 24: 25: $exponents = array(0, 26: 1, 27: -1, 28: 2, 29: -2, 30: 3, 31: -3, 32: 2.5, 33: -2.5, 34: 500, 35: -500, 36: 2147483647, 37: -2147483648); 38: 39: foreach($bases as $base) { 40: echo "\n\nBase = $base"; 41: foreach($exponents as $exponent) { 42: echo "\n..... Exponent = $exponent Result = "; 43: $res = pow($base, $exponent); 44: echo $res; 45: } 46: echo "\n\n"; 47: } 48: ?> 49: ===Done=== 50: --EXPECT-- 51: Base = 23 52: ..... Exponent = 0 Result = 1 53: ..... Exponent = 1 Result = 23 54: ..... Exponent = -1 Result = 0.043478260869565 55: ..... Exponent = 2 Result = 529 56: ..... Exponent = -2 Result = 0.001890359168242 57: ..... Exponent = 3 Result = 12167 58: ..... Exponent = -3 Result = 8.2189529053999E-5 59: ..... Exponent = 2.5 Result = 2536.9948758324 60: ..... Exponent = -2.5 Result = 0.00039416713432339 61: ..... Exponent = 500 Result = INF 62: ..... Exponent = -500 Result = 0 63: ..... Exponent = 2147483647 Result = INF 64: ..... Exponent = -2147483648 Result = 0 65: 66: 67: 68: Base = -23 69: ..... Exponent = 0 Result = 1 70: ..... Exponent = 1 Result = -23 71: ..... Exponent = -1 Result = -0.043478260869565 72: ..... Exponent = 2 Result = 529 73: ..... Exponent = -2 Result = 0.001890359168242 74: ..... Exponent = 3 Result = -12167 75: ..... Exponent = -3 Result = -8.2189529053999E-5 76: ..... Exponent = 2.5 Result = NAN 77: ..... Exponent = -2.5 Result = NAN 78: ..... Exponent = 500 Result = INF 79: ..... Exponent = -500 Result = 0 80: ..... Exponent = 2147483647 Result = -INF 81: ..... Exponent = -2147483648 Result = 0 82: 83: 84: 85: Base = 23.1 86: ..... Exponent = 0 Result = 1 87: ..... Exponent = 1 Result = 23.1 88: ..... Exponent = -1 Result = 0.043290043290043 89: ..... Exponent = 2 Result = 533.61 90: ..... Exponent = -2 Result = 0.0018740278480538 91: ..... Exponent = 3 Result = 12326.391 92: ..... Exponent = -3 Result = 8.1126746668997E-5 93: ..... Exponent = 2.5 Result = 2564.6608940579 94: ..... Exponent = -2.5 Result = 0.00038991509650141 95: ..... Exponent = 500 Result = INF 96: ..... Exponent = -500 Result = 0 97: ..... Exponent = 2147483647 Result = INF 98: ..... Exponent = -2147483648 Result = 0 99: 100: 101: 102: Base = -23.1 103: ..... Exponent = 0 Result = 1 104: ..... Exponent = 1 Result = -23.1 105: ..... Exponent = -1 Result = -0.043290043290043 106: ..... Exponent = 2 Result = 533.61 107: ..... Exponent = -2 Result = 0.0018740278480538 108: ..... Exponent = 3 Result = -12326.391 109: ..... Exponent = -3 Result = -8.1126746668997E-5 110: ..... Exponent = 2.5 Result = NAN 111: ..... Exponent = -2.5 Result = NAN 112: ..... Exponent = 500 Result = INF 113: ..... Exponent = -500 Result = 0 114: ..... Exponent = 2147483647 Result = -INF 115: ..... Exponent = -2147483648 Result = 0 116: 117: 118: 119: Base = 23.45 120: ..... Exponent = 0 Result = 1 121: ..... Exponent = 1 Result = 23.45 122: ..... Exponent = -1 Result = 0.042643923240938 123: ..... Exponent = 2 Result = 549.9025 124: ..... Exponent = -2 Result = 0.001818504189379 125: ..... Exponent = 3 Result = 12895.213625 126: ..... Exponent = -3 Result = 7.7548153065204E-5 127: ..... Exponent = 2.5 Result = 2662.9138571162 128: ..... Exponent = -2.5 Result = 0.00037552848257846 129: ..... Exponent = 500 Result = INF 130: ..... Exponent = -500 Result = 0 131: ..... Exponent = 2147483647 Result = INF 132: ..... Exponent = -2147483648 Result = 0 133: 134: 135: 136: Base = -23.45 137: ..... Exponent = 0 Result = 1 138: ..... Exponent = 1 Result = -23.45 139: ..... Exponent = -1 Result = -0.042643923240938 140: ..... Exponent = 2 Result = 549.9025 141: ..... Exponent = -2 Result = 0.001818504189379 142: ..... Exponent = 3 Result = -12895.213625 143: ..... Exponent = -3 Result = -7.7548153065204E-5 144: ..... Exponent = 2.5 Result = NAN 145: ..... Exponent = -2.5 Result = NAN 146: ..... Exponent = 500 Result = INF 147: ..... Exponent = -500 Result = 0 148: ..... Exponent = 2147483647 Result = -INF 149: ..... Exponent = -2147483648 Result = 0 150: 151: 152: 153: Base = 23 154: ..... Exponent = 0 Result = 1 155: ..... Exponent = 1 Result = 23 156: ..... Exponent = -1 Result = 0.043478260869565 157: ..... Exponent = 2 Result = 529 158: ..... Exponent = -2 Result = 0.001890359168242 159: ..... Exponent = 3 Result = 12167 160: ..... Exponent = -3 Result = 8.2189529053999E-5 161: ..... Exponent = 2.5 Result = 2536.9948758324 162: ..... Exponent = -2.5 Result = 0.00039416713432339 163: ..... Exponent = 500 Result = INF 164: ..... Exponent = -500 Result = 0 165: ..... Exponent = 2147483647 Result = INF 166: ..... Exponent = -2147483648 Result = 0 167: 168: 169: 170: Base = 23 171: ..... Exponent = 0 Result = 1 172: ..... Exponent = 1 Result = 23 173: ..... Exponent = -1 Result = 0.043478260869565 174: ..... Exponent = 2 Result = 529 175: ..... Exponent = -2 Result = 0.001890359168242 176: ..... Exponent = 3 Result = 12167 177: ..... Exponent = -3 Result = 8.2189529053999E-5 178: ..... Exponent = 2.5 Result = 2536.9948758324 179: ..... Exponent = -2.5 Result = 0.00039416713432339 180: ..... Exponent = 500 Result = INF 181: ..... Exponent = -500 Result = 0 182: ..... Exponent = 2147483647 Result = INF 183: ..... Exponent = -2147483648 Result = 0 184: 185: 186: 187: Base = 23 188: ..... Exponent = 0 Result = 1 189: ..... Exponent = 1 Result = 23 190: ..... Exponent = -1 Result = 0.043478260869565 191: ..... Exponent = 2 Result = 529 192: ..... Exponent = -2 Result = 0.001890359168242 193: ..... Exponent = 3 Result = 12167 194: ..... Exponent = -3 Result = 8.2189529053999E-5 195: ..... Exponent = 2.5 Result = 2536.9948758324 196: ..... Exponent = -2.5 Result = 0.00039416713432339 197: ..... Exponent = 500 Result = INF 198: ..... Exponent = -500 Result = 0 199: ..... Exponent = 2147483647 Result = INF 200: ..... Exponent = -2147483648 Result = 0 201: 202: 203: 204: Base = 23.45 205: ..... Exponent = 0 Result = 1 206: ..... Exponent = 1 Result = 23.45 207: ..... Exponent = -1 Result = 0.042643923240938 208: ..... Exponent = 2 Result = 549.9025 209: ..... Exponent = -2 Result = 0.001818504189379 210: ..... Exponent = 3 Result = 12895.213625 211: ..... Exponent = -3 Result = 7.7548153065204E-5 212: ..... Exponent = 2.5 Result = 2662.9138571162 213: ..... Exponent = -2.5 Result = 0.00037552848257846 214: ..... Exponent = 500 Result = INF 215: ..... Exponent = -500 Result = 0 216: ..... Exponent = 2147483647 Result = INF 217: ..... Exponent = -2147483648 Result = 0 218: 219: 220: 221: Base = 2.345e1 222: ..... Exponent = 0 Result = 1 223: ..... Exponent = 1 Result = 23.45 224: ..... Exponent = -1 Result = 0.042643923240938 225: ..... Exponent = 2 Result = 549.9025 226: ..... Exponent = -2 Result = 0.001818504189379 227: ..... Exponent = 3 Result = 12895.213625 228: ..... Exponent = -3 Result = 7.7548153065204E-5 229: ..... Exponent = 2.5 Result = 2662.9138571162 230: ..... Exponent = -2.5 Result = 0.00037552848257846 231: ..... Exponent = 500 Result = INF 232: ..... Exponent = -500 Result = 0 233: ..... Exponent = 2147483647 Result = INF 234: ..... Exponent = -2147483648 Result = 0 235: 236: 237: 238: Base = 2147483647 239: ..... Exponent = 0 Result = 1 240: ..... Exponent = 1 Result = 2147483647 241: ..... Exponent = -1 Result = 4.6566128752458E-10 242: ..... Exponent = 2 Result = 4.6116860141324E+18 243: ..... Exponent = -2 Result = 2.1684043469905E-19 244: ..... Exponent = 3 Result = 9.903520300448E+27 245: ..... Exponent = -3 Result = 1.0097419600935E-28 246: ..... Exponent = 2.5 Result = 2.1370991100146E+23 247: ..... Exponent = -2.5 Result = 4.6792401686657E-24 248: ..... Exponent = 500 Result = INF 249: ..... Exponent = -500 Result = 0 250: ..... Exponent = 2147483647 Result = INF 251: ..... Exponent = -2147483648 Result = 0 252: 253: 254: 255: Base = -2147483648 256: ..... Exponent = 0 Result = 1 257: ..... Exponent = 1 Result = -2147483648 258: ..... Exponent = -1 Result = -4.6566128730774E-10 259: ..... Exponent = 2 Result = 4.6116860184274E+18 260: ..... Exponent = -2 Result = 2.168404344971E-19 261: ..... Exponent = 3 Result = -9.903520314283E+27 262: ..... Exponent = -3 Result = -1.0097419586829E-28 263: ..... Exponent = 2.5 Result = NAN 264: ..... Exponent = -2.5 Result = NAN 265: ..... Exponent = 500 Result = INF 266: ..... Exponent = -500 Result = 0 267: ..... Exponent = 2147483647 Result = -INF 268: ..... Exponent = -2147483648 Result = 0 269: 270: ===Done===