zend_signed_multiply-64bit-2.phpt 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. --TEST--
  2. Zend signed multiply 64-bit, variation 2
  3. --SKIPIF--
  4. <?php if ((1 << 31) < 0) print "skip Running on 32-bit target"; ?>
  5. --FILE--
  6. <?php
  7. for($c = -16; $c < 0; $c++) {
  8. var_dump($c, intdiv(PHP_INT_MIN, 10), intdiv(PHP_INT_MIN, 10) * $c);
  9. echo "-----------\n";
  10. }
  11. for($c = 0; $c <= 16; $c++) {
  12. var_dump($c, intdiv(PHP_INT_MAX, 10), intdiv(PHP_INT_MAX, 10) * $c);
  13. echo "-----------\n";
  14. }
  15. ?>
  16. --EXPECT--
  17. int(-16)
  18. int(-922337203685477580)
  19. float(1.4757395258967642E+19)
  20. -----------
  21. int(-15)
  22. int(-922337203685477580)
  23. float(1.3835058055282164E+19)
  24. -----------
  25. int(-14)
  26. int(-922337203685477580)
  27. float(1.2912720851596687E+19)
  28. -----------
  29. int(-13)
  30. int(-922337203685477580)
  31. float(1.1990383647911209E+19)
  32. -----------
  33. int(-12)
  34. int(-922337203685477580)
  35. float(1.1068046444225733E+19)
  36. -----------
  37. int(-11)
  38. int(-922337203685477580)
  39. float(1.0145709240540254E+19)
  40. -----------
  41. int(-10)
  42. int(-922337203685477580)
  43. int(9223372036854775800)
  44. -----------
  45. int(-9)
  46. int(-922337203685477580)
  47. int(8301034833169298220)
  48. -----------
  49. int(-8)
  50. int(-922337203685477580)
  51. int(7378697629483820640)
  52. -----------
  53. int(-7)
  54. int(-922337203685477580)
  55. int(6456360425798343060)
  56. -----------
  57. int(-6)
  58. int(-922337203685477580)
  59. int(5534023222112865480)
  60. -----------
  61. int(-5)
  62. int(-922337203685477580)
  63. int(4611686018427387900)
  64. -----------
  65. int(-4)
  66. int(-922337203685477580)
  67. int(3689348814741910320)
  68. -----------
  69. int(-3)
  70. int(-922337203685477580)
  71. int(2767011611056432740)
  72. -----------
  73. int(-2)
  74. int(-922337203685477580)
  75. int(1844674407370955160)
  76. -----------
  77. int(-1)
  78. int(-922337203685477580)
  79. int(922337203685477580)
  80. -----------
  81. int(0)
  82. int(922337203685477580)
  83. int(0)
  84. -----------
  85. int(1)
  86. int(922337203685477580)
  87. int(922337203685477580)
  88. -----------
  89. int(2)
  90. int(922337203685477580)
  91. int(1844674407370955160)
  92. -----------
  93. int(3)
  94. int(922337203685477580)
  95. int(2767011611056432740)
  96. -----------
  97. int(4)
  98. int(922337203685477580)
  99. int(3689348814741910320)
  100. -----------
  101. int(5)
  102. int(922337203685477580)
  103. int(4611686018427387900)
  104. -----------
  105. int(6)
  106. int(922337203685477580)
  107. int(5534023222112865480)
  108. -----------
  109. int(7)
  110. int(922337203685477580)
  111. int(6456360425798343060)
  112. -----------
  113. int(8)
  114. int(922337203685477580)
  115. int(7378697629483820640)
  116. -----------
  117. int(9)
  118. int(922337203685477580)
  119. int(8301034833169298220)
  120. -----------
  121. int(10)
  122. int(922337203685477580)
  123. int(9223372036854775800)
  124. -----------
  125. int(11)
  126. int(922337203685477580)
  127. float(1.0145709240540254E+19)
  128. -----------
  129. int(12)
  130. int(922337203685477580)
  131. float(1.1068046444225733E+19)
  132. -----------
  133. int(13)
  134. int(922337203685477580)
  135. float(1.1990383647911209E+19)
  136. -----------
  137. int(14)
  138. int(922337203685477580)
  139. float(1.2912720851596687E+19)
  140. -----------
  141. int(15)
  142. int(922337203685477580)
  143. float(1.3835058055282164E+19)
  144. -----------
  145. int(16)
  146. int(922337203685477580)
  147. float(1.4757395258967642E+19)
  148. -----------