Return to abs_basiclong_64bit.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / math |
1.1 misho 1: --TEST-- 2: Test abs 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: 22: foreach ($longVals as $longVal) { 23: echo "--- testing: $longVal ---\n"; 24: var_dump(abs($longVal)); 25: } 26: 27: ?> 28: ===DONE=== 29: --EXPECT-- 30: --- testing: 9223372036854775807 --- 31: int(9223372036854775807) 32: --- testing: -9223372036854775808 --- 33: float(9.2233720368548E+18) 34: --- testing: 2147483647 --- 35: int(2147483647) 36: --- testing: -2147483648 --- 37: int(2147483648) 38: --- testing: 9223372034707292160 --- 39: int(9223372034707292160) 40: --- testing: -9223372034707292160 --- 41: int(9223372034707292160) 42: --- testing: 2147483648 --- 43: int(2147483648) 44: --- testing: -2147483649 --- 45: int(2147483649) 46: --- testing: 4294967294 --- 47: int(4294967294) 48: --- testing: 4294967295 --- 49: int(4294967295) 50: --- testing: 4294967293 --- 51: int(4294967293) 52: --- testing: 9223372036854775806 --- 53: int(9223372036854775806) 54: --- testing: 9.2233720368548E+18 --- 55: float(9.2233720368548E+18) 56: --- testing: -9223372036854775807 --- 57: int(9223372036854775807) 58: --- testing: -9.2233720368548E+18 --- 59: float(9.2233720368548E+18) 60: ===DONE===