dval_to_lval_64.phpt 601 B

1234567891011121314151617181920212223242526272829
  1. --TEST--
  2. zend_dval_to_lval preserves low bits (64 bit long)
  3. --SKIPIF--
  4. <?php
  5. if (PHP_INT_SIZE != 8)
  6. die("skip for machines with 64-bit longs");
  7. ?>
  8. --FILE--
  9. <?php
  10. /* test doubles around -4e21 */
  11. $values = [
  12. -4000000000000001048576.,
  13. -4000000000000000524288.,
  14. -4000000000000000000000.,
  15. -3999999999999999475712.,
  16. -3999999999999998951424.,
  17. ];
  18. foreach ($values as $v) {
  19. var_dump((int)$v);
  20. }
  21. ?>
  22. --EXPECT--
  23. int(2943463994971652096)
  24. int(2943463994972176384)
  25. int(2943463994972700672)
  26. int(2943463994973224960)
  27. int(2943463994973749248)