Commit Graph

374 Commits

Author SHA1 Message Date
Matt Borland
d65119663f Port bigint 2023-05-26 14:23:20 +02:00
Matt Borland
ebfe63f5f5 Port ascii_number 2023-05-26 11:16:45 +02:00
Matt Borland
61b0cdf8ba Add binary operands to chars_format 2023-05-26 11:10:30 +02:00
Matt Borland
3daf7bc899 Port float common 2023-05-26 10:47:23 +02:00
Matt Borland
9bac3465ee Port config information 2023-05-26 09:26:56 +02:00
Peter Dimov
166d6725ed Merge branch 'feature/opt-from-integral' into develop 2023-05-25 18:43:31 +03:00
Peter Dimov
dc5701a57d Fix sign extension issue when char is signed 2023-05-25 18:21:15 +03:00
Peter Dimov
f3578abad9 Skip overflow checks in the first digits10 characters 2023-05-25 18:17:10 +03:00
Matt Borland
6c0e5fd6fa Use r.ptr instead of last in fallback routine 2023-05-25 14:39:08 +02:00
Matt Borland
5566f436a6 Move floating point from chars detail into implementation header 2023-05-25 09:37:54 +02:00
Matt Borland
4ba827c182 Fix merge conflict 2023-05-24 16:29:50 +02:00
Matt Borland
7b30cdde8f Fix min exponent for double to allow for sub-normal values 2023-05-24 14:28:30 +02:00
Matt Borland
0a5e2e3590 Reduce number of branches 2023-05-24 13:40:34 +02:00
Matt Borland
828774b097 Add support for delimiters to parser 2023-05-24 11:37:56 +02:00
Matt Borland
413afe3440 Add character validation function to parser 2023-05-24 10:14:39 +02:00
Matt Borland
cecf39658a Remove unneeded check from updated lemire 2023-05-23 15:32:20 +02:00
Matt Borland
8c695535ca Remove static buffer default initialization 2023-05-22 15:35:18 +02:00
Matt Borland
044242dbce Add fallback routine with dynamic memory allocation 2023-05-22 11:17:39 +02:00
Matt Borland
dbfb6804c2 Add special handling with exp = -1 to avoid unnecessary fallback 2023-05-22 11:17:39 +02:00
Matt Borland
19e8ea55fb Use temporary buffer in fallback routine to avoid over-running last 2023-05-22 11:17:39 +02:00
Matt Borland
554d7a0c3e Ignore GCC 9, 10, and 12 -Wmaybe-uninitialized 2023-05-18 12:43:11 +02:00
Matt Borland
94830e29de Update docs 2023-05-18 10:56:14 +02:00
Matt Borland
f9b0b76499 Add function to convert errno to std::errc 2023-05-18 10:21:09 +02:00
Matt Borland
f027ead7a0 Convert to_chars to use std::errc instead of errno 2023-05-18 10:20:50 +02:00
Matt Borland
3d211434b4 Convert from_chars to use std::errc instead of errno 2023-05-18 10:20:44 +02:00
Matt Borland
686c515c0c Add long double subnormal range for conversion to +/- 0 2023-05-17 10:35:18 +02:00
Matt Borland
72a62c91d5 Fix handling for floats 2023-05-17 08:59:50 +02:00
Matt Borland
3a00fa7f30 Add handling for doubles 2023-05-17 08:44:24 +02:00
Matt Borland
f0d0388898 Add handling for 64-bit long doubles 2023-05-16 11:00:44 +02:00
Matt Borland
abf047cb04 Change handling of exponent when significand does not fit the buffer 2023-05-15 13:48:36 +02:00
Matt Borland
4b91f2310a Return EINVAL instead of ignoring parsing leading + sign 2023-05-12 13:45:32 +02:00
Matt Borland
cdf0da31c6 Merge pull request #36 from mborland/29
Fix parsing of 0 or empty significand
2023-05-12 13:43:09 +02:00
Matt Borland
dc7f2cd04b If value is EINVAL it should be returned unmodified 2023-05-12 13:00:03 +02:00
Matt Borland
e4ab9c5b57 Add value without significand handling and test 2023-05-12 12:56:29 +02:00
Matt Borland
49be94043b Fix handling of a significand equal to 0 2023-05-12 12:38:27 +02:00
Matt Borland
f6eded71e6 Remove unused pack/unpack functions 2023-05-12 12:12:19 +02:00
Matt Borland
84450fea91 Merge pull request #24 from mborland/float_to_chars
Float to chars
2023-05-09 14:41:42 +02:00
Matt Borland
a611a63796 Replace uses of _MSC_VER with BOOST_MSVC 2023-05-09 13:10:23 +02:00
Matt Borland
8be90e476a Remove duplicate safebuffers macro 2023-05-09 13:05:11 +02:00
Matt Borland
b0d318ad6b Change handling of 0 depending on chars_format 2023-05-08 15:14:16 +02:00
Matt Borland
246d9e0d96 Enable long doubles on 64-bit platforms 2023-05-05 15:54:27 +02:00
Matt Borland
5ee466ca4b Fix scientific notation handling of 0 power 2023-05-05 13:29:17 +02:00
Matt Borland
d1d8395bd9 Fix bounds on integer representation 2023-05-04 15:08:26 +02:00
Matt Borland
672dc6f684 Fix merge conflicts 2023-05-04 13:32:23 +02:00
Matt Borland
21133c6940 Suppress GCC 4.X -Wmissing-fied-initalizers 2023-05-04 12:52:23 +02:00
Matt Borland
d3fdefff4b Suppress conversion warnings for C++11 and 14 2023-05-04 09:46:39 +02:00
Matt Borland
1a893dcf47 Fix case where the power is equal to the number of leading zeros 2023-05-04 09:36:27 +02:00
Matt Borland
9a450e6d97 Don't use strlen when we already know the length of the buffer 2023-05-04 09:16:44 +02:00
Matt Borland
4fb8d92e76 Fix parsing large significand with fractional component 2023-05-04 09:06:12 +02:00
Matt Borland
adea138d23 Add strtod fallback routine 2023-05-04 08:45:42 +02:00