mirror of
https://github.com/fastfloat/fast_float.git
synced 2026-10-28 18:07:16 +08:00
The JSON format rejects leading zeros, which JavaScript also rejects, but it further requires digits on both sides of the decimal point, which JavaScript does not: ".5", "5." and "5.e3" are all valid DecimalLiteral productions. Users lexing JavaScript therefore could not use chars_format::json and had to re-check the integer span themselves after a general-mode parse. chars_format::javascript is general mode plus the leading-zero rule (reported as leading_zeros_in_integer_part), with no_infnan. It is a runtime check on the format, like fortran, so it reuses the existing parse_number_string<false> instantiation. A leading minus sign is accepted, and a leading plus sign with allow_leading_plus. Claude-Session: https://claude.ai/code/session_01KbAWRBpE3MPy5cXECc5vWZ
126 lines
2.0 KiB
Python
126 lines
2.0 KiB
Python
cc_test(
|
|
name = "basictest",
|
|
srcs = ["basictest.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "example_test",
|
|
srcs = ["example_test.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "example_comma_test",
|
|
srcs = ["example_comma_test.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "fast_int",
|
|
srcs = ["fast_int.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "fixedwidthtest",
|
|
srcs = ["fixedwidthtest.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "fortran",
|
|
srcs = ["fortran.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "json_fmt",
|
|
srcs = ["json_fmt.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "javascript_fmt",
|
|
srcs = ["javascript_fmt.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "long_test",
|
|
srcs = ["long_test.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "powersoffive_hardround",
|
|
srcs = ["powersoffive_hardround.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "rcppfastfloat_test",
|
|
srcs = ["rcppfastfloat_test.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "wide_char_test",
|
|
srcs = ["wide_char_test.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "supported_chars_test",
|
|
srcs = ["supported_chars_test.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "string_test",
|
|
srcs = ["string_test.cpp"],
|
|
deps = [
|
|
"//:fast_float",
|
|
"@doctest//doctest",
|
|
],
|
|
)
|