mirror of
https://github.com/php/php-src.git
synced 2024-11-23 18:04:36 +08:00
Fixed Bug 64760 var_export() does not use full precision for floating-point numbers
This commit is contained in:
parent
69808d698c
commit
4dc4302a30
@ -784,15 +784,15 @@ string(20) "array (
|
|||||||
Iteration 13
|
Iteration 13
|
||||||
array (
|
array (
|
||||||
0 => 10.5,
|
0 => 10.5,
|
||||||
1 => 5.6,
|
1 => 5.5999999999999996,
|
||||||
)
|
)
|
||||||
array (
|
array (
|
||||||
0 => 10.5,
|
0 => 10.5,
|
||||||
1 => 5.6,
|
1 => 5.5999999999999996,
|
||||||
)
|
)
|
||||||
string(34) "array (
|
string(49) "array (
|
||||||
0 => 10.5,
|
0 => 10.5,
|
||||||
1 => 5.6,
|
1 => 5.5999999999999996,
|
||||||
)"
|
)"
|
||||||
|
|
||||||
|
|
||||||
|
@ -96,9 +96,9 @@ string(1) "0"
|
|||||||
|
|
||||||
|
|
||||||
-- Iteration: -0.1 --
|
-- Iteration: -0.1 --
|
||||||
-0.1
|
-0.10000000000000001
|
||||||
-0.1
|
-0.10000000000000001
|
||||||
string(4) "-0.1"
|
string(20) "-0.10000000000000001"
|
||||||
|
|
||||||
|
|
||||||
-- Iteration: 10.0000000000000000005 --
|
-- Iteration: 10.0000000000000000005 --
|
||||||
@ -120,9 +120,9 @@ string(6) "100000"
|
|||||||
|
|
||||||
|
|
||||||
-- Iteration: 1e-5 --
|
-- Iteration: 1e-5 --
|
||||||
1.0E-5
|
1.0000000000000001E-5
|
||||||
1.0E-5
|
1.0000000000000001E-5
|
||||||
string(6) "1.0E-5"
|
string(21) "1.0000000000000001E-5"
|
||||||
|
|
||||||
|
|
||||||
-- Iteration: 1e+5 --
|
-- Iteration: 1e+5 --
|
||||||
@ -144,9 +144,9 @@ string(6) "100000"
|
|||||||
|
|
||||||
|
|
||||||
-- Iteration: 1E-5 --
|
-- Iteration: 1E-5 --
|
||||||
1.0E-5
|
1.0000000000000001E-5
|
||||||
1.0E-5
|
1.0000000000000001E-5
|
||||||
string(6) "1.0E-5"
|
string(21) "1.0000000000000001E-5"
|
||||||
|
|
||||||
|
|
||||||
-- Iteration: .5e+7 --
|
-- Iteration: .5e+7 --
|
||||||
@ -156,20 +156,20 @@ string(7) "5000000"
|
|||||||
|
|
||||||
|
|
||||||
-- Iteration: .6e-19 --
|
-- Iteration: .6e-19 --
|
||||||
6.0E-20
|
6.0000000000000006E-20
|
||||||
6.0E-20
|
6.0000000000000006E-20
|
||||||
string(7) "6.0E-20"
|
string(22) "6.0000000000000006E-20"
|
||||||
|
|
||||||
|
|
||||||
-- Iteration: .05E+44 --
|
-- Iteration: .05E+44 --
|
||||||
5.0E+42
|
5.0000000000000001E+42
|
||||||
5.0E+42
|
5.0000000000000001E+42
|
||||||
string(7) "5.0E+42"
|
string(22) "5.0000000000000001E+42"
|
||||||
|
|
||||||
|
|
||||||
-- Iteration: .0034E-30 --
|
-- Iteration: .0034E-30 --
|
||||||
3.4E-33
|
3.4000000000000001E-33
|
||||||
3.4E-33
|
3.4000000000000001E-33
|
||||||
string(7) "3.4E-33"
|
string(22) "3.4000000000000001E-33"
|
||||||
|
|
||||||
===DONE===
|
===DONE===
|
||||||
|
@ -233,15 +233,15 @@ string(20) "array (
|
|||||||
--Iteration: array(10.5, 5.6) --
|
--Iteration: array(10.5, 5.6) --
|
||||||
array (
|
array (
|
||||||
0 => 10.5,
|
0 => 10.5,
|
||||||
1 => 5.6,
|
1 => 5.5999999999999996,
|
||||||
)
|
)
|
||||||
array (
|
array (
|
||||||
0 => 10.5,
|
0 => 10.5,
|
||||||
1 => 5.6,
|
1 => 5.5999999999999996,
|
||||||
)
|
)
|
||||||
string(34) "array (
|
string(49) "array (
|
||||||
0 => 10.5,
|
0 => 10.5,
|
||||||
1 => 5.6,
|
1 => 5.5999999999999996,
|
||||||
)"
|
)"
|
||||||
|
|
||||||
|
|
||||||
@ -274,4 +274,4 @@ string(41) "array (
|
|||||||
1 => 'test',
|
1 => 'test',
|
||||||
)"
|
)"
|
||||||
|
|
||||||
===DONE===
|
===DONE===
|
||||||
|
@ -436,7 +436,7 @@ PHPAPI void php_var_export_ex(zval **struc, int level, smart_str *buf TSRMLS_DC)
|
|||||||
smart_str_append_long(buf, Z_LVAL_PP(struc));
|
smart_str_append_long(buf, Z_LVAL_PP(struc));
|
||||||
break;
|
break;
|
||||||
case IS_DOUBLE:
|
case IS_DOUBLE:
|
||||||
tmp_len = spprintf(&tmp_str, 0,"%.*H", (int) EG(precision), Z_DVAL_PP(struc));
|
tmp_len = spprintf(&tmp_str, 0,"%.*H", PG(serialize_precision), Z_DVAL_PP(struc));
|
||||||
smart_str_appendl(buf, tmp_str, tmp_len);
|
smart_str_appendl(buf, tmp_str, tmp_len);
|
||||||
efree(tmp_str);
|
efree(tmp_str);
|
||||||
break;
|
break;
|
||||||
|
@ -36,22 +36,22 @@ test(1.7e-1000);
|
|||||||
===DONE===
|
===DONE===
|
||||||
<?php exit(0); ?>
|
<?php exit(0); ?>
|
||||||
--EXPECTF--
|
--EXPECTF--
|
||||||
1.7E+300
|
1.7000000000000001E+300
|
||||||
float(1.7E+300)
|
float(1.7E+300)
|
||||||
1.7E+300
|
1.7E+300
|
||||||
1.7E+300
|
1.7E+300
|
||||||
------
|
------
|
||||||
1.7E-300
|
1.7000000000000001E-300
|
||||||
float(1.7E-300)
|
float(1.7E-300)
|
||||||
1.7E-300
|
1.7E-300
|
||||||
1.7E-300
|
1.7E-300
|
||||||
------
|
------
|
||||||
1.7E+79
|
1.7000000000000002E+79
|
||||||
float(1.7E+79)
|
float(1.7E+79)
|
||||||
1.7E+79
|
1.7E+79
|
||||||
1.7E+79
|
1.7E+79
|
||||||
------
|
------
|
||||||
1.7E-79
|
1.6999999999999999E-79
|
||||||
float(1.7E-79)
|
float(1.7E-79)
|
||||||
1.7E-79
|
1.7E-79
|
||||||
1.7E-79
|
1.7E-79
|
||||||
@ -71,7 +71,7 @@ float(1.7E+81)
|
|||||||
1.7E+81
|
1.7E+81
|
||||||
1.7E+81
|
1.7E+81
|
||||||
------
|
------
|
||||||
1.7E-81
|
1.6999999999999999E-81
|
||||||
float(1.7E-81)
|
float(1.7E-81)
|
||||||
1.7E-81
|
1.7E-81
|
||||||
1.7E-81
|
1.7E-81
|
||||||
@ -81,7 +81,7 @@ float(I%s)
|
|||||||
I%s
|
I%s
|
||||||
I%s
|
I%s
|
||||||
------
|
------
|
||||||
1.69998107421E-319
|
1.6999810742105611E-319
|
||||||
float(1.69998107421E-319)
|
float(1.69998107421E-319)
|
||||||
1.69998107421E-319
|
1.69998107421E-319
|
||||||
1.69998107421E-319
|
1.69998107421E-319
|
||||||
@ -91,7 +91,7 @@ float(I%s)
|
|||||||
I%s
|
I%s
|
||||||
I%s
|
I%s
|
||||||
------
|
------
|
||||||
1.70007988734E-320
|
1.7000798873397294E-320
|
||||||
float(1.70007988734E-320)
|
float(1.70007988734E-320)
|
||||||
1.70007988734E-320
|
1.70007988734E-320
|
||||||
1.70007988734E-320
|
1.70007988734E-320
|
||||||
@ -101,7 +101,7 @@ float(I%s)
|
|||||||
I%s
|
I%s
|
||||||
I%s
|
I%s
|
||||||
------
|
------
|
||||||
1.69958582169E-321
|
1.6995858216938881E-321
|
||||||
float(1.69958582169E-321)
|
float(1.69958582169E-321)
|
||||||
1.69958582169E-321
|
1.69958582169E-321
|
||||||
1.69958582169E-321
|
1.69958582169E-321
|
||||||
|
Loading…
Reference in New Issue
Block a user