IRainman
4f0615b4b4
Reduce register pressure and cleanup interface for standard.
2025-04-07 23:21:29 +03:00
IRainman
ee620a029d
reduce registers pressure.
2025-03-28 20:29:25 +03:00
IRainman
91e6c4d440
.
2025-03-28 19:39:10 +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
c598a994e6
fix a warning.
2025-03-24 11:15:24 +03:00
IRainman
3dd3712782
lint
2025-03-12 20:11:11 +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
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
IRainman
ae29a0dbe5
PVS-Studio founds some errors, I fixed it.
2025-03-07 20:39:20 +03:00
IRainman
388426e35a
fix type conversion warning.
2025-03-07 15:06:44 +03:00
IRainman
aba93f306f
Additional compile time cleanup. When FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN is enabled we assume that we are in parser code with external loop that checks bounds.
...
Function cpp20_and_in_constexpr() now is really compile time evaluated. TODO fix warnings.
2025-03-07 14:51:20 +03:00
IRainman
bc3f331938
# cleanup.
2025-03-06 23:02:50 +03:00
IRainman
9ebac23081
Added a config option FASTFLOAT_ONLY_POSITIVE_C_NUMBER_WO_INF_NAN for faster and more compact code parsing numbers with input support only positive C/C++ style numbers without nan or inf. That case is very useful in mathematical applications, game development, CSS parsing, embedded code, etc...
...
Additional improve in constant initialization.
2025-03-06 22:25:05 +03:00
IRainman
63f6abebdf
* Added an option disallow_leading_sign and stronger constexpr / consteval, also significantly reduce register pressure by reducing copy of constant data.
2025-03-06 18:29:16 +03:00
Joao Paulo Magalhaes
9cfa5ff4a0
fix warnings from -Wundef
2025-02-12 23:51:44 +00:00
Daniel Lemire
77cc847c84
pushing version change
2025-02-08 11:49:58 -05:00
Anders Dalvander
ce274f7051
include and order types largerst to smallest
2024-12-04 10:17:05 +01:00
Anders Dalvander
7226c00490
cleanup
2024-12-04 09:35:32 +01:00
Anders Dalvander
2a6c2604b5
check for IEEE 754 compliance
2024-12-04 09:34:34 +01:00
Anders Dalvander
62f526dfd3
fix -Werror=conversion
2024-12-03 23:52:57 +01:00
Anders Dalvander
da819feb74
back to std::bit_cast
2024-12-03 23:23:35 +01:00
Anders Dalvander
8cee025082
add powers_of_ten/max_mantissa for float16_t/bfloat16_t
2024-12-03 23:23:34 +01:00
Daniel Lemire
6f8fd6728d
make it build
2024-12-03 23:23:34 +01:00
Daniel Lemire
bfcff49c83
16-bit float support
2024-12-03 23:23:34 +01:00
Anders Dalvander
3775a81ced
formatted code
2024-12-01 16:39:28 +01:00
Anders Dalvander
0a1bf11560
harmonize ifdef checks
2024-12-01 16:36:45 +01:00
Anders Dalvander
3146e686d0
introduce equiv_uint_t
2024-12-01 16:36:17 +01:00
Anders Dalvander
d3f7113d6e
add char8_t support
2024-11-23 10:21:48 +01:00
Anders Dalvander
1a15c66fb9
harmonize files to use "east const"
...
manually checked modified files for errors, but not committing .clang-format due to the following warning:
>>> Setting `QualifierAlignment` to something other than `Leave`, COULD lead to incorrect code formatting due to incorrect decisions made due to clang-formats lack of complete semantic information. As such extra care should be taken to review code changes made by the use of this option.
2024-11-23 09:46:18 +01:00
Anders Dalvander
7f476cd259
fix clang unused-function warning
2024-11-23 09:04:46 +01:00
Daniel Lemire
cf771eaa83
Merge pull request #283 from dalle/issue282-better-error-messages
...
Better compile time error messages for unsupported types
2024-11-22 13:09:49 -05:00
Anders Dalvander
35d0c8c179
add version macros
2024-11-22 16:44:56 +01:00
Anders Dalvander
74829bb77d
better compile time error messages for unsupported types
2024-11-22 16:25:31 +01:00
Anders Dalvander
50ee38af65
fix for fastfloat_strncasecmp for wchar_t and larger char types
2024-11-21 00:09:05 +01:00
Anders Dalvander
7ff885d45c
fix for is_space for wchar_t and larger char types
2024-11-21 00:09:00 +01:00
Anders Dalvander
48252a6483
check feature macros in once place
2024-11-21 00:08:19 +01:00
Anders Dalvander
0bbba960f4
move from feature macros to format flags
2024-11-21 00:06:08 +01:00
Anders Dalvander
b3526da935
uint64_t as enum base for chars_format
2024-11-20 23:01:56 +01:00
Anders Dalvander
b8b5da75a5
enum class chars_format
2024-11-20 09:33:16 +01:00
Evgeny Karpov
c9f8339668
Fix the formatting and remove the previous condition
2024-09-02 18:13:01 +02:00
Evgeny Karpov
2609d5fd4b
The patch resolves GCC compilation issues for the C++ language targeting
...
aarch64-w64-mingw32.
More information could be found here:
https://gcc.gnu.org/pipermail/gcc-patches/2024-September/662020.html
2024-09-02 17:24:33 +02:00
Yedidya Feldblum
159589d356
remove out-of-line defns of constexpr static data members under c++17
...
Address warnings of this form under c++17 when building with `-Werror -Wdeprecated`:
```
fast_float/float_common.h:446:58: error: out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Werror,-Wdeprecated]
constexpr double binary_format_lookup_tables<double, U>::powers_of_ten[];
^
```
2024-08-30 10:30:40 -05:00
Daniel Lemire
5ad6aae0b1
lint
2024-08-14 09:57:47 -04:00
Leszek Swirski
74e3c29215
Include intrin.h for __umulh
...
Arm64 uses __umulh, so add the same condition for including the intrin.h
header.
2024-08-14 15:10:14 +02:00
Daniel Lemire
207d66162a
issue 258
2024-08-03 10:02:42 -04:00
Daniel Lemire
c8b3ca0d12
Merge pull request #167 from deadalnix/smallest_power_of_ten
...
Change smallest_power_of_ten to -64 for floats.
2024-06-27 19:03:59 -04:00
Matthew Wozniczka
9ab4ac837b
Add a missing check that __uint128_t exists before using it.
...
I noticed a compilation error when building a 64-bit binary with this library while using xlclang on AIX, and this change seems to fix it.
2024-03-16 12:18:20 -07:00
Marcin Wojdyr
55a5b3c8e1
check C++ standard version before including <stdfloat>
...
fixes #238
2024-02-03 15:05:30 +01:00
Daniel Lemire
a0ea962bf5
more fixes
2024-01-28 15:18:40 -05:00
Darrell Wright
b43f808190
Update float_common.h
...
The construct !! is a no-op for a bool, op< for uint64_t's. Removed it and made it an explicit cast to match the operations being performed
2023-12-27 19:43:56 -05:00
Maya Warrier
a59a62cb5c
Merge branch 'fastfloat:main' into main
2023-12-13 17:54:05 -05:00
Maya Warrier
1e0a9da538
Change FASTLOAT_ARM64 macro to FASTFLOAT_NEON
2023-12-13 00:56:35 -05:00
Maya Warrier
624ba49434
Fix more Werrors
...
- Werror=conversion,char-subscripts
2023-12-12 21:26:48 -05:00
Maya Warrier
3d446f1eba
Fix gcc werrors
2023-12-12 01:56:24 -05:00
Maya Warrier
c9527c2e4f
Skip leading zeros
2023-12-11 04:27:22 -05:00
Maya Warrier
122220e2f0
Version 1 of from_chars integer parser
2023-12-11 04:17:26 -05:00
Antoine Cœur
c325db1b04
float_common.h:237:52 Value stored to 'input_num' is never read
2023-11-25 18:45:15 +01:00
Daniel Lemire
7646f819a8
Merge branch 'main' of github.com:allenbarnett5/fast_float_ftn into fortran
2023-09-15 09:43:27 -04:00
Maya Warrier
7b1fc2f95d
Add an option to allow inf/nan even in json mode
...
- Most JSON parsers offer this option too
2023-09-14 21:07:22 -04:00
Maya Warrier
ce562d9c65
Disallow inf/nan in json mode
2023-09-14 20:51:26 -04:00
Maya Warrier
3f250c5a98
Use chars_format instead of parse_rules for parsing as JSON
2023-09-13 20:03:10 -04:00
Maya Warrier
396f41271f
Implement JSON rules
2023-09-13 19:19:37 -04:00
allen.barnett@paperbirchsoftware.com
e22c027544
Allow fast_float to parse strings accepted by the Fortran internal read
...
function.
2023-08-07 08:39:06 -04:00
deadalnix
5167a5029d
Change smallest_power_of_ten to -64 for floats.
...
`18446744073709551615e-65` rounds to `0`, and it is the largest possible value with exponent `-65`. Therefore, we can assume the minimal exponent for which we don't round to zero actually is `-64`.
2023-07-12 14:27:46 +00:00
Cœur
3e90425e3c
code review: FASTFLOAT_CONSTEXPR14
2023-06-12 22:27:31 +02:00
Cœur
f5f64e46cd
float_common.h: fix possible misuse of comma operator
2023-06-12 21:05:51 +02:00
Daniel Lemire
a14f8c587e
Fix.
2023-06-10 10:48:46 -04:00
Daniel Lemire
eea6fef9a1
tweak
2023-06-10 09:47:48 -04:00
Daniel Lemire
ba328bbf7d
Renaming the using for the local type.
2023-06-10 09:44:49 -04:00
Daniel Lemire
e8c0378d6d
Adding ARM NEON optimizations.
2023-06-09 11:19:34 -04:00
Daniel Lemire
8139e164b8
Merge pull request #198 from mayawarrier/main
...
Add opt-in SIMD support for char16_t
2023-06-09 10:40:04 -04:00
v1gnesh
bb2ae14fe6
Add zOS support to float_common.h
2023-06-05 19:16:46 +05:30
zangruochen
fcee052311
Support LoongArch64
2023-05-30 15:16:27 +08:00
Maya Warrier
a5632d5b57
Fix digit comparison, cleanup
2023-05-20 12:29:24 -04:00
Maya Warrier
38613a39f9
Fix perf decrease when UC = char
2023-05-17 01:34:33 -04:00
Daniel Lemire
396a0fc2ae
Merge branch 'main' into main
2023-05-08 16:44:35 -04:00
Daniel Lemire
cc1e01e9ee
Merge pull request #199 from mayawarrier/cmake_intellisense_fix
...
Fix for broken VS Intellisense
2023-05-08 16:43:45 -04:00
Lenard Szolnoki
ddaefc0bbf
Fix multiple definition linker errors for tables
2023-05-08 15:24:11 +01:00
Lenard Szolnoki
cc042ae409
Make lookup tables external linkage
2023-05-07 23:07:34 +01:00
Maya Warrier
4e7ae339d6
Implement intellisense fix
2023-05-07 00:38:10 -04:00
Maya Warrier
4cb09b5f59
Automatically detect SSE2
2023-05-02 13:05:57 -04:00
Maya Warrier
5136b181ba
Fixes and cleanup
2023-05-02 01:41:49 -04:00
Maya Warrier
680ccc73ed
Merge from upstream/main, fix conflicts
2023-05-01 20:27:29 -04:00
Maya Warrier
65bd922e38
Merge remote-tracking branch 'upstream/main'
...
- Fix conflicts
2023-04-26 16:47:42 -04:00
Daniel Lemire
927eb9bcd2
Merge branch 'main' of https://github.com/Pharago/fast_float into other_chars
2023-04-26 16:40:09 -04:00
Maya Warrier
89fc24007a
Clean up
2023-04-26 16:25:41 -04:00
Maya Warrier
c849b7a8ff
Option to forbid nan/inf, refactor
2023-04-15 23:16:01 -04:00
Pharago
ece3b3886b
Fix storage class errors on non msvc builds
...
Removed storage class declarations from explicit template specializations of string constants
2023-04-06 20:58:31 +02:00
Pharago
2bfbe4ca96
cosmetic changes
2023-04-06 00:58:34 +02:00
Pharago
593709f056
Merge branch 'main' into main
2023-04-05 03:31:35 +02:00
Aras Pranckevičius
21fefa5b44
Fix warnings with -Wundef
...
- FASTFLOAT_ALLOWS_LEADING_PLUS and FASTFLOAT_SKIP_WHITE_SPACE are not defined by default, and compiling with -Wundef is emitting warnigns like "FASTFLOAT_ALLOWS_LEADING_PLUS is not defined, evaluates to 0".
- Likewise for FASTFLOAT_VISUAL_STUDIO, change checks to use #ifdef for that like in other places.
- __cpp_lib_bit_cast and __cpp_lib_is_constant_evaluated are not defined pre-C++20, and are emitting a warning too.
2023-04-04 21:18:57 +03:00
Pharago
bc77f956e2
Initial Unicode release
...
Added support for the other char types
2023-04-02 22:58:01 +02:00
Maya Warrier
2d57c09530
Fixes
2023-04-01 23:29:00 -04:00
Maya Warrier
f59f73c4da
Disable simd-related warnings
2023-04-01 04:09:00 -04:00
Maya Warrier
2b118c843a
Experimental support for char_t types
2023-03-30 04:48:18 -04:00
Lenard Szolnoki
d34d0d7405
Fix amalgamate.ph and add header for constexpr macros
2023-03-12 10:50:25 +00:00