This website requires JavaScript.
Explore
Help
Register
Sign In
outman
/
jsoncpp
Watch
1
Star
0
Fork
0
You've already forked jsoncpp
Code
Issues
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
1bda7f9af1
jsoncpp
/
test
/
data
/
legacy_test_real_13.json
2 lines
20 B
JSON
Raw
Normal View
History
Unescape
Escape
Parse large floats as infinity (#1349) (#1353) Return 1.9.1 functionality where values too large to fit in double are converted to positive or negative infinity. Commit 645cd04 changed functionality so that large floats cause parse error, while version 1.9.1 accepted them as infinite. This is problematic because writer outputs infinity values as `1e+9999`, which could no longer be parsed back. Fixed also legacy Reader even though it did not parse large values even before breaking change, due to problematic output/parse asymmetry. `>>` operator sets value to numeric_limits::max/lowest value if representation is too large to fit to double. [1][2] In macos value appears to be parsed to infinity. > | value in *val* | description | > |--------------------------|-------------| > | numeric_limits::max() | The sequence represents a value too large for the type of val | > | numeric_limits::lowest() | The sequence represents a value too large negative for the type of val | [1] https://www.cplusplus.com/reference/istream/istream/operator%3E%3E/ [2] https://www.cplusplus.com/reference/locale/num_get/get/ Signed-off-by: Tero Kinnunen <tero.kinnunen@vaisala.com> Co-authored-by: Tero Kinnunen <tero.kinnunen@vaisala.com>
2021-12-15 10:00:28 +08:00
[
-1e+9999
,
1e+9999
]
Reference in New Issue
Copy Permalink