Niels Lohmann
3c68a796df
🔥 deprecated iterator_wrapper #874
...
Also fixed some warnings from GCC.
2018-01-23 16:33:08 +01:00
Niels Lohmann
7eabb6ba36
📝 updated documentation for UBJSON functions
2018-01-22 23:23:17 +01:00
Niels Lohmann
3cca630836
🔨 cleanup after #915
2018-01-21 15:55:35 +01:00
Niels Lohmann
010e596001
Merge pull request #915 from abolz/dtoa
...
Floating-point formatting
2018-01-21 15:02:57 +01:00
Niels Lohmann
3d776b0582
📝 updated README
2018-01-21 14:13:42 +01:00
Niels Lohmann
9e5d901f55
Merge branch 'feature/ubjson' into develop
2018-01-21 14:04:29 +01:00
Niels Lohmann
327b8bb09e
Merge branch 'feature/strings' into develop
2018-01-21 13:55:52 +01:00
Niels Lohmann
b406e3704b
➕ using Google Benchmark #921
2018-01-18 22:00:32 +01:00
Niels Lohmann
a8f711a2f1
➕ using Google Benchmark #921
2018-01-18 21:57:21 +01:00
Niels Lohmann
6402077ac2
Merge pull request #876 from nlohmann/feature/rfc7396
...
JSON Merge Patch (RFC 7396)
2018-01-18 06:49:31 +01:00
Niels Lohmann
7456f1d87b
♻️ re-used existing UTF-8 decoder to simplfy string serialization
2018-01-16 20:42:00 +01:00
Niels Lohmann
afe4571309
🔨 cleanup + some noexcept
2018-01-16 20:41:04 +01:00
Niels Lohmann
b182308eff
🔨 cleanup
2018-01-16 20:40:24 +01:00
abolz
9b9919d460
Use max_digits10 in dump_float for float->text->float round-trip
2018-01-15 21:26:03 +01:00
abolz
810f81bbd9
Regenerate src/json.hpp
2018-01-15 21:24:59 +01:00
abolz
787204f076
Add unit-tests for detail::to_chars
2018-01-15 21:13:17 +01:00
abolz
9f7c2c04c8
Use the Grisu2 algorithm for formatting 'float's and 'double's
2018-01-15 21:07:26 +01:00
abolz
332f352033
Add an implementation of the Grisu2 algorithm for binary to decimal floating-point conversion
...
This is an attempt to fix #360 . The algorithm produces
decimal representations which are guaranteed to roundtrip
and in ~99.8% actually produces the shortest possible
representation. So this is a nice compromise between using
a precision of digits10 and max_digits10.
Note 1:
The implementation only works for IEEE single/double precision
numbers. So the old implementation is kept for compatibility
with non-IEEE implementations and 'long double'.
Note 2:
If number_float_t is 'float', not all serialized numbers can
be recovered using strtod (strtof works, though). (There is
exactly one such number and the result is off by 1 ulp.)
This can be avoided by changing the implementation (the fix
is trivial), but then the resulting decimal numbers are not
exactly short.
2018-01-15 21:07:26 +01:00
abolz
0695ac4001
Add tests for #360
2018-01-15 21:07:25 +01:00
abolz
68a9736738
Tests: Re-enable some round-trip tests
2018-01-15 21:07:25 +01:00
abolz
6e2e466c27
Tests: Don't rely on the format used for floating-point formatting
2018-01-15 21:07:25 +01:00
abolz
107c21a488
Tests: Exponents are formatted with a leading '+' sign
2018-01-15 21:07:25 +01:00
abolz
3ae82d91a2
Tests: Floating-point formatting uses lower case 'e'
2018-01-15 21:07:24 +01:00
Niels Lohmann
92f7295063
🔨 cleanup
2018-01-15 13:21:33 +01:00
Niels Lohmann
3ac674562f
🔨 clean up
2018-01-14 22:26:20 +01:00
Niels Lohmann
d9446b0e6e
Merge pull request #911 from theodelrieu/fix/cmake_install
...
Fix/cmake install
2018-01-14 20:08:49 +01:00
Niels Lohmann
9d6b3731b9
✅ improved test coverage
2018-01-14 20:07:38 +01:00
Niels Lohmann
06cddd371b
🔨 removed failing amalgamation test
2018-01-14 17:22:42 +01:00
Niels Lohmann
f85f4967fe
✅ improved test coverage
2018-01-14 17:22:06 +01:00
Niels Lohmann
6965ff00c8
Merge branch 'develop' into feature/ubjson
2018-01-14 13:58:06 +01:00
Niels Lohmann
411c16cbb2
📝 overworked documentation wrt. amalgamation #906
2018-01-14 13:08:28 +01:00
Niels Lohmann
fea5f3792b
📝 it's 2018
2018-01-14 10:41:59 +01:00
Niels Lohmann
541b46132d
♻️ adjusted code to split headers
2018-01-14 10:34:43 +01:00
Niels Lohmann
0e8f01a963
Merge branch 'develop' into feature/rfc7396
2018-01-14 10:28:09 +01:00
Niels Lohmann
c772c01a48
♻️ refactored code to split headers
2018-01-14 10:27:30 +01:00
Niels Lohmann
1b54d4a5aa
Merge branch 'develop' into feature/ubjson
2018-01-14 10:10:56 +01:00
Niels Lohmann
420dcf1f25
🚧 added check whether code is amalgamated
2018-01-14 10:10:23 +01:00
Théo DELRIEU
5775084ffc
cmake: add option to use/install the non-amalgamated version
2018-01-13 13:07:03 +01:00
Théo DELRIEU
84bffd5d36
move amalgamate tool to third_party folder
2018-01-13 13:05:42 +01:00
Théo DELRIEU
922b56e492
cmake: add back trailing slash to NLOHMANN_JSON_SOURCE_DIR
2018-01-13 12:27:33 +01:00
Niels Lohmann
a66b2d20c6
🚨 removed linter warnings for Python code
2018-01-13 11:15:23 +01:00
Niels Lohmann
f4a55f26b0
➕ added amalgamate Python script
2018-01-13 10:59:49 +01:00
Niels Lohmann
241eea0c0e
📝 documentation
2018-01-12 09:23:33 +01:00
Niels Lohmann
10bad9381d
🚧 added size benchmark for binary formats
2018-01-10 23:13:48 +01:00
Niels Lohmann
3a7585e738
✅ added more tests
2018-01-10 22:47:07 +01:00
Niels Lohmann
31bfabc4c0
🔨 optimized input format
2018-01-10 16:14:43 +01:00
Niels Lohmann
965a70e38d
🔨 optimized output format
2018-01-10 11:22:19 +01:00
Niels Lohmann
85173f5627
🔨 some clean up
2018-01-10 10:18:31 +01:00
Niels Lohmann
ce53537ba2
➖ ➕ replaces amalgamation tool
...
The tool used before created a lot of duplicates inside the generated amalgamation. The new tool is a single Python file which seems to do the same job.
2018-01-09 23:15:06 +01:00
Niels Lohmann
0a2920e0fd
♻️ reorganized code
2018-01-09 18:30:02 +01:00