Commit Graph

782 Commits

Author SHA1 Message Date
Matt Borland
554bc47ad0 Fix typo in macro name 2023-06-21 13:02:01 +02:00
Matt Borland
56e4bc799c Suppress warning MSVC C4127 2023-06-21 11:44:21 +02:00
Matt Borland
e2339ce864 Fix for 64-bit LDBL systems 2023-06-21 11:36:10 +02:00
Matt Borland
b0a8e5299b Fix non-finite value testing, and add testing 2023-06-21 11:14:45 +02:00
Matt Borland
43a0386a88 Refactor to_chars_hex to remove duplication 2023-06-21 11:09:25 +02:00
Matt Borland
e1599dd2e9 Refactor hex edge case handling 2023-06-21 10:15:57 +02:00
Matt Borland
800db63b33 Add cmake testing macro 2023-06-21 09:51:31 +02:00
Matt Borland
5cc61b80f2 Re-enable debug macros 2023-06-20 16:29:33 +02:00
Matt Borland
dfb483dcf2 Add olegth of 0 code path 2023-06-20 16:29:20 +02:00
Matt Borland
424e9072f6 Fix bounds checking and error code 2023-06-20 15:53:41 +02:00
Matt Borland
b534710233 Fix ASAN errors 2023-06-20 15:20:30 +02:00
Matt Borland
24a1df11a6 Change 128-bit long double bit pattern 2023-06-20 14:50:59 +02:00
Matt Borland
8f23cb8f02 Add debug info 2023-06-20 14:42:07 +02:00
Matt Borland
b768f3da27 Fix offset when inserting into middle of existing number 2023-06-20 14:41:59 +02:00
Matt Borland
0689eca432 Add bounds checking 2023-06-20 13:31:03 +02:00
Matt Borland
54a12759c9 Add 128-bit long double ASAN 2023-06-20 13:04:46 +02:00
Matt Borland
ee5d2f4785 Implement fixed precision for long doubles 2023-06-20 12:31:32 +02:00
Matt Borland
a76c85252c Implement precision arguments for long doubles 2023-06-20 11:26:11 +02:00
Matt Borland
5114152ffb Add precision in scientific mode 2023-06-20 09:57:32 +02:00
Matt Borland
619120e547 Fix continued rounding 2023-06-20 09:37:39 +02:00
Matt Borland
e11a26f6f1 Don't print trailing zeros 2023-06-20 09:23:33 +02:00
Matt Borland
e0bd9d2fff Update docs 2023-06-19 18:21:19 +02:00
Matt Borland
5001ce744d Fix definition of precision 2023-06-19 18:08:20 +02:00
Matt Borland
78d65ae5a6 Add <charconv> precision tests 2023-06-19 17:08:02 +02:00
Matt Borland
a7c06c30aa Add precision argument to general case 2023-06-19 16:51:00 +02:00
Matt Borland
facd00f02c Add precision argument 2023-06-19 16:14:59 +02:00
Matt Borland
73e11b21bb Remove very large and very small fixed value tests 2023-06-19 10:11:08 +02:00
Matt Borland
a51be9e467 Allow to_chars for integers to be used with emulated128 2023-06-16 16:22:21 +02:00
Matt Borland
38f04ba2a2 Add debug macros 2023-06-16 15:19:01 +02:00
Matt Borland
b2e69b6e4a Add fixed formatting handling 2023-06-16 14:47:06 +02:00
Matt Borland
153909cf86 Implement option 3 2023-06-16 14:46:50 +02:00
Matt Borland
b60677fb5b Add implementations for cases 1, 3, and 4
[ci skip]
2023-06-16 14:08:32 +02:00
Matt Borland
5d48340670 Refactor to_chars 2023-06-16 13:40:51 +02:00
Matt Borland
05505d42c0 Fix type switching macros 2023-06-16 10:15:27 +02:00
Matt Borland
f4496ef9e4 Add 80-bit long double code path in to_chars_hex and add testing 2023-06-15 17:00:57 +02:00
Matt Borland
04fdb8d209 Enable testing 2023-06-15 16:33:21 +02:00
Matt Borland
fad315a535 Add 128 bit hex specialization 2023-06-15 16:26:54 +02:00
Matt Borland
1638ad597a Refactor detail namespace 2023-06-15 16:00:35 +02:00
Matt Borland
d772892d0a Add struct for ieee754_binary128 parameters 2023-06-15 15:59:53 +02:00
Matt Borland
735d0343c9 Suppress MSVC 14.1 warning C4307 2023-06-15 14:41:05 +02:00
Matt Borland
61786ea8b3 Fix digit counting for emulated u128 2023-06-15 14:28:23 +02:00
Matt Borland
ca7748ba2f Improve fallback path 2023-06-15 11:28:18 +02:00
Matt Borland
4f8f4f16e1 Fix use of numeric_limits 2023-06-15 11:28:08 +02:00
Matt Borland
58f8195a76 Change BV testing and remove tiny range 2023-06-14 16:54:06 +02:00
Matt Borland
4d8f3df554 Fix test error 2023-06-14 16:08:58 +02:00
Matt Borland
364fb33bba Update benchmarks to include std::float128_t 2023-06-14 16:02:48 +02:00
Matt Borland
f033ed6a4b Test against <charconv> 2023-06-14 15:12:02 +02:00
Matt Borland
ca938f9f24 Fix std::float128_t domain value 2023-06-14 15:11:51 +02:00
Matt Borland
03a906bbaa Cast boundaries for std::float128_t testing 2023-06-14 15:07:23 +02:00
Matt Borland
e4e1e77816 Add additional std::float128_t testing 2023-06-14 14:39:55 +02:00