464 Commits

Author SHA1 Message Date
Pavel Novikov
0a230326ab
now finally got the anti-ambiguity overloads right, right? 2025-09-06 02:22:43 +03:00
Pavel Novikov
7ae62ee0d5
finally got the anti-ambiguity overloads right? 2025-09-06 02:10:55 +03:00
Pavel Novikov
e12463583f
added lacking overloads to avoid potential ambiguity 2025-09-06 00:12:41 +03:00
Pavel Novikov
20a7383442
renamed the function, cleaned up return type 2025-09-05 13:36:23 +03:00
Daniel Lemire
42db9ac1de
Merge branch 'main' into P2497R0 2025-09-03 12:04:36 -04:00
Pavel Novikov
6be07d66a8
inlining Clinger's fast path because why not,
and it seems to bring performance to the level before the changes somewhat
2025-09-03 16:59:40 +03:00
Daniel Lemire
c0582c27f5 typos in the comments 2025-09-02 17:29:12 -04:00
Pavel Novikov
a134561e4b
added missing inline specifiers 2025-09-02 23:03:38 +03:00
Pavel Novikov
7b8f04500a
implemented multiplication of integer by power of 10 2025-09-02 13:20:36 +03: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
IRainman
5ae2fba79d cleanup for parse_number_string 2025-05-10 19:59:22 +03:00
IRainman
437a80ccfd fix for type usage in parse_int_string 2025-05-08 18:19:45 +03:00
IRainman
978441a5bb additional FASTFLOAT_HAS_BIT_CAST improve for older standards. 2025-05-07 23:19:18 +03:00
IRainman
a550415314 additional fix for bfloat16_t. Sorry, I can't compile it's locally. 2025-05-07 22:55:48 +03:00
IRainman
7bac32408e fix for the parse_number_string 2025-05-07 22:14:55 +03:00
IRainman
f14d482767 fix for the parse_number_string 2025-05-07 21:59:53 +03:00
IRainman
88fff01513 fix for the parse_number_string 2025-05-07 21:51:43 +03:00
IRainman
3ee80c2da3 fix for the parse_number_string 2025-05-07 21:43:26 +03:00
IRainman
6b22957188 fix for the parse_number_string 2025-05-07 20:18:57 +03:00
IRainman
f7d5037a4f fix for the parse_number_string
small improvements for the FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN
2025-05-07 19:31:56 +03:00
IRainman
23a9c3f54d review of the parse_number_string function: now it's much faster, safer and easy to understand. 2025-05-07 18:02:44 +03:00
IRainman
4b94a612cf type usage fix 2025-05-07 00:44:20 +03:00
IRainman
2f8ff9a6eb compilation fix 2025-05-06 23:40:29 +03:00
IRainman
568dfef204 compilation fix 2025-05-06 23:21:59 +03:00
IRainman
036ba0d153 compilation fix 2025-05-06 23:03:56 +03:00
IRainman
1ec5f0880c compilation fix 2025-05-06 22:53:10 +03:00
IRainman
6f789de5d2 compilation fix. 2025-05-06 22:32:11 +03:00
IRainman
e446899538 compilation fix. 2025-05-06 22:19:50 +03:00
IRainman
a3ccc1f7b1 compilation fix 2025-05-06 22:05:06 +03:00
IRainman
a4c573e8ab compilation fix 2025-05-06 21:54:40 +03:00
IRainman
3f9e488979 format, fuck. 2025-05-06 21:09:33 +03:00
IRainman
e5f189754f compilation fixes. 2025-05-06 21:05:05 +03:00
IRainman
99d769db5b clang-format 2025-05-06 18:15:43 +03:00
IRainman
d5c05e51af additional type usage fixes and constexpr. 2025-05-06 17:44:31 +03:00
IRainman
afbb803aa4 compilation fixes for std::bfloat16_t and std::float16_t. Sorry for this, my compilers don't supports it.
additional type usage fixes and constexpr.
2025-05-06 16:53:30 +03:00
IRainman
a8c5bd9a38 warning fix. 2025-05-05 20:24:16 +03:00
IRainman
1febc3a070 Fix compilation for older standards 2025-05-05 20:19:46 +03:00
IRainman
0ba4e20bc4 lint 2025-05-05 19:49:53 +03:00
IRainman
5356317356 Fix compilation for older standards 2025-05-05 19:44:30 +03:00
IRainman
103f22056b Final functions call optimization. 2025-05-05 19:07:55 +03:00
IRainman
8721491941 Finally: after type refactoring is done give compiler opportunity to select best type for performance. 2025-05-05 18:42:32 +03:00
IRainman
c99930b2a0 added additional macro FASTFLOAT_ONLY_ROUNDS_TO_NEAREST_SUPPORTED for performance improve. 2025-04-30 00:56:02 +03:00
IRainman
17ffdffdd9 * additional types cleanup for speedup and reduce cache pressure. 2025-04-12 19:16:25 +03:00
IRainman
0a18d6b329 # format. 2025-04-12 17:17:04 +03:00
IRainman
ba1344c030 * carefully work with types in the library.
* fix for some types errors.
* fix small amount of not optimized code.
* add more comments to the code.
* unified of function binary_format::max_mantissa_fast_path() because it's do the same.
2025-04-12 17:06:38 +03:00
IRainman
69fbbff062 try additional part... 2025-04-12 00:47:18 +03:00
IRainman
b0bae17b10 * added chars_format_t for performance reason. 2025-04-11 23:49:27 +03:00
IRainman
f3db77a07c try reordering again. 2025-04-11 23:21:26 +03:00
IRainman
1aed8ee6dd try reordering again. 2025-04-11 23:10:26 +03:00
IRainman
0daee75dec # format 2025-04-11 22:56:15 +03:00
IRainman
563648f76d * fix errors in the parse_number_string. 2025-04-11 22:52:18 +03:00
IRainman
e71bfff4a3 additional improve for debug runtime. 2025-04-11 18:05:08 +03:00
IRainman
f8625b6416 fix warnings. 2025-04-10 18:45:05 +03:00
IRainman
8e1fda5d08 fixes and cleanup for the parse_number_string function.
exponent value is always less than in16_t.

original main:
Tests:
 time is: 44278ms.

size of my tests 389.0k
size of my program 164.0k

my main:
Tests:
 time is: 42015ms.

size of my tests 389.0k
size of my program 164.0k

my main with FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN
Tests:
 time is: 41282ms.

size of my tests 386.5k
size of my program 161.5k

After this I'll try it on my partner Linux machine with the original tests and compare much better.
2025-04-10 17:18:08 +03:00
IRainman
bbf4193339 cleanup code generation for parse_mantissa. 2025-04-09 21:44:30 +03:00
IRainman
c762936589 template interface cleanup for min_safe_u64 and max_digits_u64. 2025-04-09 15:55:54 +03:00
IRainman
d32ae04b1b reduce size of from_chars_result_t to 4 bytes. Cleanup for usage FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN. 2025-04-09 15:41:29 +03:00
IRainman
a081ebe6ce reduce size of from_chars_result_t to 4 bytes. Cleanup for usage FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN. 2025-04-09 15:27:55 +03:00
IRainman
f1b7f493aa after all sized checks is done I return the minimum registers size possible for the counter. Because the library only support 32 and 64 bit platform we only need 32 bit as a small counter. 2025-04-08 18:43:12 +03:00
IRainman
97bfec6ea3 style fix. 2025-04-08 15:01:25 +03:00
IRainman
27f02654fe style cleanup. 2025-04-08 04:06:30 +03:00
IRainman
5c610807de improvements of memory layout of parsed_number_string_t.
fix for FORTRAN parsing (needs to be merge to main)
improvement in the debug build.
code cleanup.
2025-04-08 04:04:26 +03:00
IRainman
b121f53316 reduce register pressure. 2025-04-08 03:55:12 +03:00
IRainman
a133b72fa8 FASTFLOAT_ASSUME 2025-04-08 03:24:11 +03:00
IRainman
b261492ae7 reduce register pressure. 2025-04-08 01:22:14 +03:00
IRainman
4f0615b4b4 Reduce register pressure and cleanup interface for standard. 2025-04-07 23:21:29 +03:00
IRainman
1651c2b0f8 Readded FASTFLOAT_CONSTEVAL, but not used currently. Cleanup for FASTFLOAT_ASSUME. 2025-04-07 23:10:38 +03:00
IRainman
ee620a029d reduce registers pressure. 2025-03-28 20:29:25 +03:00
IRainman
6aea2fb2e5 initialization cleanup. 2025-03-28 20:27:39 +03:00
IRainman
afb54a595e Disable FASTFLOAT_ASSUME by default. 2025-03-28 20:15:19 +03:00
IRainman
91e6c4d440 . 2025-03-28 19:39:10 +03:00
IRainman
ed871096ad Remove FASTFLOAT_CONSTEVAL20 that I was added before and cleanup diff. 2025-03-28 18:57:37 +03:00
IRainman
fc9f61efc9 Cleanup initialization of the adjusted_mantissa. 2025-03-28 18:55:57 +03:00
IRainman
8ebc89e1b5 Reduce registers pressure. 2025-03-28 18:31:01 +03:00
IRainman
1e3a135b8d reduce register pressure. 2025-03-24 11:45:33 +03:00
IRainman
c598a994e6 fix a warning. 2025-03-24 11:15:24 +03:00
IRainman
0188112c8f compilation fix in some old compilers. 2025-03-13 00:37:46 +03:00
IRainman
929e98182e lint 2025-03-12 21:13:20 +03:00
IRainman
2db26df2b8 Remove consexpr/consteval from code that probably assumed to run in the runtime and not be optimized (strange crutch actually). 2025-03-12 20:35:28 +03:00
IRainman
27c0cd581c lint 2025-03-12 20:23:05 +03:00
IRainman
f3c60527d5 more constexpr. 2025-03-12 20:15:29 +03:00
IRainman
3dd3712782 lint 2025-03-12 20:11:11 +03:00
IRainman
07ab87ca2b compilation fix in some cases. 2025-03-12 20:05:34 +03:00
IRainman
b869816c39 Merge branch 'main' of https://github.com/IRainman/fast_float into fastfloat-main 2025-03-12 19:04:01 +03:00
IRainman
e84f289337 FASTFLOAT_IF_CONSTEXPR17
fix compilation when FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN isn't enabled.
2025-03-12 18:45:48 +03:00
IRainman
1899647146 GCC compilation fix. 2025-03-12 17:56:01 +03:00
IRainman
3dd9a98926 more const 2025-03-12 17:44:08 +03:00
HedgehogInTheCPP
cfd0963705
Merge branch 'main' into main 2025-03-12 17:16:03 +03:00
IRainman
681346fde1 Merge branch 'main' of https://github.com/fastfloat/fast_float into fastfloat-main 2025-03-12 17:00:35 +03:00
Daniel Lemire
50a80a73ab v8.0.2 2025-03-11 09:51:53 -04:00
Daniel Lemire
1bf7010153 v8.0.1 2025-03-10 09:04:05 -04:00
Daniel Lemire
c6732cd28b lint 2025-03-10 09:02:38 -04:00
IRainman
6c499fda5c FASTFLOAT_ASSUME review. 2025-03-10 05:34:45 +03:00
Daniel Lemire
b29208f93d adding FASTFLOAT_IF_CONSTEXPR17 2025-03-09 17:10:55 -04:00
IRainman
63eb578d52 Add FASTFLOAT_HAS_BYTESWAP check.
Improve FASTFLOAT_CONSTEVAL20 usage for older standards.
2025-03-09 22:55:04 +03: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
IRainman
354f4c3eac Compilation fix. 2025-03-09 21:09:51 +03:00
IRainman
c2daa8a614 Added FASTFLOAT_ASSUME for support attribute [[assume]] is declared in P1774 2025-03-09 03:41:27 +03:00
IRainman
f496321570 Completely remove deprecated macroses FASTFLOAT_ALLOWS_LEADING_PLUS and FASTFLOAT_SKIP_WHITE_SPACE, please use options.
Compilation fix when FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN isn't defined.
2025-03-09 02:37:46 +03:00