Commit Graph

573 Commits

Author SHA1 Message Date
Matt Borland
dc219b2c46 Remove FLT_EVAL_METHOD handling 2023-07-31 16:40:13 -04:00
Matt Borland
fe0b93584e Remove unused conversion function 2023-07-31 16:11:09 -04:00
Matt Borland
879237feb7 Improve 128-bit clinger 2023-07-31 16:08:27 -04:00
Matt Borland
3fcebbc286 Use full range of clinger fast path 2023-07-31 15:44:24 -04:00
Matt Borland
7586c0ebfc Add more random value testing 2023-07-07 16:55:05 +02:00
Matt Borland
1ee89ec557 Add charconv comparison 2023-07-07 15:53:52 +02:00
Matt Borland
86d697b139 Reduce control statements for large and small values 2023-07-07 13:50:10 +02:00
Matt Borland
ba031c3822 Remove cruft 2023-07-07 13:19:09 +02:00
Matt Borland
7778836172 Use fabsq instead of std::abs 2023-07-07 13:13:01 +02:00
Matt Borland
65a7264829 Fix offset for powers implicit in the mantissa 2023-07-07 10:32:09 +02:00
Matt Borland
97cd8a4c94 Remove constexpr from conversion operator 2023-07-06 17:01:42 +02:00
Matt Borland
08dcd6ea4a Add float distance for __float128 2023-07-06 16:58:58 +02:00
Matt Borland
b69b9fd5db Add explicit specialization for __float128 2023-07-06 16:58:13 +02:00
Matt Borland
65abeb8f8e Add __float128 conversion operator 2023-07-06 16:57:27 +02:00
Matt Borland
30b45d5554 Add bit size guards 2023-07-06 15:57:17 +02:00
Matt Borland
1a4671024d Improve rounding to 1 ULP 2023-07-06 15:07:45 +02:00
Matt Borland
31fa9edadd Use single mantissa 2023-07-06 14:17:29 +02:00
Matt Borland
196fc6b9e1 Use lookup tables for big and small values 2023-07-06 13:37:10 +02:00
Matt Borland
4afef63dad Only use fast path 2023-07-06 10:52:20 +02:00
Matt Borland
074464ce3e Change 80 bit mask 2023-07-05 17:01:18 +02:00
Matt Borland
3f675c1a7a Add binary output 2023-07-05 16:46:39 +02:00
Matt Borland
31852daf55 Add second mantissa calculation path 2023-07-05 15:35:33 +02:00
Matt Borland
140e8d5f44 Fix normalizing the significand 2023-07-05 15:04:40 +02:00
Matt Borland
5a3a9b3999 Increase precision of masking operations
[ci skip]
2023-06-30 17:40:12 +02:00
Matt Borland
dc6ce63e01 Fix 256-bit high bit calculation 2023-06-30 17:27:52 +02:00
Matt Borland
5808c27206 Add operator& 2023-06-30 17:23:57 +02:00
Matt Borland
fd61faaa51 Add conversion operators 2023-06-30 17:15:43 +02:00
Matt Borland
0f1970706d Add numeric_limits specialization 2023-06-30 17:03:58 +02:00
Matt Borland
cfc9382469 Add 64-bit comparisons 2023-06-30 16:58:39 +02:00
Matt Borland
bfaf185ac3 Add 64-bit compatible operators/ and % 2023-06-30 16:20:27 +02:00
Matt Borland
7d18408c0c Fix precision during calculation of z 2023-06-30 16:15:19 +02:00
Matt Borland
8243c2d387 Add sub operator 2023-06-30 16:08:42 +02:00
Matt Borland
112d3ece6b Add operator| 2023-06-30 16:00:25 +02:00
Matt Borland
3d26f26c9b Add operators >>= and <<= 2023-06-30 15:45:10 +02:00
Matt Borland
7ed86677ab Add 256 bit comp operators 2023-06-30 15:03:01 +02:00
Matt Borland
1c9573344c Improve final calculation 2023-06-30 14:42:40 +02:00
Matt Borland
38752a1e10 Fix calculation of u and p 2023-06-30 13:40:58 +02:00
Matt Borland
e0adbd0855 Add portable shifting for significant bit
[ci skip]
2023-06-29 15:05:32 +02:00
Matt Borland
b26cd77e9c Improve portability of masking operation 2023-06-29 14:25:27 +02:00
Matt Borland
b1cbcab893 Fix calculation in step 5 2023-06-29 13:50:30 +02:00
Matt Borland
3331f04f7b Change max and min powers 2023-06-29 13:49:33 +02:00
Matt Borland
a4a3c64f5a Improve handling of out of range values 2023-06-29 13:37:12 +02:00
Matt Borland
487b70c554 Rework algorithm 2023-06-29 11:42:26 +02:00
Matt Borland
fe0726d5c5 Add left shift for u256 2023-06-28 18:59:58 +02:00
Matt Borland
f1c9a7d866 Add diagnostic for use of BOOST_UNLIKELY fallback routine 2023-06-27 16:24:46 +02:00
Matt Borland
7522d6306e Add random value test 2023-06-26 16:51:55 +02:00
Matt Borland
c68e1ab080 Use runtime calculation for fallback path 2023-06-26 14:51:09 +02:00
Matt Borland
d2d6bd59d4 Add runtime computation of power of 5 2023-06-26 14:37:55 +02:00
Matt Borland
29873873ab Add 512 bit multiplication 2023-06-26 14:16:08 +02:00
Matt Borland
6bb0df05db Add 256bit operator+ 2023-06-26 14:15:32 +02:00