865 Commits

Author SHA1 Message Date
Daniel Lemire
0b6d911220 format 2025-09-18 08:30:28 -06:00
Daniel Lemire
bb956b29db release candidate 8.0.3 2025-09-18 07:44:53 -06:00
Daniel Lemire
48fc5404d4 compatibility fix 2025-09-18 07:44:05 -06:00
Daniel Lemire
e5612e9f72
Merge pull request #325 from InvalidUsernameException/emoji-parses-as-int
Do not mis-parse certain wide-character emojis as integer
2025-09-18 07:39:59 -06:00
Daniel Lemire
fb384a4205
Add Blender to the list of projects using fast_float 2025-09-17 23:09:25 -06:00
InvalidUsernameException
9d81c71aef Do not mis-parse certain wide-character emojis as integer
When calling ch_to_digit() with a UTF-16 or UTF-32 code unit, it simply
truncates away any data stored in the non-low byte(s) of the code unit.
It then uses a lookup table to determine whether the low byte
corresponds to an ASCII digit. This is incorrect because as soon as any
bit outside the low byte is set, the number will never correspond to a
ASCII digit anymore.

To fix this, we produce a mask that is all zeroes if any bit outside the
low byte is set in the code unit, all ones otherwise. Anding this mask
with the original code unit forces the table lookup to return the
sentinel value from the zero-index if any high bit was set and causes
the code unit not to be parsed as integer.

This bug was discovered when loading Mastodon posts inside the Ladybird
browser where some of Mastodon's JavaScript would trigger the code path
that erroneously parsed the emoji as integer. It had the visible effect
that some digits inside the posts would get rendered as one of the
emojis that parsed to that digit. For more details see this issue:
https://github.com/LadybirdBrowser/ladybird/issues/6205

The emojis in the test case are simply all the emojis used on Mastodon
that caused the bug. They can be found here:
06803422da/app/javascript/mastodon/features/emoji/emoji_map.json
2025-09-15 23:12:28 +02:00
Daniel Lemire
fec4082f01
Merge pull request #322 from leiwen2025/rv-support
float_common.h: Support RISC-V
2025-09-12 15:11:45 -04:00
Daniel Lemire
e89e248bd7
Update risc.yml 2025-09-11 22:14:59 -04:00
Daniel Lemire
96fc38fb5a adding risc ci 2025-09-11 22:11:05 -04:00
WenLei
6677924083 float_common.h: Support RISC-V 2025-09-11 11:11:30 +08:00
Daniel Lemire
4bb6fd1271
Merge pull request #314 from fastfloat/P2497R0
implementation of p2497
2025-09-05 18:24:48 -04:00
Daniel Lemire
ce511cb9ee
Merge pull request #317 from fastfloat/dependabot/github_actions/github-actions-a331d3ec2d
Bump actions/checkout from 4 to 5 in the github-actions group
2025-09-03 12:07:06 -04:00
Daniel Lemire
42db9ac1de
Merge branch 'main' into P2497R0 2025-09-03 12:04:36 -04:00
dependabot[bot]
42836b48eb
Bump actions/checkout from 4 to 5 in the github-actions group
Bumps the github-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).


Updates `actions/checkout` from 4 to 5
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-02 21:31:49 +00:00
Daniel Lemire
a9ac1b40c9
Merge pull request #316 from fastfloat/emscripten
adding emscripten build test
2025-09-02 17:29:37 -04:00
Daniel Lemire
c0582c27f5 typos in the comments 2025-09-02 17:29:12 -04:00
Daniel Lemire
0a9257e825
Merge pull request #318 from SirLynix/patch-1
README: Add xmake repository reference
2025-08-25 09:27:45 -04:00
Jérôme Leclercq
e1c2c806ed
README: Add xmake repository reference 2025-08-25 13:42:53 +02:00
Daniel Lemire
6b10835aa9 update 2025-06-04 21:14:09 -04:00
Daniel Lemire
3d09138b1b trimming 2025-06-04 20:45:56 -04:00
Daniel Lemire
3ee7eb018d updating CI 2025-06-03 18:19:33 -04:00
Daniel Lemire
2d2b42bb38 forked doctest 2025-06-03 18:15:52 -04:00
Daniel Lemire
73b27b7d68 hmmm 2025-06-02 09:52:34 -04:00
Daniel Lemire
fbc85aa706 adding cmake policy for doctest 2025-06-02 09:25:42 -04:00
Daniel Lemire
5a4b793818 adding emscripten build test 2025-06-02 09:15:06 -04:00
Daniel Lemire
e5d93c993e updating workflow 2025-05-19 18:32:56 -04:00
Daniel Lemire
a1e272f515 lint 2025-05-19 18:16:14 -04:00
Daniel Lemire
447ee0bc82 updating documentation 2025-05-19 18:12:35 -04:00
Daniel Lemire
0458c20061 adding missing file 2025-05-19 18:09:34 -04:00
Daniel Lemire
81b8306c5f implementation of https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2497r0.html 2025-05-19 18:08:36 -04:00
Daniel Lemire
b8085ba363
Update README.md 2025-05-19 11:55:15 -04:00
Daniel Lemire
c5a3ca37c4
Merge pull request #312 from fastfloat/dependabot/github_actions/github-actions-ce77f7460b
Bump jidicula/clang-format-action from 4.14.0 to 4.15.0 in the github-actions group
2025-03-25 09:58:53 -04:00
dependabot[bot]
d42004eca2
Bump jidicula/clang-format-action in the github-actions group
Bumps the github-actions group with 1 update: [jidicula/clang-format-action](https://github.com/jidicula/clang-format-action).


Updates `jidicula/clang-format-action` from 4.14.0 to 4.15.0
- [Release notes](https://github.com/jidicula/clang-format-action/releases)
- [Commits](d05cecd4a1...4726374d1a)

---
updated-dependencies:
- dependency-name: jidicula/clang-format-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 00:53:11 +00:00
Daniel Lemire
3f7ff422bf
Merge pull request #311 from ADKaster/reference-ak
README: Reference SerenityOS/Ladybird Browser implementation
2025-03-21 13:00:42 -04:00
Andrew Kaster
b3fe1e63cf README: Reference SerenityOS/Ladybird Browser implementation 2025-03-21 10:29:13 -06:00
Daniel Lemire
50a80a73ab v8.0.2 v8.0.2 2025-03-11 09:51:53 -04:00
Anders Dalvander
f9bed3f7b1
Merge pull request #309 from fastfloat/benchvs
supporting benchmarks under Windows
2025-03-11 14:35:15 +01:00
Daniel Lemire
c0affad8b4
Update benchmark.cpp 2025-03-11 09:19:28 -04:00
Daniel Lemire
7597ca61aa supporting benchmarks under Windows 2025-03-10 19:44:18 -04:00
Daniel Lemire
1bf7010153 v8.0.1 v8.0.1 2025-03-10 09:04:05 -04:00
Daniel Lemire
e019768d49
Merge pull request #308 from fastfloat/turing_json_into_macro_parameter
turning json option into macro parameter
2025-03-10 09:02:53 -04:00
Daniel Lemire
c6732cd28b lint 2025-03-10 09:02:38 -04:00
Daniel Lemire
b29208f93d adding FASTFLOAT_IF_CONSTEXPR17 2025-03-09 17:10:55 -04:00
Daniel Lemire
ba92c88901
Update pull_request_template.md 2025-03-09 15:33:11 -04:00
Daniel Lemire
0305a7d336
Update README.md 2025-03-09 15:31:45 -04:00
Daniel Lemire
e720395b61
Update README.md 2025-03-09 15:31:11 -04:00
Daniel Lemire
8e5e92b6e2
Merge pull request #305 from dankmeme01/main
fix /permissive- flag causing a compile error on clang for windows
2025-03-09 15:15:35 -04:00
Daniel Lemire
6f0049a2e7 lint 2025-03-09 15:14:52 -04:00
Daniel Lemire
95dedd0aed turning json option into macro parameter 2025-03-09 15:13:43 -04:00
Daniel Lemire
1504792a9f Merge branch 'main' of github.com:fastfloat/fast_float 2025-03-09 14:27:38 -04:00