2006-09-28 20:08:44 +08:00
|
|
|
--TEST--
|
|
|
|
testing integer overflow (64bit)
|
|
|
|
--SKIPIF--
|
|
|
|
<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
|
|
|
$doubles = array(
|
2007-12-25 02:10:20 +08:00
|
|
|
PHP_INT_MAX,
|
|
|
|
PHP_INT_MAX + 1,
|
|
|
|
PHP_INT_MAX + 1000,
|
|
|
|
PHP_INT_MAX * 2 + 4,
|
|
|
|
-PHP_INT_MAX -1,
|
|
|
|
-PHP_INT_MAX -2,
|
|
|
|
-PHP_INT_MAX -1000,
|
2006-09-28 20:08:44 +08:00
|
|
|
);
|
|
|
|
|
|
|
|
foreach ($doubles as $d) {
|
|
|
|
$l = (int)$d;
|
|
|
|
var_dump($l);
|
|
|
|
}
|
|
|
|
|
|
|
|
echo "Done\n";
|
|
|
|
?>
|
2008-05-26 22:33:44 +08:00
|
|
|
--EXPECT--
|
2007-12-25 02:10:20 +08:00
|
|
|
int(9223372036854775807)
|
2009-06-05 02:24:09 +08:00
|
|
|
int(-9223372036854775808)
|
|
|
|
int(-9223372036854775808)
|
|
|
|
int(0)
|
2006-09-28 20:08:44 +08:00
|
|
|
int(-9223372036854775808)
|
|
|
|
int(-9223372036854775808)
|
|
|
|
int(-9223372036854775808)
|
|
|
|
Done
|