Commit Graph

452 Commits

Author SHA1 Message Date
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
Matt Borland
23e67cbf83 Fix ambiguous overload 2023-06-09 13:31:14 +02:00
Matt Borland
238a88c5e5 Add trivial struct for memcpy and test 2023-06-09 13:06:40 +02:00
Matt Borland
04e59d69f2 Fix mul operator 2023-06-09 10:12:10 +02:00
Matt Borland
0fc06cc7ed Add increment operators 2023-06-09 09:47:24 +02:00
Matt Borland
1325c38393 Add testing framework 2023-06-09 08:32:07 +02:00
Matt Borland
a5e07cb7a8 Change constexpr with intrinsics 2023-06-09 08:09:40 +02:00
Matt Borland
810d27c1fa Remove constexpr from operator+=(uint64_t) 2023-06-08 17:24:31 +02:00
Matt Borland
292f656252 Add overload for builtin 128 bit types 2023-06-08 17:12:37 +02:00
Matt Borland
6d7499127a init variables in constexpr functions 2023-06-08 16:24:04 +02:00
Matt Borland
5de6af388b Add mul operator 2023-06-08 16:20:38 +02:00
Matt Borland
96c068d972 Add binary operators 2023-06-08 15:53:04 +02:00
Matt Borland
89ec087eee Add logical and arithmetic operators 2023-06-08 14:48:01 +02:00
Matt Borland
4b5e9da265 Undef macros 2023-06-08 14:46:40 +02:00
Matt Borland
c63fca0d38 Add comparison operators 2023-06-08 14:45:44 +02:00
Matt Borland
eb03bb8c73 Add conversion operators 2023-06-08 14:15:41 +02:00
Matt Borland
264194e496 Add assignment operators 2023-06-08 14:06:52 +02:00
Matt Borland
ab7a330e51 Add constructors 2023-06-08 14:05:23 +02:00
Matt Borland
35312cb5fd Add overload for emulated128 in num_digits 2023-06-08 13:27:28 +02:00
Matt Borland
d6e9efa791 Add BOOST_CHARCONV_ASSUME macro 2023-06-08 13:27:05 +02:00
Matt Borland
c4b68401e3 __float128 fixes 2023-06-07 10:38:49 +02:00
Matt Borland
6df33e8d08 Add snprintf fallback 2023-06-07 10:10:27 +02:00
Matt Borland
ef5e521c6e Implement issignaling rather than using glibc macro 2023-06-06 08:40:12 +02:00
Matt Borland
4a53e7b962 Add 16-bit overloads 2023-06-05 17:16:48 +02:00
Matt Borland
bf691d2a83 Add overloads for std::float32_t and std::float64_t 2023-06-05 16:28:00 +02:00
Matt Borland
553559304f Require __uint128 to use __float128 2023-06-02 10:25:29 +02:00
Matt Borland
64dc9a4eff Add __float128 overload 2023-06-02 10:04:03 +02:00
Matt Borland
2e3636a90b Reduce code duplication with existing num_digits implementations 2023-06-01 17:05:49 +02:00
Matt Borland
db8db66c9a Adjust values of mantissa for snans 2023-06-01 16:54:58 +02:00
Matt Borland
c2b9e1d764 Fix macros for 32 bit systems 2023-06-01 15:54:51 +02:00
Matt Borland
b5b2a0a7c2 Add 80 and 128 bit implementation 2023-06-01 15:33:31 +02:00
Matt Borland
6a0ef32520 Change formatting of exponent 2023-06-01 15:09:03 +02:00
Matt Borland
c250f12616 Add __float128 overload 2023-06-01 14:57:35 +02:00
Matt Borland
71d3cf1b72 Change handling of nans and ints 2023-06-01 14:47:14 +02:00
Matt Borland
ccfcc0ff1f port ryu_generic_128 2023-06-01 14:23:36 +02:00
Matt Borland
77655ab9fa Port generic_128.hpp 2023-06-01 11:45:53 +02:00