summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-contrib <[email protected]>2026-01-15 14:28:19 +0300
committerrobot-contrib <[email protected]>2026-01-15 15:47:48 +0300
commit72cdbecffbaea7321f0ed2af96e2c040c15bbd0d (patch)
tree9ca0c62c5843d5ad55394aafcb176bca06fa7508
parent10f45cc816d25ccf9e20dcdd6479100327169f62 (diff)
Update contrib/restricted/fast_float to 8.2.2
commit_hash:f7c60b63208b591e2b7c8d307f289aea31842467
-rw-r--r--contrib/restricted/fast_float/.yandex_meta/override.nix4
-rw-r--r--contrib/restricted/fast_float/README.md6
-rw-r--r--contrib/restricted/fast_float/include/fast_float/ascii_number.h13
-rw-r--r--contrib/restricted/fast_float/include/fast_float/float_common.h2
-rw-r--r--contrib/restricted/fast_float/ya.make4
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()