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
Pharago
b8e3307fbd
Fix broken msvc v140
...
When using msvc v140 (Visual Studio 2015 Toolset), compilation fails.
2023-06-10 05:46:30 +02:00
Daniel Lemire
3cab724b80
Minor fixes
2023-06-09 12:30:20 -04:00
Daniel Lemire
b88345d06d
Fixes
2023-06-09 11:28:51 -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
cb397ef446
Fix for clang (missing _mm_cvtsi128_si64x)
2023-05-17 05:40:29 -04:00
Maya Warrier
1c9a3088bf
Fix for VS 32-bit
2023-05-17 05:31:15 -04:00
Maya Warrier
064d2b832d
Fix Werrors
2023-05-17 02:27:48 -04:00
Maya Warrier
38613a39f9
Fix perf decrease when UC = char
2023-05-17 01:34:33 -04:00
Maya Warrier
6ede038789
Apply changes from benchmarked version
...
- Move parse_truncated_number_string back inside parse_number_string
2023-05-09 22:19:23 -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
53b065f38d
Avoid redundant load in SSE2 code
2023-05-07 17:38:32 -04: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
c811b027ea
Remove testing macro
2023-05-02 01:52:00 -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
e08c55c380
Remove json parse rules/allow inf_nan
2023-05-01 19:45:50 -04:00
Maya Warrier
091458d192
Add basic support for char32_t (unoptimized)
2023-04-30 02:23:33 -04:00
Daniel Lemire
8199baeb70
Slightly less ugly code.
2023-04-26 18:46:19 -04:00
Daniel Lemire
225df8c934
Merge branch 'fastfloat:main' into other_chars
2023-04-26 18:32:06 -04:00
Daniel Lemire
5223d7a460
address issues raised by @mayawarrier
2023-04-26 18:25:27 -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
653790b5f3
fixes
2023-04-16 00:36:52 -04:00
Maya Warrier
c849b7a8ff
Option to forbid nan/inf, refactor
2023-04-15 23:16:01 -04:00
Daniel Lemire
11eeab5463
Removing dead code.
2023-04-11 14:29:30 -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
148606637c
Merge branch 'fastfloat:main' into main
2023-04-03 02:25:46 +02:00
Daniel Lemire
ca43e6722e
We need to update some of our exhaustive tests to the new API
2023-04-02 17:43:17 -04:00
Pharago
bc77f956e2
Initial Unicode release
...
Added support for the other char types
2023-04-02 22:58:01 +02:00
Maya Warrier
cda25408bc
Optimize char16_t parsing for digit_comparison.h
2023-04-02 00:33:52 -04:00
Maya Warrier
2d57c09530
Fixes
2023-04-01 23:29:00 -04:00
Maya Warrier
8a9a9d538a
SIMD optimization to parse 8 char16_t at a time
2023-04-01 22:43:00 -04:00
Maya Warrier
f59f73c4da
Disable simd-related warnings
2023-04-01 04:09:00 -04:00
Maya Warrier
20f3870361
Fixes
2023-03-30 04:58:22 -04:00
Maya Warrier
2b118c843a
Experimental support for char_t types
2023-03-30 04:48:18 -04:00
Maya Warrier
b6acf38a2e
Fix bugs
2023-03-29 18:42:24 -04:00
Adam Lugowski
bfee511d78
Set errc::result_out_of_range on over/underflow
...
Best-effort values are still returned, such as 0 for underflow and infinity for overflow, but now the returned ec is set to std::errc::result_out_of_range instead of std::errc().
2023-03-29 10:14:46 -07:00
Maya Warrier
3cafcca2ff
Add support for json parsing rules and integers
2023-03-29 02:14:12 -04:00
Maya Warrier
8f94758c78
Expose parsed string (before computation) so it can be reused
2023-03-27 22:50:21 -04:00
Daniel Lemire
b50a729d93
Merge pull request #182 from leni536/constexpr-from_chars
...
Constexpr from_chars
2023-03-25 17:30:55 -04:00
Lenard Szolnoki
5b8290433c
Fix clang workaround for parsing -0 on non-nearest rounding mode
2023-03-25 19:38:44 +00:00
Lenard Szolnoki
e464bd7785
Replace memmove with copy_backward
2023-03-24 17:18:58 +00:00
Lenard Szolnoki
d34d0d7405
Fix amalgamate.ph and add header for constexpr macros
2023-03-12 10:50:25 +00:00
filipecosta90
c8886eb31d
Added missing FASTFLOAT_ALLOWS_LEADING_PLUS ifdef check in parse_infnan
2023-03-07 00:31:14 +00:00
Lenard Szolnoki
e05858a0f8
Work around clang bug.
...
https://godbolt.org/z/zedh7rrhc
This is similar to https://github.com/llvm/llvm-project/issues/47746 ,
except I needed to use a different workaround.
2023-03-04 23:02:15 +00:00
Lenard Szolnoki
6732e397d8
Add constexpr testing
...
When enabled, modify `verify` macro to also verify at compile time,
when the arguments are constant expressions.
2023-03-04 22:36:58 +00:00
Lenard Szolnoki
e4d4e43b21
Constexpr from_chars
2023-03-04 20:53:43 +00:00
Lenard Szolnoki
82ee3b1b5f
Constexpr parse_number_string
2023-03-04 17:18:25 +00:00
Lenard Szolnoki
5243dd97fe
Constexpr bigint
2023-03-03 23:13:52 +00:00
Lenard Szolnoki
52618851fd
Make all float_common.h functions constexpr in C++20
2023-03-03 22:43:52 +00:00
Lenard Szolnoki
6d2fb68f5c
Simplify to_float
...
* Use right-sized uint type for bit fiddling
** This removes the need to special casing on endianness
* Replace ternary with just shifting the sign at the right place
** This seems to improve codegen (less instructions, no cmov)
2023-03-01 23:39:01 +00:00
Daniel Lemire
b1d27734c5
Merge pull request #173 from fastfloat/nofallbacknecessary
...
We do not need a fallback.
2023-02-28 17:19:57 -05:00
Lenard Szolnoki
e320512755
Fix power_of_five_128 to be usable in constexpr in MSVC, clang
2023-02-25 18:34:22 +00:00
Lenard Szolnoki
0e4b873d81
Fix space_lut so it's accepted by MSVC and clang
2023-02-25 18:27:10 +00:00
Lenard Szolnoki
a6991ea44f
Add comment to the FASTFLOAT_CONSTEXPR14 macro definition
2023-02-25 11:11:09 +00:00
Lenard Szolnoki
be6084863c
Low-risk C++14 constexpr functions
2023-02-25 10:50:45 +00:00
Daniel Lemire
252a1c9dce
Minor fix.
2023-02-06 17:22:11 -05:00
Daniel Lemire
39e04ea766
We do not need a fallback.
2023-01-27 20:59:56 -05:00
Daniel Lemire
3e2da540ef
Support rccpfastfloat.
2023-01-19 20:28:10 -05:00
Sergey Fedorov
ff7fba01d0
float_common.h: add support for ppc32
2023-01-18 14:15:14 +08:00
Daniel Lemire
c8aac4a63d
Guard endian
2023-01-07 13:28:12 -05:00
Joao Paulo Magalhaes
7f7838b36a
Fix compile warning: implicit double->float type conversion
...
With Intel 2021.1:
```
/home/runner/work/c4core/c4core/src/c4/ext/fast_float_all.h:319:49: error: implicit conversion between floating point types of different sizes [-Werror,-Wimplicit-float-size-conversion]
constexpr static float powers_of_ten_float[] = {1e0, 1e1, 1e2, 1e3,
1e4, 1e5,
```
2022-12-27 11:09:17 +00:00
Joao Paulo Magalhaes
ca13367ff7
Suppress warning when comparing floats
2022-12-27 01:39:41 +00:00
Daniel Lemire
102e74891f
Merge pull request #160 from huangqinjin/uint64-to-bool
...
Fix compile warning of unit64_t to bool
2022-12-23 10:39:33 -05:00
huangqinjin
293ca61c76
Fix compile warning of unit64_t to bool
2022-12-23 19:20:28 +08:00
huangqinjin
9c4c20dd7f
Replace utf8 chars.
2022-12-18 11:04:16 +08:00
Sutou Kouhei
ff5855813f
Add missing namespace end comments
...
Other files have it.
2022-12-02 11:42:38 +09:00
Daniel Lemire
76537e1695
Fixing issue 154.
2022-11-25 15:58:54 -05:00
Daniel Lemire
003a983188
Simplifying the justification.
2022-11-18 15:38:21 -05:00
Daniel Lemire
8b7a55a03c
Minor optimization.
2022-11-18 15:33:44 -05:00
Daniel Lemire
3d0e448940
Added a remark.
2022-11-18 12:27:38 -05:00
Daniel Lemire
39ea41b84a
Adopting proposal.
2022-11-18 11:28:34 -05:00
Daniel Lemire
bfc0478feb
More tweaks.
2022-11-16 16:45:01 -05:00
Daniel Lemire
29b1a03d5b
Make sure that macros have actual values when defined (makes debugging easier)
2022-11-16 15:49:09 -05:00
Daniel Lemire
8f27b7e921
More tuning.
2022-11-16 15:42:56 -05:00
Daniel Lemire
fd9d9effda
More tweaking around clangcl
2022-11-16 15:25:03 -05:00
Daniel Lemire
d225059873
Fix for Win32+ClangCL
2022-11-16 14:35:31 -05:00
Daniel Lemire
2c8e738950
Cleaning.
2022-11-16 12:06:33 -05:00
Daniel Lemire
6ceb29a7e4
We might reenable clinger.
2022-11-16 16:21:34 +00:00
Daniel Lemire
6484c73696
Trimming out one eight-digit optimization.
2022-11-15 11:38:06 -05:00
Daniel Lemire
a2cf502395
Typo.
2022-11-03 19:41:30 -04:00
Daniel Lemire
3e29bf78c7
Nicer constants.
2022-11-03 19:40:05 -04:00
Daniel Lemire
e958ff4269
Simplified clinger.
2022-11-03 18:51:37 -04:00
Sutou Kouhei
5a71e5bc40
Don't use __umulh() with MinGW on ARM64
2022-10-28 15:33:37 +09:00
Dirk Stolle
3fddb89508
Fix some typos
2022-08-30 22:55:34 +02:00