Commit Graph

513 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
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
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
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
5001ce744d Fix definition of precision 2023-06-19 18:08:20 +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
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
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
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
d5c7a98a75 Used __float128 as intermediate representation 2023-06-14 14:15:26 +02:00
Matt Borland
326741351a Add std::float128_t overloads 2023-06-14 13:41:31 +02:00
Matt Borland
9081ece448 Improve printing of single character 2023-06-14 13:00:18 +02:00