Commit Graph

487 Commits

Author SHA1 Message Date
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
Matt Borland
61dcb1131b Use quadmath macros instead of numeric_limits 2023-06-13 16:45:24 +02:00
Matt Borland
ca2021f6b1 Add bounds checking in generic_to_chars 2023-06-13 15:55:40 +02:00
Matt Borland
abd62291c1 Change __float128 bit layout 2023-06-13 14:45:32 +02:00
Matt Borland
b4443c75a1 Add ibm128 overload 2023-06-13 12:05:06 +02:00
Matt Borland
6456fddcc8 Add __float128 from_chars stub impl 2023-06-13 08:54:52 +02:00
Matt Borland
dce81a54b2 Use __builtin_nansq for test when available 2023-06-13 08:46:01 +02:00
Matt Borland
ca072ee2e4 Use quadmath issignaling and prevent macro sub 2023-06-12 17:21:30 +02:00
Matt Borland
ebc74e8604 inline to_chars_finite 2023-06-12 17:02:54 +02:00
Matt Borland
3808e0ef81 Handle non-finite __float128 values 2023-06-12 16:37:00 +02:00
Matt Borland
ec4550ff07 Add issignaling handling for __float128 2023-06-12 16:36:18 +02:00
Matt Borland
7eb35006db Add bit layout for binary128 2023-06-12 16:36:02 +02:00
Matt Borland
3e8b9cd880 Inline ryu functions 2023-06-12 15:25:56 +02:00
Matt Borland
d104bda6e1 Refactor handling of non-finite values 2023-06-12 15:20:17 +02:00
Matt Borland
f73af1a67d Fix negative shift value UB 2023-06-12 15:12:33 +02:00
Matt Borland
d7b09c825e Test fixed formating 2023-06-12 14:02:57 +02:00
Matt Borland
d02b341b90 Fix merge conflict 2023-06-12 11:25:02 +02:00
Matt Borland
3907b9e678 Fix non-trivial memcpy 2023-06-12 11:15:30 +02:00
Matt Borland
60be888077 Remove headers for MSVC and fix conversion 2023-06-12 10:59:43 +02:00
Matt Borland
8518588e83 Remove workarounds for missing u128 type 2023-06-12 10:37:09 +02:00
Matt Borland
c03baf1c80 Remove MSVC intrinsics that stop operator* from being constexpr 2023-06-12 10:36:41 +02:00
Matt Borland
47665531f9 Enable use of uint128 or unsigned __int128 2023-06-09 17:13:49 +02:00
Matt Borland
19ae4fb9be Fix uint128 num_digits impl 2023-06-09 17:13:18 +02:00
Matt Borland
5d9a5bedb0 Add operator bool 2023-06-09 17:12:57 +02:00
Matt Borland
5673871286 Use alias for required 128-bit type 2023-06-09 16:21:29 +02:00
Matt Borland
5a33d57049 Add tests for numeric_limits 2023-06-09 15:49:05 +02:00
Matt Borland
1ba841b2c4 Specialize numeric_limits 2023-06-09 15:43:24 +02:00