1
0
mirror of https://github.com/php/php-src.git synced 2026-03-26 09:12:14 +01:00
Files
archived-php-src/ext/standard/tests/array/bug35014_64bit.phpt
Nikita Popov a939805641 Use serialize_precision for var_dump()
var_dump() is debugging functionality, so it should print
floating-point numbers accurately. We do this by switching
to serialize_precision, which (by default) will print with
as much precision as necessary to preserve the exact value
of the float.

This also affects debug_zval_dump().

Closes GH-5172.
2020-02-25 09:51:32 +01:00

33 lines
599 B
PHP

--TEST--
Bug #35014 (array_product() always returns 0) (64bit)
--SKIPIF--
<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
--INI--
precision=14
--FILE--
<?php
$tests = array(
array(),
array(0),
array(3),
array(3, 3),
array(0.5, 2),
array(99999999, 99999999),
array(8.993, 7443241,988, sprintf("%u", -1)+0.44),
array(2,sprintf("%u", -1)),
);
foreach ($tests as $v) {
var_dump(array_product($v));
}
?>
--EXPECT--
int(1)
int(0)
int(3)
int(9)
float(1)
int(9999999800000001)
float(1.219953680144986E+30)
float(3.6893488147419103E+19)