postdec_basiclong_64bit.phpt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. --TEST--
  2. Test N-- operator : 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. define("MAX_64Bit", 9223372036854775807);
  10. define("MAX_32Bit", 2147483647);
  11. define("MIN_64Bit", -9223372036854775807 - 1);
  12. define("MIN_32Bit", -2147483647 - 1);
  13. $longVals = array(
  14. MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
  15. MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
  16. MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1
  17. );
  18. foreach ($longVals as $longVal) {
  19. echo "--- testing: $longVal ---\n";
  20. $longVal--;
  21. var_dump($longVal);
  22. }
  23. ?>
  24. ===DONE===
  25. --EXPECT--
  26. --- testing: 9223372036854775807 ---
  27. int(9223372036854775806)
  28. --- testing: -9223372036854775808 ---
  29. float(-9.2233720368548E+18)
  30. --- testing: 2147483647 ---
  31. int(2147483646)
  32. --- testing: -2147483648 ---
  33. int(-2147483649)
  34. --- testing: 9223372034707292160 ---
  35. int(9223372034707292159)
  36. --- testing: -9223372034707292160 ---
  37. int(-9223372034707292161)
  38. --- testing: 2147483648 ---
  39. int(2147483647)
  40. --- testing: -2147483649 ---
  41. int(-2147483650)
  42. --- testing: 4294967294 ---
  43. int(4294967293)
  44. --- testing: 4294967295 ---
  45. int(4294967294)
  46. --- testing: 4294967293 ---
  47. int(4294967292)
  48. --- testing: 9223372036854775806 ---
  49. int(9223372036854775805)
  50. --- testing: 9.2233720368548E+18 ---
  51. float(9.2233720368548E+18)
  52. --- testing: -9223372036854775807 ---
  53. int(-9223372036854775808)
  54. --- testing: -9.2233720368548E+18 ---
  55. float(-9.2233720368548E+18)
  56. ===DONE===