Commit Graph

584 Commits

Author SHA1 Message Date
Matt Borland
51cfc4ef07 Merge pull request #51 from mborland/fix_fallback_routine
Use r.ptr instead of last in fallback routine
2023-05-25 16:21:25 +02:00
Peter Dimov
1fdd803c7e Add benchmark/from_chars_integral.cpp 2023-05-25 17:12:01 +03:00
Peter Dimov
daec889020 Add benchmark/to_chars_integral.cpp 2023-05-25 16:54:15 +03:00
Matt Borland
6c0e5fd6fa Use r.ptr instead of last in fallback routine 2023-05-25 14:39:08 +02:00
Matt Borland
6376d13386 Merge pull request #50 from mborland/Reorganize_from_chars
Move floating point from_chars detail into implementation header
2023-05-25 10:38:33 +02:00
Matt Borland
5566f436a6 Move floating point from chars detail into implementation header 2023-05-25 09:37:54 +02:00
Matt Borland
ecef38c679 Merge pull request #47 from mborland/hard_values
Add stress inputs and fix sub-normal value handling
2023-05-25 09:18:47 +02:00
Matt Borland
4ba827c182 Fix merge conflict 2023-05-24 16:29:50 +02:00
Matt Borland
617076f990 Merge pull request #49 from mborland/48
Add character validation functions to parser
2023-05-24 15:46:05 +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
8b313782a7 Add sub-normal value tests 2023-05-24 14:27:48 +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
d02ee9684e Add tests for delimited values in different forms 2023-05-24 11:31:29 +02:00
Matt Borland
413afe3440 Add character validation function to parser 2023-05-24 10:14:39 +02:00
Matt Borland
0b0d0b6718 Add test value 2023-05-23 17:32:47 +02:00
Matt Borland
cecf39658a Remove unneeded check from updated lemire 2023-05-23 15:32:20 +02:00
Matt Borland
df421ae3d8 Add round tripping of consecutive extreme values 2023-05-23 15:27:18 +02:00
Matt Borland
6d39c28957 Add values where RapidJSON uses bigints 2023-05-23 14:31:51 +02:00
Matt Borland
9728cf26c9 Add table 2 and hardest 17 digit number 2023-05-23 10:23:17 +02:00
Matt Borland
f8d200ecd4 Add stress inputs from test base
https://www.icir.org/vern/papers/testbase-report.pdf
2023-05-22 17:23:31 +02:00
Matt Borland
212cdf990e Merge pull request #46 from mborland/from_chars_failures
Avoid fallback routine buffer overruns
2023-05-22 16:41:26 +02:00
Matt Borland
8c695535ca Remove static buffer default initialization 2023-05-22 15:35:18 +02:00
Matt Borland
78cd508448 Remove test value initialization 2023-05-22 11:17:39 +02:00
Matt Borland
4894a34472 Improve issue 45 testing 2023-05-22 11:17:39 +02:00
Matt Borland
044242dbce Add fallback routine with dynamic memory allocation 2023-05-22 11:17:39 +02:00
Matt Borland
dd862f8679 Fix incorrect test value 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
e6e12051cd Add test cases 2023-05-22 11:17:39 +02:00
Peter Dimov
7d8d3449eb Use snprintf instead of sprintf to avoid security deprecation warnings 2023-05-19 18:55:04 +03:00
Peter Dimov
6618b989b3 Add zero extension tests for float and double 2023-05-19 18:43:06 +03:00
Peter Dimov
8ad34f7c50 Remove myself as an author 2023-05-18 14:49:25 +03:00
Matt Borland
d0a30cf066 Merge pull request #42 from mborland/system_error
Use `std::errc` as the error code instead of errno values
2023-05-18 13:30:33 +02:00
Matt Borland
554d7a0c3e Ignore GCC 9, 10, and 12 -Wmaybe-uninitialized 2023-05-18 12:43:11 +02:00
Matt Borland
21f46c136f Fix doc section headers 2023-05-18 11:29:53 +02:00
Matt Borland
692a2b9c01 Fix failures on platforms with long double > 64 bits 2023-05-18 11:20:49 +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
8c0027f087 Merge pull request #41 from mborland/37
Change handling of ERANGE values to match std::strtod
2023-05-17 17:34:57 +02:00
Matt Borland
809dc65dd5 Fix starting value of V and test operator 2023-05-17 16:13:09 +02:00
Matt Borland
686c515c0c Add long double subnormal range for conversion to +/- 0 2023-05-17 10:35:18 +02:00
Matt Borland
1edb1e70eb Explain how we are diverging from the cpp standard in docs 2023-05-17 09:23:04 +02:00
Matt Borland
9a98e90adc Fix long double testing 2023-05-17 09:22:46 +02:00
Matt Borland
c5214a9500 Make a note in the docs that we diverge from the standard on ERANGE 2023-05-17 09:08:15 +02:00
Matt Borland
72a62c91d5 Fix handling for floats 2023-05-17 08:59:50 +02:00
Matt Borland
99e54aa603 Add long double test case 2023-05-17 08:49:41 +02:00
Matt Borland
3a00fa7f30 Add handling for doubles 2023-05-17 08:44:24 +02:00