Daniel Lemire
d830422489
Put back the amalgamation files and add tests ( #929 )
...
Co-authored-by: John Keiser <john@johnkeiser.com>
Co-authored-by: Daniel Lemire <lemire@gmai.com>
2020-06-12 17:57:45 -04:00
John Keiser
1aab4752e2
Store all parser state in the implementation
2020-06-01 12:15:54 -07:00
Daniel Lemire
12150baa5e
Using just ASCII. ( #899 )
...
* Using just ASCII.
* Let us prune checkperf.
* Moving the description of lookup2 to the HACKING.md file.
2020-05-21 21:59:06 -04:00
Daniel Lemire
d2c9ea8a9a
Detect bash instead of relying on MSVC detection. ( #894 )
2020-05-20 12:13:14 -04:00
Daniel Lemire
40d57da83c
fixes issue 891 ( #893 )
2020-05-20 11:54:53 -04:00
John Keiser
e6c9dfbd91
Make include files more fine-grained
2020-05-19 14:42:04 -07:00
John Keiser
64abc3e86c
Include top-level .h files outside #if statements
2020-05-19 13:33:14 -07:00
John Keiser
fac42fa3e8
Generate relative filenames properly in amalgamation
2020-05-19 13:32:38 -07:00
Daniel Lemire
3c3a4db54e
Compile under Visual Studio for ARM64 ( #861 )
...
* Modifications so that we can compile under Visual Studio for ARM64
* Let us throw appveyor at this beast.
2020-05-06 23:08:10 -04:00
Daniel Lemire
0e6bd2224f
Fixes issue 863 ( #864 )
...
* Fixes issue 863
2020-05-06 22:38:49 -04:00
John Keiser
afb369950c
Disable Intellisense-only warnings in simdjson.h/cpp
2020-05-04 11:47:04 -07:00
John Keiser
d7f133c24c
Reamalgamate
2020-05-04 11:36:00 -07:00
Furkan Usta
064eb0b24f
CMake: Make simdjson-internal-flags subsume simdjson-flags
2020-05-03 02:48:29 +03:00
Furkan Usta
af968c5b44
Merge branch 'master' of github.com:simdjson/simdjson into cmake-flags
2020-05-03 02:12:23 +03:00
John Keiser
1d519aa9cb
Merge pull request #854 from furkanusta/fix808
...
Add path information back to amalgamate.sh (Fixes #808 )
2020-05-02 09:21:53 -07:00
Furkan Usta
292cb5a5af
Add path information back to amalgamate.sh ( Fixes #808 )
2020-05-02 18:00:42 +03:00
Furkan Usta
293c104cc4
CMake: Separate public and private compilation flags
...
simdjson-internal-flags for macros and warnings
simdjson-flags for pthread, sanitizer, and libcpp
2020-05-02 04:08:47 +03:00
Furkan Usta
e04cbd71d0
Only install singleheader/simdjson.h as part of the public API
2020-05-02 01:44:11 +03:00
Daniel Lemire
2a1f8fa8f1
Provides support for clang under Windows. ( #817 )
2020-04-27 22:09:27 -04:00
Pavel P
24a185d26b
Amalgamate src/simdjson.cpp as-is
...
amalgamation.sh shouldn't change contents of src/simdjson.cpp by forcing dmalloc.h that didn't exist in non-amalgamated version and shouldn't change order of includes by placing simdjson.h at the top
fixes #739
2020-04-26 08:27:19 +06:00
John Keiser
32bc0da362
Regenerate singleheader
2020-04-23 15:37:08 -07:00
John Keiser
6cd418b60a
Automatically re-amalgamate when source/headers change
2020-04-23 12:17:39 -07:00
John Keiser
a3b39dfd1a
Test against headers amalgamated from current source
2020-04-23 12:17:37 -07:00
Daniel Lemire
74da47e286
Building from the single-header files alone everywhere, including under Visual Studio ( #778 )
...
* The idea here is to build from the single-header files alone.
* Testing the headers from the repo.
2020-04-23 15:07:26 -04:00
John Keiser
409948a0f9
Update amalgamated headers
2020-04-23 09:19:26 -07:00
Daniel Lemire
f0ac55ec0c
testing on freebsd ( #768 )
...
* Adding cirrus tests
* Adding cirrus badge.
2020-04-22 21:22:09 -04:00
John Keiser
a116e68a47
Merge pull request #729 from simdjson/jkeiser/cmake-amalgamate
...
Add amalgamation support to cmake
2020-04-22 14:16:10 -07:00
PavelP
ffaa292006
Master vs2019 x86 compile fixes ( #743 )
...
* Added bitexact implementations of _BitScanForward64 and _BitScanReverse64 for VS2019 32-bit builds
* Added bitexact implementations of _umul128 for VS2019 x86, arm, arm64 builds
* Implement mul_overflow for VS2019 arm64 builds
+ implement mul_overflow using __umulh (msvc/clang results: https://godbolt.org/z/smRwA7 )
* Added Win32 for VS2019 to .appveyor.yml
* Update amalgamated headers (fix x86 builds with VS2019)
2020-04-21 14:42:53 -04:00
John Keiser
d3e44b1108
Add amalgamation support to cmake
2020-04-20 19:50:51 -07:00
John Keiser
f9337a1111
Update amalgamated headers
2020-04-19 11:38:02 -07:00
Daniel Lemire
3cb79e6977
Trying again. ( #671 )
2020-04-02 19:24:43 -04:00
Daniel Lemire
3116e29d16
Release candidate ( #655 )
...
* Release candidate
2020-03-31 17:47:25 -04:00
John Keiser
6ee3318531
Update amalgamated headers
2020-03-29 15:07:35 -07:00
John Keiser
5ad405006c
Return document::element from parse, load, parse_many, load_many
2020-03-27 12:24:41 -07:00
Bruce Mitchener
c3c43769ae
Fix typos.
2020-03-22 09:14:14 -07:00
Daniel Lemire
0e45663ce8
Quickstart and intro ( #575 )
...
* Add quickstart
* Fix amalgamation
Co-authored-by: John Keiser <john@johnkeiser.com>
2020-03-20 22:07:52 -04:00
John Keiser
7cf3a7511b
Add fallback implementation to CI
...
- Also add SIMDJSON_IMPLEMENTATION_HASWELL/WESTMERE/ARM64/FALLBACK=1/0 to
enable/disable various implemnentations
2020-03-17 14:59:47 -07:00
John Keiser
1a5d8f1957
Add tests for SIMDJSON_EXCEPTIONS=0, add `tie()` support
2020-03-17 13:54:37 -07:00
John Keiser
3bdfe167de
Support cout << error
2020-03-06 15:41:51 -08:00
John Keiser
31e8a12e88
Make error_message(error_code) return C string
...
- Also move all error message logic to include inline
2020-03-06 15:41:51 -08:00
John Keiser
b2220d6157
Fix amalgamation
2020-03-05 11:13:25 -08:00
John Keiser
b3ea8c406e
Add simdjson.cpp for unified use ( #515 )
2020-03-04 10:12:27 -08:00
John Keiser
99667f7c55
Create top level simdjson.h ( #515 )
...
- Allows everyone to #include the same way, singleheader or not.
2020-03-04 10:12:27 -08:00
John Keiser
560f0742cc
Update amalgamated headers
2020-02-22 10:42:13 -08:00
John Keiser
910f272467
Add parser implementation interface and selection API ( #501 )
...
* Make architecture implementations virtual functions
- Easier to add new architectures (add implementation to implementation.cpp)
- Easier to add new algorithms / functions to architecture selection
(add to implementation.h, implement)
- Automatically select best implementation in static initialization
- Allow user to explicitly select implementation with a string (i.e.
parameter)
- Allow user to inspect current implementation name/description
- Allow user to list available implementations
- Eliminate architecture enum and architecture-based templating
- Add noexcept in non-inline functions
* Move implementation static methods to their own classes
* Detect best supported implementation on first use
* available_implementationsI() -> available_implementations
2020-02-21 16:34:27 -05:00
John Keiser
0c8f2b9d85
Make "make amalgamate" more automatic ( #480 )
...
- automatically include local includes in the right places
2020-02-03 12:51:24 -05:00
Daniel Lemire
c924aaede9
Fix issue472: make JsonStream a template. ( #473 )
...
* Fix issue472: make JsonStream a template.
* Adding missing include.
* Tweaking headers and some minor formatting.
* Removing file from aggregation.
* Moving jsoncharutils
* Adding new header.
* Trying another header.
* Let us try to route around Visual Studio's nonesense.
2020-01-30 17:16:41 -05:00
Daniel Lemire
28710f8ad5
fix for Issue 467 ( #469 )
...
* Fix for issue467
* Updating single-header
* Let us make it so that JsonStream is constructed from a padded_string which will avoid dangerous overruns.
* Fixing parse_stream
* Updating documentation.
2020-01-29 19:00:18 -05:00
Daniel Lemire
e695a19d11
Trying to fix issue 465 ( #466 )
...
* Trying to fix issue 465
* Actually testing
* Refreshing amal.
* Removing spurious ;
2020-01-27 11:25:23 -05:00
Daniel Lemire
ab6d4871d8
Adding haswell amal. tests ( #447 )
...
* Adding an extra test.
* Disabling the AVX-accelerated minifier.
* Updating amalgamation.
2020-01-15 19:49:11 -05:00