Milo Yip
7708215b60
Try to fix #313 again
2015-04-25 00:13:09 +08:00
Milo Yip
735354efd3
Separate handling for pos/neg exp and improve pos exp overflow
2015-04-24 22:50:42 +08:00
Milo Yip
93d13ad2ac
Fix #313 Assertion In Pow10.h
is triggered in Document::Parse
2015-04-24 21:44:42 +08:00
miloyip
22021d6622
Converts tabs to spaces
2015-04-16 10:15:23 +08:00
thebusytypist
6ef29ff431
Fix warning about unused argument.
2015-04-15 16:09:29 +08:00
thebusytypist
5ae48a0380
Assert on impossible state transition in Transit(); Put the last case and all non-enumerated cases(also supply assertion for them) in for code coverage.
2015-04-15 15:21:42 +08:00
thebusytypist
399333226b
Use assertion for impossible case(The Predict() can ensure the token is ColonToken, otherwise it would be marked as Error state. So there is no need to check ColonToken again).
2015-04-15 14:54:44 +08:00
Milo Yip
5ae85e67f6
Yet two more warnings
2015-04-11 00:41:09 +08:00
Milo Yip
b7e34100ed
Fix #288 double quote in unicode escape
2015-04-10 20:36:27 +08:00
Milo Yip
d1959ba6e3
Change copyright owner and related changes.
2015-04-03 12:57:16 +08:00
Philipp A. Hartmann
38dace775c
warning fixes ( closes #235 , closes #236 )
2015-02-07 14:49:25 +01:00
Drew Noakes
41f3c60b22
Use aligned SSE register load intrinsic.
...
The code goes to the trouble of ensuring that data is aligned at a
16-byte boundary, then goes ahead and uses the unaligned form of the
load intrinsic _mm_loadu_si128.
Either the code shouldn't bother aligning the data to the start of the
whitespace, or it should use the aligned form of the intrinsic.
2015-01-24 23:43:30 +00:00
Philipp A. Hartmann
0ee38bc918
Reader::Parse{Array,Object}: simplify switch
...
Closes #223 .
2015-01-11 18:46:58 +01:00
Milo Yip
23b7a5ecae
Add RAPIDJSON_PARSE_DEFAULT_FLAGS for customizing kParseDefaultFlags
...
https://github.com/miloyip/rapidjson/issues/120#issuecomment-54428797
2014-11-30 18:52:48 +08:00
Milo Yip
57b91300fb
Merge remote-tracking branch 'origin/master' into issue120floatprecision_customstrtod
...
Conflicts:
include/rapidjson/internal/dtoa.h
test/unittest/readertest.cpp
2014-11-14 22:23:16 +08:00
Philipp A. Hartmann
549dcb755d
*.h: move to namespace macros
2014-11-06 20:52:49 +01:00
Milo Yip
475b242087
Minor refactoring before optimization trial
2014-09-16 19:38:18 +08:00
miloyip
b29acfb90d
Limit significand to 17 digits for fast path
...
Should fix gcc debug error in tranvis. May need further refactoring.
2014-09-15 15:54:15 +08:00
Milo Yip
4bd240abee
Implementing custom strtod, fail on some cases [ci skip]
2014-09-12 23:03:20 +08:00
Milo Yip
359ebc78c0
Extract conversion code to strtod.h [ci skip]
2014-09-10 23:36:09 +08:00
miloyip
30ea2a32d1
Prepare custom strtod data. (cannot pass unit test) [ci skip]
2014-09-10 18:54:41 +08:00
miloyip
a71f2e60ff
Optimize ParseNumber()
2014-09-05 19:51:20 +08:00
Milo Yip
881c91d696
Merge master and implement kParseFullPrecision
2014-09-05 13:22:56 +08:00
Milo Yip
d875f16ad7
Refactor ParseNumber for two modes (incomplete)
2014-09-05 10:45:44 +08:00
Kosta
f0d9ab4ec9
finally fixing Reader::ParseString()
...
It was a copy-n-paste error for the last argument of `Key()` and `String()`...
2014-09-04 18:00:05 +02:00
Kosta
00ac1024ee
more changes
2014-09-04 17:37:13 +02:00
Kosta
e70494bc00
fix for Reader::ParseString()
implementation plus some minor code cleanups and additions
2014-09-04 17:29:52 +02:00
Kosta
4a71dc6d58
reunified ParseKey
, ParseString
, and ParseStringOrKey
again
2014-09-04 16:54:01 +02:00
Kosta
0f4071046f
fix simplereader.cpp
and the Key()->String()
forwarding in BaseReaderHandler
2014-09-04 15:30:44 +02:00
Kosta
57e1c87553
add Key()
method to the Handler
concept
...
For more details see: https://github.com/miloyip/rapidjson/issues/132
This commit tries to minimize the required code changes and forwards the `Handler::Key()` calls to `Handler::String()` wherever possible in order to not break existing code; or at least not code deriving from `BaseReaderHandler` when implementing a custom `Handler`.
2014-09-04 15:14:18 +02:00
miloyip
b0436911a8
Check "fast path cases in disguise" in strtod
2014-09-03 14:45:37 +08:00
miloyip
0580d42d11
Fallback strtod() when not able to do fast-path
...
This shall generate best possible precision (if strtod() is correctly
implemented). Need more unit tests and performance tests. May add an
option for accepting precision error. Otherwise LUT in Pow10() can be
reduced.
2014-09-03 01:02:38 +08:00
miloyip
4f81c873a6
Optimize SkipWhitespace_SIMD()
...
Do unaligned non-SIMD matching first, and then SIMD matching later.
Also add a fast path for no skipping.
2014-08-20 17:49:30 +08:00
miloyip
fdc2b569db
Optimize number parsing for 64-bit architecture
2014-08-20 15:17:21 +08:00
Philipp A. Hartmann
1621ba3a41
add Doxygen documentation for error handling customization
2014-08-19 19:13:01 +02:00
Milo Yip
2e23787753
Change Reader/Writer's stack allocator to CrtAllocator
2014-08-17 18:31:41 +08:00
miloyip
126e62ed25
Fix #104 ParseNumberHandler fails on 32-bit
...
Use a tighter bound.
2014-08-13 14:16:29 +08:00
Philipp A. Hartmann
453eda5f94
tabs to 4 spaces (following 0dbcc1cf)
2014-08-11 17:22:11 +02:00
Philipp A. Hartmann
3755470f0f
BaseReaderHandler: allow overriding of Default() implementation
...
By adding an optional CRTP template parameter, the BaseReaderHandler
can call the "overridden" `Default()` function from the `Derived`
class.
See https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
2014-08-11 17:15:07 +02:00
Philipp A. Hartmann
c9f2715115
Reader: drop object/array root restrction from iterative parser
2014-08-11 17:14:31 +02:00
Philipp A. Hartmann
edccda00bd
drop object/array root restriction from recursive parser
2014-08-11 17:14:31 +02:00
Milo Yip
0dbcc1cf2e
Add license and change indents from tab to space.
2014-08-11 22:26:45 +08:00
Milo Yip
6978778884
Change double parsing with fast-path conversion
...
Accurate rounding in normal numerical ranges, also reduce lookup table
size.
2014-08-09 21:11:37 +08:00
Milo Yip
5e5fb7b3d8
Change UINT64_C() to RAPIDJSON_UINT64_C2()
...
Fix #94
2014-08-08 21:34:43 +08:00
Milo Yip
808d362b88
Fix parsing numbers which are less than 1e-308
...
Overflow should check sign of exponent.
2014-07-30 23:27:17 +08:00
miloyip
a32e2ac1d0
Fix SIMD page fault by using aligned load
2014-07-29 16:05:54 +08:00
Milo Yip
c81386413b
Add kParseStopWhenDoneFlag, its implementation and related unit tests
2014-07-27 17:10:32 +08:00
thebusytypist
4a152646d9
Fix compilation error for gcc/clang.
2014-07-18 00:12:04 +08:00
thebusytypist
fa25f93ddb
Merge remote-tracking branch 'upstream/master' into TransitionTable
2014-07-16 23:16:33 +08:00
thebusytypist
b22a89bf3f
Reduce times of stack size check; reduce transition table size.
2014-07-16 22:09:50 +08:00