HedgehogInTheCPP
7ad87515ad
I'm not sure why plus here should be ignored. But OK. Biodegradable test code:
...
auto answer = fast_float::parse_number_string<true>(
f.data(), f.data() + f.size(),
fast_float::parse_options(
fast_float::chars_format::json |
fast_float::chars_format::allow_leading_plus)); // should be ignored
if (!answer.invalid) {
std::cerr << "json parse accepted invalid json " << f << std::endl;
return EXIT_FAILURE;
}
2026-09-19 23:14:01 +03:00
HedgehogInTheCPP
d577161969
additional cleanup, more unlikely and likely. Fix JSON related errors. Speedup JSON parsing if errors.
2026-09-19 23:01:11 +03:00
HedgehogInTheCPP
d633ecb297
Fix JSON parsing error.
...
Remove FASTFLOAT_CONSTEXPR17 from json_fmt because it's a template parameter.
2026-09-19 21:11:26 +03:00
HedgehogInTheCPP
5f6c3c8df9
More optimized code especially if FASTFLOAT_ISNOT_CHECKED_BOUNDS or FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN defined.
...
Cleanup in many parsing parts.
Fix an error in JSON parsing.
2026-09-19 20:29:11 +03:00
HedgehogInTheCPP
a4d1a08732
tests
2026-09-19 00:58:34 +03:00
HedgehogInTheCPP
b8392a5ada
unfck
2026-09-19 00:37:11 +03:00
HedgehogInTheCPP
8c8d69ecc1
unfck.
2026-09-18 23:58:50 +03:00
HedgehogInTheCPP
71b0109af3
tests unfck.
2026-09-18 22:37:36 +03:00
HedgehogInTheCPP
af9f2b8dc2
unfck
2026-09-18 22:25:08 +03:00
HedgehogInTheCPP
c8894d3722
Cleanup for code near merged code: compiler generate much better code in any mode without manual unroling because it's less branching and also it's allow more inlining which is better.
...
Merge branch 'main' of https://github.com/fastfloat/fast_float
2026-09-18 22:08:56 +03:00
HedgehogInTheCPP
016e7817be
additional optimization of fraction reading for char. It's slow patch with really big numbers, so allow CPU to process it efficiently!
2026-09-16 23:27:23 +03:00
Daniel Lemire
b0ab987b3d
Version 8.3.0
v8.3.0
2026-09-15 11:03:18 -04:00
Daniel Lemire
3254622f74
Add chars_format::javascript_sloppy (Annex B NonOctalDecimalIntegerLiteral)
...
chars_format::javascript follows the strict-mode grammar, which rejects
any leading zero. In sloppy mode, JavaScript also accepts a leading zero
when one of the digits is 8 or 9 ("08.5" is 8.5, Annex B's
NonOctalDecimalIntegerLiteral). A leading zero followed only by octal
digits is a LegacyOctalIntegerLiteral ("0775"), which is not a decimal
number: it is rejected with the new parse_error::legacy_octal_integer_part
so the caller can parse it in base 8.
javascript_sloppy sets one extra bit on top of javascript, and the check
lives inside the existing runtime JavaScript branch of
parse_number_string<false>, so the general path is unchanged. An
interleaved A/B with realbenchmark on canada.txt and mesh.txt (ASCII and
UTF-16, 32/64-bit) shows identical instructions per float and cycles
within noise.
Document both formats in the README.
2026-09-15 10:52:49 -04:00
Daniel Lemire
e0e355c073
Merge pull request #407 from fastfloat/javascript-format
...
Add chars_format::javascript (ECMAScript DecimalLiteral)
2026-09-15 10:44:07 -04:00
Daniel Lemire
4fcb7e3249
Fix clang-format 17 on FASTFLOAT_ASSERT macros
2026-09-14 20:46:52 -04:00
Daniel Lemire
f837a78057
Add chars_format::javascript (ECMAScript DecimalLiteral)
...
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
2026-09-14 19:36:49 -04:00
HedgehogInTheCPP
fa8c3a711a
lint
2026-09-04 04:20:34 +03:00
HedgehogInTheCPP
52aef56385
Remove Codecov badge from README
...
Removed Codecov badge from README.md.
2026-09-04 03:09:23 +03:00
HedgehogInTheCPP
15ab8caa1f
reduce data cache pressure.
2026-09-04 03:08:31 +03:00
HedgehogInTheCPP
42abbcbb34
lint unfck.
2026-08-29 17:52:00 +03:00
HedgehogInTheCPP
9b3d9f7b1a
add fastfloat_noinline from https://github.com/fastfloat/fast_float/pull/403 my fork don't need any additional from this PR because it's already simd optimized more strictly.
2026-08-29 17:33:00 +03:00
HedgehogInTheCPP
c1b6fa94ad
Upgrade sanitize and amalgamate workflow to the Ubuntu latest, it's better!
2026-08-26 01:44:40 +03:00
HedgehogInTheCPP
428c9bff9c
Only disable assume for GCC.
2026-08-26 01:36:23 +03:00
HedgehogInTheCPP
dcde904e68
temporary disable FASTFLOAT_ASSUME because of GCC bug
2026-08-26 01:31:10 +03:00
HedgehogInTheCPP
68fb90ecba
temporary disable FASTFLOAT_ASSUME because of GCC bug.
2026-08-26 01:28:25 +03:00
HedgehogInTheCPP
667a022fe3
macroses usage fix
2026-08-26 01:18:12 +03:00
HedgehogInTheCPP
2da851d329
Improvements detection of features, part 18
2026-08-26 00:07:37 +03:00
HedgehogInTheCPP
914bd880ee
lint unfck.
2026-08-25 23:01:12 +03:00
HedgehogInTheCPP
72f7acda15
Improvements detection of features, part 17
2026-08-25 23:00:11 +03:00
HedgehogInTheCPP
aa1e774889
Improvements detection of features, part 16, FASTFLOAT_NO_UNIQUE_ADDRESS
2026-08-25 22:58:06 +03:00
HedgehogInTheCPP
870fc1a720
Improvements detection of features, part 15, added FASTFLOAT_NO_UNIQUE_ADDRESS and improves more.
2026-08-25 22:54:57 +03:00
HedgehogInTheCPP
9b65f41bbf
Merge branch 'main' of https://github.com/IRainman/fast_float
2026-08-25 04:51:51 +03:00
HedgehogInTheCPP
5a27789501
add optimization from https://github.com/fastfloat/fast_float/pull/402
2026-08-25 04:51:45 +03:00
HedgehogInTheCPP
1338287923
Merge pull request #25 from IRainman/dependabot/github_actions/github-actions-5c183d6ffa
...
Bump actions/setup-node from 6.4.0 to 7.0.0 in the github-actions group
2026-08-25 04:41:28 +03:00
dependabot[bot]
35ef53ba39
Bump actions/setup-node from 6.4.0 to 7.0.0 in the github-actions group
...
Bumps the github-actions group with 1 update: [actions/setup-node](https://github.com/actions/setup-node ).
Updates `actions/setup-node` from 6.4.0 to 7.0.0
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](48b55a011b...8207627860 )
---
updated-dependencies:
- dependency-name: actions/setup-node
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-08-24 02:15:18 +00:00
HedgehogInTheCPP
73f4d844a8
typo fixed.
2026-08-22 23:10:03 +03:00
HedgehogInTheCPP
0c20204350
compilation fix.
2026-08-22 23:03:39 +03:00
HedgehogInTheCPP
c4d3cda888
compilation fix.
2026-08-22 22:59:28 +03:00
HedgehogInTheCPP
4750e3d5e3
compilation fix.
2026-08-22 22:53:55 +03:00
HedgehogInTheCPP
207069edcd
FASTFLOAT_ASSUME and Clang related crutches cleanup.
2026-08-22 22:14:00 +03:00
HedgehogInTheCPP
bc1316970c
More cleanup by FASTFLOAT_ONLY_ROUNDS_TO_NEAREST_SUPPORTED.
2026-08-22 21:46:25 +03:00
HedgehogInTheCPP
24093f4152
crystalline shit of mammoth has been deleted
2026-08-22 00:17:36 +03:00
HedgehogInTheCPP
8e1725a7fb
Ubuntu - говно мамонта.
2026-08-22 00:15:11 +03:00
HedgehogInTheCPP
7a66d0b6f5
Improvements detection of features, part 13. Don't explicitly enable constexpr tests for old compilers, that not fully support consteval because it's not fully support basic C++20 constexpr. Added 2 additional modern configuration.
2026-08-22 00:02:34 +03:00
HedgehogInTheCPP
e6d98ff43d
Ubuntu 22 clang update to 15 because it's fixed many C++20 compatibility problems.
2026-08-21 23:36:42 +03:00
HedgehogInTheCPP
99cd7156a6
fix for ancient standard.
2026-08-21 23:25:55 +03:00
HedgehogInTheCPP
677cfe8425
Improvements detection of features, part 12.
2026-08-21 23:10:50 +03:00
HedgehogInTheCPP
57cb772715
final cleanup for full / 128 bit multiplication: constexpr fix, нахуй старые говны мамонтов.
2026-08-21 22:33:56 +03:00
HedgehogInTheCPP
4304876284
Improvements detection of features, part 11.
2026-08-21 22:23:59 +03:00
HedgehogInTheCPP
8cbb0944f3
Improvements detection of features, part 10.
2026-08-21 22:14:05 +03:00