diff options
| author | robot-contrib <[email protected]> | 2026-01-15 14:28:19 +0300 |
|---|---|---|
| committer | robot-contrib <[email protected]> | 2026-01-15 15:47:48 +0300 |
| commit | 72cdbecffbaea7321f0ed2af96e2c040c15bbd0d (patch) | |
| tree | 9ca0c62c5843d5ad55394aafcb176bca06fa7508 | |
| parent | 10f45cc816d25ccf9e20dcdd6479100327169f62 (diff) | |
Update contrib/restricted/fast_float to 8.2.2
commit_hash:f7c60b63208b591e2b7c8d307f289aea31842467
5 files changed, 15 insertions, 14 deletions
diff --git a/contrib/restricted/fast_float/.yandex_meta/override.nix b/contrib/restricted/fast_float/.yandex_meta/override.nix index 139953fcdc6..fde7add1aa1 100644 --- a/contrib/restricted/fast_float/.yandex_meta/override.nix +++ b/contrib/restricted/fast_float/.yandex_meta/override.nix @@ -1,11 +1,11 @@ self: super: with self; rec { name = "fast_float"; - version = "8.2.1"; + version = "8.2.2"; src = fetchFromGitHub { owner = "fastfloat"; repo = "fast_float"; rev = "v${version}"; - hash = "sha256-TeCMWdeuYvQcuSwOAGd2RlOIHJ32WkNLI/u3+w8VZH8="; + hash = "sha256-IZCZZayK3INU5P8HwZvWfOJuRfBrbPYuMQCjgCjHCWE="; }; } diff --git a/contrib/restricted/fast_float/README.md b/contrib/restricted/fast_float/README.md index 71029ebef3b..d19283ff80e 100644 --- a/contrib/restricted/fast_float/README.md +++ b/contrib/restricted/fast_float/README.md @@ -533,7 +533,7 @@ sufficiently recent version of CMake (3.11 or better at least): FetchContent_Declare( fast_float GIT_REPOSITORY https://github.com/fastfloat/fast_float.git - GIT_TAG tags/v8.2.1 + GIT_TAG tags/v8.2.2 GIT_SHALLOW TRUE) FetchContent_MakeAvailable(fast_float) @@ -549,7 +549,7 @@ You may also use [CPM](https://github.com/cpm-cmake/CPM.cmake), like so: CPMAddPackage( NAME fast_float GITHUB_REPOSITORY "fastfloat/fast_float" - GIT_TAG v8.2.1) + GIT_TAG v8.2.2) ``` ## Using as single header @@ -561,7 +561,7 @@ if desired as described in the command line help. You may directly download automatically generated single-header files: -<https://github.com/fastfloat/fast_float/releases/download/v8.2.1/fast_float.h> +<https://github.com/fastfloat/fast_float/releases/download/v8.2.2/fast_float.h> ## Benchmarking diff --git a/contrib/restricted/fast_float/include/fast_float/ascii_number.h b/contrib/restricted/fast_float/include/fast_float/ascii_number.h index cac91606632..aa2761aa720 100644 --- a/contrib/restricted/fast_float/include/fast_float/ascii_number.h +++ b/contrib/restricted/fast_float/include/fast_float/ascii_number.h @@ -42,6 +42,11 @@ fastfloat_really_inline constexpr uint64_t byteswap(uint64_t val) { (val & 0x000000000000FF00) << 40 | (val & 0x00000000000000FF) << 56; } +fastfloat_really_inline constexpr uint32_t byteswap_32(uint32_t val) { + return (val >> 24) | ((val >> 8) & 0x0000FF00u) | ((val << 8) & 0x00FF0000u) | + (val << 24); +} + // Read 8 UC into a u64. Truncates UC if not char. template <typename UC> fastfloat_really_inline FASTFLOAT_CONSTEXPR20 uint64_t @@ -533,7 +538,7 @@ parse_int_string(UC const *p, UC const *pend, T &value, } digits = std::bit_cast<uint32_t>(str); #if FASTFLOAT_IS_BIG_ENDIAN - digits = byteswap(digits); + digits = byteswap_32(digits); #endif } #else @@ -543,18 +548,14 @@ parse_int_string(UC const *p, UC const *pend, T &value, else if (len >= 4) { ::memcpy(&digits, p, 4); #if FASTFLOAT_IS_BIG_ENDIAN - digits = byteswap(digits); + digits = byteswap_32(digits); #endif } else { uint32_t b0 = static_cast<uint8_t>(p[0]); uint32_t b1 = (len > 1) ? static_cast<uint8_t>(p[1]) : 0xFFu; uint32_t b2 = (len > 2) ? static_cast<uint8_t>(p[2]) : 0xFFu; uint32_t b3 = 0xFFu; -#if FASTFLOAT_IS_BIG_ENDIAN - digits = (b0 << 24) | (b1 << 16) | (b2 << 8) | b3; -#else digits = b0 | (b1 << 8) | (b2 << 16) | (b3 << 24); -#endif } uint32_t magic = diff --git a/contrib/restricted/fast_float/include/fast_float/float_common.h b/contrib/restricted/fast_float/include/fast_float/float_common.h index 973a59ad448..687437b319b 100644 --- a/contrib/restricted/fast_float/include/fast_float/float_common.h +++ b/contrib/restricted/fast_float/include/fast_float/float_common.h @@ -17,7 +17,7 @@ #define FASTFLOAT_VERSION_MAJOR 8 #define FASTFLOAT_VERSION_MINOR 2 -#define FASTFLOAT_VERSION_PATCH 1 +#define FASTFLOAT_VERSION_PATCH 2 #define FASTFLOAT_STRINGIZE_IMPL(x) #x #define FASTFLOAT_STRINGIZE(x) FASTFLOAT_STRINGIZE_IMPL(x) diff --git a/contrib/restricted/fast_float/ya.make b/contrib/restricted/fast_float/ya.make index d625a0a4cc8..6f9b084bfa9 100644 --- a/contrib/restricted/fast_float/ya.make +++ b/contrib/restricted/fast_float/ya.make @@ -11,9 +11,9 @@ LICENSE( LICENSE_TEXTS(.yandex_meta/licenses.list.txt) -VERSION(8.2.1) +VERSION(8.2.2) -ORIGINAL_SOURCE(https://github.com/fastfloat/fast_float/archive/v8.2.1.tar.gz) +ORIGINAL_SOURCE(https://github.com/fastfloat/fast_float/archive/v8.2.2.tar.gz) NO_COMPILER_WARNINGS() |
