Commit Graph

599 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
86f30a37c3 Add precision=6 cases to to_chars_floating 2023-05-25 22:12:22 +03:00
Peter Dimov
881b9e8c0a Add benchmark/to_chars_floating.cpp 2023-05-25 21:52:08 +03:00
Peter Dimov
0886fd44fa Look at first buffer character to prevent Clang from optimizing the benchmark out 2023-05-25 21:37:42 +03:00
Peter Dimov
9ee557dbae Add BOOST_NOINLINE to benchmark functions 2023-05-25 21:34:50 +03:00
Peter Dimov
615e79e9a8 Output compiler and stdlib names in benchmarks 2023-05-25 20:20:53 +03:00
Peter Dimov
37251907bd Output compiler and stdlib names in benchmark 2023-05-25 20:19:47 +03:00
Peter Dimov
e724e69a85 Add benchmark/from_chars_floating.cpp 2023-05-25 20:08:25 +03: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
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