1565 Commits

Author SHA1 Message Date
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
HedgehogInTheCPP
2a3b40031e Improvements detection of features, part 9. Visual Studio 17 naming fix. 2026-08-21 21:23:50 +03:00
HedgehogInTheCPP
b61afb726b fix for ancient standard. 2026-08-21 21:17:49 +03:00
HedgehogInTheCPP
ce06f10c2a fix for UTF-16 emoji parsing. 2026-08-21 21:13:44 +03:00
HedgehogInTheCPP
363141fc43 Improvements detection of features, part 7. Visual Studio 17 naming fix. 2026-08-21 21:11:24 +03:00
HedgehogInTheCPP
d42564c373 Improvements detection of features, part 6. Visual Studio 17 and 18 officially support C++14 as a baseline standard, not try to use C++11 on them. 2026-08-21 20:47:33 +03:00
HedgehogInTheCPP
60734e063e Improvements detection of features, part 5. 2026-08-21 19:56:09 +03:00