Return to pow_basiclong_64bit.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / math |
1.1 misho 1: --TEST-- 2: Test pow function : 64bit long tests 3: --SKIPIF-- 4: <?php 5: if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); 6: ?> 7: --FILE-- 8: <?php 9: 10: define("MAX_64Bit", 9223372036854775807); 11: define("MAX_32Bit", 2147483647); 12: define("MIN_64Bit", -9223372036854775807 - 1); 13: define("MIN_32Bit", -2147483647 - 1); 14: 15: $longVals = array( 16: MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit, 17: MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1, 18: MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1 19: ); 20: 21: $otherVals = array(0, 1, -1, 7, 9, 65, -44, MAX_32Bit, MIN_32Bit, MAX_64Bit, MIN_64Bit); 22: 23: 24: foreach ($longVals as $longVal) { 25: foreach($otherVals as $otherVal) { 26: echo "--- testing: $longVal, $otherVal ---\n"; 27: var_dump(pow($longVal, $otherVal)); 28: } 29: } 30: 31: ?> 32: ===DONE=== 33: --EXPECT-- 34: --- testing: 9223372036854775807, 0 --- 35: int(1) 36: --- testing: 9223372036854775807, 1 --- 37: int(9223372036854775807) 38: --- testing: 9223372036854775807, -1 --- 39: float(1.0842021724855E-19) 40: --- testing: 9223372036854775807, 7 --- 41: float(5.6784275335594E+132) 42: --- testing: 9223372036854775807, 9 --- 43: float(4.8306719037716E+170) 44: --- testing: 9223372036854775807, 65 --- 45: float(INF) 46: --- testing: 9223372036854775807, -44 --- 47: float(0) 48: --- testing: 9223372036854775807, 2147483647 --- 49: float(INF) 50: --- testing: 9223372036854775807, -2147483648 --- 51: float(0) 52: --- testing: 9223372036854775807, 9223372036854775807 --- 53: float(INF) 54: --- testing: 9223372036854775807, -9223372036854775808 --- 55: float(0) 56: --- testing: -9223372036854775808, 0 --- 57: int(1) 58: --- testing: -9223372036854775808, 1 --- 59: int(-9223372036854775808) 60: --- testing: -9223372036854775808, -1 --- 61: float(-1.0842021724855E-19) 62: --- testing: -9223372036854775808, 7 --- 63: float(-5.6784275335594E+132) 64: --- testing: -9223372036854775808, 9 --- 65: float(-4.8306719037716E+170) 66: --- testing: -9223372036854775808, 65 --- 67: float(-INF) 68: --- testing: -9223372036854775808, -44 --- 69: float(0) 70: --- testing: -9223372036854775808, 2147483647 --- 71: float(-INF) 72: --- testing: -9223372036854775808, -2147483648 --- 73: float(0) 74: --- testing: -9223372036854775808, 9223372036854775807 --- 75: float(-INF) 76: --- testing: -9223372036854775808, -9223372036854775808 --- 77: float(0) 78: --- testing: 2147483647, 0 --- 79: int(1) 80: --- testing: 2147483647, 1 --- 81: int(2147483647) 82: --- testing: 2147483647, -1 --- 83: float(4.6566128752458E-10) 84: --- testing: 2147483647, 7 --- 85: float(2.1062458265056E+65) 86: --- testing: 2147483647, 9 --- 87: float(9.7133444204205E+83) 88: --- testing: 2147483647, 65 --- 89: float(INF) 90: --- testing: 2147483647, -44 --- 91: float(0) 92: --- testing: 2147483647, 2147483647 --- 93: float(INF) 94: --- testing: 2147483647, -2147483648 --- 95: float(0) 96: --- testing: 2147483647, 9223372036854775807 --- 97: float(INF) 98: --- testing: 2147483647, -9223372036854775808 --- 99: float(0) 100: --- testing: -2147483648, 0 --- 101: int(1) 102: --- testing: -2147483648, 1 --- 103: int(-2147483648) 104: --- testing: -2147483648, -1 --- 105: float(-4.6566128730774E-10) 106: --- testing: -2147483648, 7 --- 107: float(-2.1062458333711E+65) 108: --- testing: -2147483648, 9 --- 109: float(-9.7133444611286E+83) 110: --- testing: -2147483648, 65 --- 111: float(-INF) 112: --- testing: -2147483648, -44 --- 113: float(0) 114: --- testing: -2147483648, 2147483647 --- 115: float(-INF) 116: --- testing: -2147483648, -2147483648 --- 117: float(0) 118: --- testing: -2147483648, 9223372036854775807 --- 119: float(-INF) 120: --- testing: -2147483648, -9223372036854775808 --- 121: float(0) 122: --- testing: 9223372034707292160, 0 --- 123: int(1) 124: --- testing: 9223372034707292160, 1 --- 125: int(9223372034707292160) 126: --- testing: 9223372034707292160, -1 --- 127: float(1.0842021727379E-19) 128: --- testing: 9223372034707292160, 7 --- 129: float(5.6784275243046E+132) 130: --- testing: 9223372034707292160, 9 --- 131: float(4.830671893649E+170) 132: --- testing: 9223372034707292160, 65 --- 133: float(INF) 134: --- testing: 9223372034707292160, -44 --- 135: float(0) 136: --- testing: 9223372034707292160, 2147483647 --- 137: float(INF) 138: --- testing: 9223372034707292160, -2147483648 --- 139: float(0) 140: --- testing: 9223372034707292160, 9223372036854775807 --- 141: float(INF) 142: --- testing: 9223372034707292160, -9223372036854775808 --- 143: float(0) 144: --- testing: -9223372034707292160, 0 --- 145: int(1) 146: --- testing: -9223372034707292160, 1 --- 147: int(-9223372034707292160) 148: --- testing: -9223372034707292160, -1 --- 149: float(-1.0842021727379E-19) 150: --- testing: -9223372034707292160, 7 --- 151: float(-5.6784275243046E+132) 152: --- testing: -9223372034707292160, 9 --- 153: float(-4.830671893649E+170) 154: --- testing: -9223372034707292160, 65 --- 155: float(-INF) 156: --- testing: -9223372034707292160, -44 --- 157: float(0) 158: --- testing: -9223372034707292160, 2147483647 --- 159: float(-INF) 160: --- testing: -9223372034707292160, -2147483648 --- 161: float(0) 162: --- testing: -9223372034707292160, 9223372036854775807 --- 163: float(-INF) 164: --- testing: -9223372034707292160, -9223372036854775808 --- 165: float(0) 166: --- testing: 2147483648, 0 --- 167: int(1) 168: --- testing: 2147483648, 1 --- 169: int(2147483648) 170: --- testing: 2147483648, -1 --- 171: float(4.6566128730774E-10) 172: --- testing: 2147483648, 7 --- 173: float(2.1062458333711E+65) 174: --- testing: 2147483648, 9 --- 175: float(9.7133444611286E+83) 176: --- testing: 2147483648, 65 --- 177: float(INF) 178: --- testing: 2147483648, -44 --- 179: float(0) 180: --- testing: 2147483648, 2147483647 --- 181: float(INF) 182: --- testing: 2147483648, -2147483648 --- 183: float(0) 184: --- testing: 2147483648, 9223372036854775807 --- 185: float(INF) 186: --- testing: 2147483648, -9223372036854775808 --- 187: float(0) 188: --- testing: -2147483649, 0 --- 189: int(1) 190: --- testing: -2147483649, 1 --- 191: int(-2147483649) 192: --- testing: -2147483649, -1 --- 193: float(-4.656612870909E-10) 194: --- testing: -2147483649, 7 --- 195: float(-2.1062458402367E+65) 196: --- testing: -2147483649, 9 --- 197: float(-9.7133445018368E+83) 198: --- testing: -2147483649, 65 --- 199: float(-INF) 200: --- testing: -2147483649, -44 --- 201: float(0) 202: --- testing: -2147483649, 2147483647 --- 203: float(-INF) 204: --- testing: -2147483649, -2147483648 --- 205: float(0) 206: --- testing: -2147483649, 9223372036854775807 --- 207: float(-INF) 208: --- testing: -2147483649, -9223372036854775808 --- 209: float(0) 210: --- testing: 4294967294, 0 --- 211: int(1) 212: --- testing: 4294967294, 1 --- 213: int(4294967294) 214: --- testing: 4294967294, -1 --- 215: float(2.3283064376229E-10) 216: --- testing: 4294967294, 7 --- 217: float(2.6959946579271E+67) 218: --- testing: 4294967294, 9 --- 219: float(4.9732323432553E+86) 220: --- testing: 4294967294, 65 --- 221: float(INF) 222: --- testing: 4294967294, -44 --- 223: float(0) 224: --- testing: 4294967294, 2147483647 --- 225: float(INF) 226: --- testing: 4294967294, -2147483648 --- 227: float(0) 228: --- testing: 4294967294, 9223372036854775807 --- 229: float(INF) 230: --- testing: 4294967294, -9223372036854775808 --- 231: float(0) 232: --- testing: 4294967295, 0 --- 233: int(1) 234: --- testing: 4294967295, 1 --- 235: int(4294967295) 236: --- testing: 4294967295, -1 --- 237: float(2.3283064370808E-10) 238: --- testing: 4294967295, 7 --- 239: float(2.6959946623211E+67) 240: --- testing: 4294967295, 9 --- 241: float(4.9732323536766E+86) 242: --- testing: 4294967295, 65 --- 243: float(INF) 244: --- testing: 4294967295, -44 --- 245: float(0) 246: --- testing: 4294967295, 2147483647 --- 247: float(INF) 248: --- testing: 4294967295, -2147483648 --- 249: float(0) 250: --- testing: 4294967295, 9223372036854775807 --- 251: float(INF) 252: --- testing: 4294967295, -9223372036854775808 --- 253: float(0) 254: --- testing: 4294967293, 0 --- 255: int(1) 256: --- testing: 4294967293, 1 --- 257: int(4294967293) 258: --- testing: 4294967293, -1 --- 259: float(2.328306438165E-10) 260: --- testing: 4294967293, 7 --- 261: float(2.6959946535332E+67) 262: --- testing: 4294967293, 9 --- 263: float(4.973232332834E+86) 264: --- testing: 4294967293, 65 --- 265: float(INF) 266: --- testing: 4294967293, -44 --- 267: float(0) 268: --- testing: 4294967293, 2147483647 --- 269: float(INF) 270: --- testing: 4294967293, -2147483648 --- 271: float(0) 272: --- testing: 4294967293, 9223372036854775807 --- 273: float(INF) 274: --- testing: 4294967293, -9223372036854775808 --- 275: float(0) 276: --- testing: 9223372036854775806, 0 --- 277: int(1) 278: --- testing: 9223372036854775806, 1 --- 279: int(9223372036854775806) 280: --- testing: 9223372036854775806, -1 --- 281: float(1.0842021724855E-19) 282: --- testing: 9223372036854775806, 7 --- 283: float(5.6784275335594E+132) 284: --- testing: 9223372036854775806, 9 --- 285: float(4.8306719037716E+170) 286: --- testing: 9223372036854775806, 65 --- 287: float(INF) 288: --- testing: 9223372036854775806, -44 --- 289: float(0) 290: --- testing: 9223372036854775806, 2147483647 --- 291: float(INF) 292: --- testing: 9223372036854775806, -2147483648 --- 293: float(0) 294: --- testing: 9223372036854775806, 9223372036854775807 --- 295: float(INF) 296: --- testing: 9223372036854775806, -9223372036854775808 --- 297: float(0) 298: --- testing: 9.2233720368548E+18, 0 --- 299: float(1) 300: --- testing: 9.2233720368548E+18, 1 --- 301: float(9.2233720368548E+18) 302: --- testing: 9.2233720368548E+18, -1 --- 303: float(1.0842021724855E-19) 304: --- testing: 9.2233720368548E+18, 7 --- 305: float(5.6784275335594E+132) 306: --- testing: 9.2233720368548E+18, 9 --- 307: float(4.8306719037716E+170) 308: --- testing: 9.2233720368548E+18, 65 --- 309: float(INF) 310: --- testing: 9.2233720368548E+18, -44 --- 311: float(0) 312: --- testing: 9.2233720368548E+18, 2147483647 --- 313: float(INF) 314: --- testing: 9.2233720368548E+18, -2147483648 --- 315: float(0) 316: --- testing: 9.2233720368548E+18, 9223372036854775807 --- 317: float(INF) 318: --- testing: 9.2233720368548E+18, -9223372036854775808 --- 319: float(0) 320: --- testing: -9223372036854775807, 0 --- 321: int(1) 322: --- testing: -9223372036854775807, 1 --- 323: int(-9223372036854775807) 324: --- testing: -9223372036854775807, -1 --- 325: float(-1.0842021724855E-19) 326: --- testing: -9223372036854775807, 7 --- 327: float(-5.6784275335594E+132) 328: --- testing: -9223372036854775807, 9 --- 329: float(-4.8306719037716E+170) 330: --- testing: -9223372036854775807, 65 --- 331: float(-INF) 332: --- testing: -9223372036854775807, -44 --- 333: float(0) 334: --- testing: -9223372036854775807, 2147483647 --- 335: float(-INF) 336: --- testing: -9223372036854775807, -2147483648 --- 337: float(0) 338: --- testing: -9223372036854775807, 9223372036854775807 --- 339: float(-INF) 340: --- testing: -9223372036854775807, -9223372036854775808 --- 341: float(0) 342: --- testing: -9.2233720368548E+18, 0 --- 343: float(1) 344: --- testing: -9.2233720368548E+18, 1 --- 345: float(-9.2233720368548E+18) 346: --- testing: -9.2233720368548E+18, -1 --- 347: float(-1.0842021724855E-19) 348: --- testing: -9.2233720368548E+18, 7 --- 349: float(-5.6784275335594E+132) 350: --- testing: -9.2233720368548E+18, 9 --- 351: float(-4.8306719037716E+170) 352: --- testing: -9.2233720368548E+18, 65 --- 353: float(-INF) 354: --- testing: -9.2233720368548E+18, -44 --- 355: float(0) 356: --- testing: -9.2233720368548E+18, 2147483647 --- 357: float(-INF) 358: --- testing: -9.2233720368548E+18, -2147483648 --- 359: float(0) 360: --- testing: -9.2233720368548E+18, 9223372036854775807 --- 361: float(INF) 362: --- testing: -9.2233720368548E+18, -9223372036854775808 --- 363: float(0) 364: ===DONE===