Commit Graph

797 Commits

Author SHA1 Message Date
Matt Borland
a2f801ee6b Specialize umul256 2023-06-22 16:51:36 +02:00
Matt Borland
3b57902418 Add testing of clinger's fast path 2023-06-22 16:51:36 +02:00
Matt Borland
459c87b27d First full cut 2023-06-22 16:51:36 +02:00
Matt Borland
614d2b6d85 Add XOR operator 2023-06-22 16:51:36 +02:00
Matt Borland
a9c6f87500 Split table into high 128bits and low 128bits 2023-06-22 12:00:47 +02:00
Matt Borland
a88770fe60 Change minimum exact range 2023-06-22 11:48:48 +02:00
Matt Borland
5374cec6fb Handle unrepresentative numbers for __float128 2023-06-22 11:18:09 +02:00
Matt Borland
b3d628cc42 Rework to allow 1 impl for both 80 and 128 bit types 2023-06-22 10:35:10 +02:00
Matt Borland
5d5760e5c7 Add u256 struct 2023-06-22 10:35:10 +02:00
Matt Borland
5cbd3411f5 Calculate powers of 10 with 256-bit significands 2023-06-22 10:35:10 +02:00
Matt Borland
6dd9511380 Add clz for unsigned 128-bit ints 2023-06-22 10:35:10 +02:00
Matt Borland
19b79fc326 Add 80-bit fast-path 2023-06-22 10:35:10 +02:00
Matt Borland
038b885581 Merge pull request #56 from mborland/ryu_long_double
to_chars for long double and binary128
2023-06-22 10:34:52 +02:00
Matt Borland
c9afd46251 Fix printing of 1 character 2023-06-22 09:16:12 +02:00
Matt Borland
4b608310b6 Fix macro definitions 2023-06-22 09:16:01 +02:00
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