mirror of
https://github.com/simdjson/simdjson
synced 2026-06-08 17:27:07 +00:00
v4.4.0
This commit is contained in:
+3
-3
@@ -12,7 +12,7 @@ endif()
|
||||
project(
|
||||
simdjson
|
||||
# The version number is modified by tools/release.py
|
||||
VERSION 4.3.1
|
||||
VERSION 4.4.0
|
||||
DESCRIPTION "Parsing gigabytes of JSON per second"
|
||||
HOMEPAGE_URL "https://simdjson.org/"
|
||||
LANGUAGES CXX C
|
||||
@@ -29,8 +29,8 @@ string(
|
||||
# ---- Options, variables ----
|
||||
|
||||
# These version numbers are modified by tools/release.py
|
||||
set(SIMDJSON_LIB_VERSION "30.0.0" CACHE STRING "simdjson library version")
|
||||
set(SIMDJSON_LIB_SOVERSION "30" CACHE STRING "simdjson library soversion")
|
||||
set(SIMDJSON_LIB_VERSION "31.0.0" CACHE STRING "simdjson library version")
|
||||
set(SIMDJSON_LIB_SOVERSION "31" CACHE STRING "simdjson library soversion")
|
||||
|
||||
option(SIMDJSON_BUILD_STATIC_LIB "Build simdjson_static library along with simdjson (only makes sense if BUILD_SHARED_LIBS=ON)" OFF)
|
||||
if(SIMDJSON_BUILD_STATIC_LIB AND NOT BUILD_SHARED_LIBS)
|
||||
|
||||
@@ -38,7 +38,7 @@ PROJECT_NAME = simdjson
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = "4.3.1"
|
||||
PROJECT_NUMBER = "4.4.0"
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#define SIMDJSON_SIMDJSON_VERSION_H
|
||||
|
||||
/** The version of simdjson being used (major.minor.revision) */
|
||||
#define SIMDJSON_VERSION "4.3.1"
|
||||
#define SIMDJSON_VERSION "4.4.0"
|
||||
|
||||
namespace simdjson {
|
||||
enum {
|
||||
@@ -15,11 +15,11 @@ enum {
|
||||
/**
|
||||
* The minor version (major.MINOR.revision) of simdjson being used.
|
||||
*/
|
||||
SIMDJSON_VERSION_MINOR = 3,
|
||||
SIMDJSON_VERSION_MINOR = 4,
|
||||
/**
|
||||
* The revision (major.minor.REVISION) of simdjson being used.
|
||||
*/
|
||||
SIMDJSON_VERSION_REVISION = 1
|
||||
SIMDJSON_VERSION_REVISION = 0
|
||||
};
|
||||
} // namespace simdjson
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* auto-generated on 2026-02-20 16:16:37 -0500. version 4.3.1 Do not edit! */
|
||||
/* auto-generated on 2026-03-12 20:40:43 -0400. version 4.4.0 Do not edit! */
|
||||
/* including simdjson.cpp: */
|
||||
/* begin file simdjson.cpp */
|
||||
#define SIMDJSON_SRC_SIMDJSON_CPP
|
||||
@@ -146,7 +146,6 @@
|
||||
#define SIMDJSON_CONSTEVAL 0
|
||||
#endif // defined(__cpp_consteval) && __cpp_consteval >= 201811L && defined(__cpp_lib_constexpr_string) && __cpp_lib_constexpr_string >= 201907L
|
||||
#endif // !defined(SIMDJSON_CONSTEVAL)
|
||||
|
||||
#endif // SIMDJSON_COMPILER_CHECK_H
|
||||
/* end file simdjson/compiler_check.h */
|
||||
/* including simdjson/portability.h: #include "simdjson/portability.h" */
|
||||
@@ -219,6 +218,25 @@ using std::size_t;
|
||||
#define SIMDJSON_IS_LASX 1 // We can always run both
|
||||
#elif defined(__loongarch_sx)
|
||||
#define SIMDJSON_IS_LSX 1
|
||||
|
||||
// Adjust for runtime dispatching support.
|
||||
#if defined(__GNUC__) && !defined(__clang__) && !defined(__INTEL_COMPILER) && !defined(__NVCOMPILER)
|
||||
#if __GNUC__ > 15 || (__GNUC__ == 15 && __GNUC_MINOR__ >= 0)
|
||||
// We are ok, we will support runtime dispatch for LASX.
|
||||
#else
|
||||
// We disable runtime dispatch for LASX, which means that we will not be able to use LASX
|
||||
// even if it is supported by the hardware.
|
||||
// Loongson users should update to GCC 15 or better.
|
||||
#define SIMDJSON_IMPLEMENTATION_LASX 0
|
||||
#endif
|
||||
#else
|
||||
// We are not using GCC, so we assume that we can support runtime dispatch for LASX.
|
||||
// https://godbolt.org/z/jcMnrjYhs
|
||||
#define SIMDJSON_IMPLEMENTATION_LASX 0
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#elif defined(__PPC64__) || defined(_M_PPC64)
|
||||
#define SIMDJSON_IS_PPC64 1
|
||||
@@ -60938,6 +60956,19 @@ simdjson_inline int leading_zeroes(uint64_t input_num) {
|
||||
#endif// _MSC_VER
|
||||
}
|
||||
|
||||
simdjson_inline int trailing_zeroes(uint64_t input_num) {
|
||||
#ifdef _MSC_VER
|
||||
unsigned long trailing_zero = 0;
|
||||
// Search the mask data from least significant bit (LSB)
|
||||
// to most significant bit (MSB) for a set bit (1).
|
||||
if (_BitScanForward64(&trailing_zero, input_num))
|
||||
return (int)trailing_zero;
|
||||
else return 64;
|
||||
#else
|
||||
return __builtin_ctzll(input_num);
|
||||
#endif// _MSC_VER
|
||||
}
|
||||
|
||||
} // unnamed namespace
|
||||
} // namespace fallback
|
||||
} // namespace simdjson
|
||||
@@ -63169,6 +63200,19 @@ simdjson_inline int leading_zeroes(uint64_t input_num) {
|
||||
#endif// _MSC_VER
|
||||
}
|
||||
|
||||
simdjson_inline int trailing_zeroes(uint64_t input_num) {
|
||||
#ifdef _MSC_VER
|
||||
unsigned long trailing_zero = 0;
|
||||
// Search the mask data from least significant bit (LSB)
|
||||
// to most significant bit (MSB) for a set bit (1).
|
||||
if (_BitScanForward64(&trailing_zero, input_num))
|
||||
return (int)trailing_zero;
|
||||
else return 64;
|
||||
#else
|
||||
return __builtin_ctzll(input_num);
|
||||
#endif// _MSC_VER
|
||||
}
|
||||
|
||||
} // unnamed namespace
|
||||
} // namespace fallback
|
||||
} // namespace simdjson
|
||||
|
||||
+1844
-240
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Reference in New Issue
Block a user