Commit Graph

184 Commits

Author SHA1 Message Date
Matt Borland
ebb08e02c8 Port default_float_traits 2023-03-10 11:15:30 -08:00
Matt Borland
a857ee8772 Initial commit 2023-03-10 11:10:30 -08:00
Matt Borland
b4bfe101c3 Ignore leading zeros in exponent 2023-03-03 11:02:30 -08:00
Matt Borland
8df80c1ce1 Fix too many decimal places for type 2023-03-03 10:52:08 -08:00
Matt Borland
403517539d Fix big ints 2023-03-03 10:33:59 -08:00
Matt Borland
06b5912d78 Replace magic numbers 2023-03-03 10:04:24 -08:00
Matt Borland
012045fe23 Fix case of too many significant digits with exponent 2023-03-03 09:43:27 -08:00
Matt Borland
10f9898444 Compensate for significant digits outside the range of the significand 2023-03-03 09:03:38 -08:00
Matt Borland
c4b6349ac2 Remove leading zeros 2023-03-03 08:25:00 -08:00
Matt Borland
87b745a413 Fix intel compiler warning 2023-03-02 12:20:16 -08:00
Matt Borland
a6a8b589bd Fix exponent code path for decimal point position
[ci skip]
2023-03-02 11:58:19 -08:00
Matt Borland
d746811926 Fix non-exponent code path for decimal point position 2023-03-02 11:42:20 -08:00
Matt Borland
d0ad1f51fe Add bounds checking to parser 2023-03-02 11:10:45 -08:00
Matt Borland
1f0b76bdc6 Fix header organization 2023-03-02 10:17:10 -08:00
Matt Borland
27d7a74007 Fail on overflow 2023-03-02 10:16:27 -08:00
Matt Borland
5ad82255b3 Activate only 64-bit long double impls 2023-03-01 11:08:37 -08:00
Matt Borland
818b54488b Add rounding of last digit 2023-03-01 10:30:09 -08:00
Matt Borland
9f322c7ae7 Fix 80 bit power when we reduce the significand length 2023-03-01 08:59:25 -08:00
Matt Borland
6e3eda52d1 Fix limits cases 2023-03-01 08:45:31 -08:00
Matt Borland
1ed6b6749f Add 64 and 80 bit long double impls
[ci skip]
2023-02-28 12:20:20 -08:00
Matt Borland
6b4bc78fa6 Fix compute_float32 for edge cases 2023-02-28 10:36:23 -08:00
Matt Borland
513e7e6662 Refactor parser 2023-02-28 10:02:10 -08:00
Matt Borland
1688710f52 Fix parsing of scientific notation hex values 2023-02-28 10:00:07 -08:00
Matt Borland
6d3187bcf7 Change parser exponent for non-integer significands 2023-02-28 09:35:46 -08:00
Matt Borland
5fc998665e Remove duplicate overflow check from the parser 2023-02-28 09:12:23 -08:00
Matt Borland
7e011784a7 Replace float and double stub impls with real ones
[ci skip]
2023-02-27 11:44:04 -08:00
Matt Borland
36f23705e4 Fix count of exponent on integers 2023-02-27 11:31:54 -08:00
Matt Borland
541086c5c1 Reorganize to fix header cycle 2023-02-27 10:36:48 -08:00
Matt Borland
289b17c293 Add trivial functioning long double impl 2023-02-27 10:30:53 -08:00
Matt Borland
532a25ce1c Add support for uppercase exponents 2023-02-24 11:59:56 -08:00
Matt Borland
ae2d93e6ff Add hex scientific notation tests 2023-02-24 11:50:12 -08:00
Matt Borland
eb7e7d6eb6 Add tests for over/underflow 2023-02-24 11:42:26 -08:00
Matt Borland
70d4c7ae82 Add hex tests and shift responsibility for significand to computeXX 2023-02-24 11:23:02 -08:00
Matt Borland
b08344d002 Add scientific notation tests 2023-02-24 10:29:03 -08:00
Matt Borland
07a23c4652 Fix warning C4702: unreachable code 2023-02-24 09:56:32 -08:00
Matt Borland
034c05598f Add int->float parser test 2023-02-24 09:23:55 -08:00
Matt Borland
d839541743 WIP: Add generic parser 2023-02-23 11:53:26 -08:00
Matt Borland
c324d84350 Use to_chars to assemble a long double
[WIP]
2023-02-23 10:20:29 -08:00
Matt Borland
1a29f507da Add function to compute float 2023-02-23 08:45:59 -08:00
Matt Borland
094d0d87a2 Fix memory access violation 2023-02-22 12:26:07 -08:00
Matt Borland
a055bce3ee Add simple test for compute_float64 2023-02-22 11:53:23 -08:00
Matt Borland
a221554cb2 Move from_chars result into it's own header 2023-02-22 10:39:59 -08:00
Matt Borland
a525b9435a Add function to compute double from significand and exponent
[ci skip]
2023-02-22 09:44:00 -08:00
Matt Borland
4ff073e5f6 Remove all leading zero files 2023-02-21 12:03:58 -08:00
Matt Borland
7bee6b4d12 Merge remote-tracking branch 'origin/develop' into float_from_chars 2023-02-21 11:00:44 -08:00
Matt Borland
0f96efc9a7 Use boost.core implementations 2023-02-21 11:00:34 -08:00
Matt Borland
57919cea20 Change x86 intrinsic to work with 32bit environment 2023-02-21 10:33:06 -08:00
Matt Borland
2e60941a2e Add static_assert for sizeof uchar_values array 2023-02-21 09:49:32 -08:00
Matt Borland
cf3ef482b1 Replace std::array with c-style array 2023-02-21 09:12:05 -08:00
Matt Borland
370ac6ec9f Suppress Wconstant-conversion warning on Apple Clang 2023-02-21 09:10:39 -08:00