mirror of
https://github.com/fastfloat/fast_float.git
synced 2026-11-09 22:59:51 +08:00
Compilation fix for Ubuntu 24.04, updated docs.
This commit is contained in:
parent
1d3332ec2d
commit
adb847ec16
@ -84,6 +84,7 @@ fastfloat_really_inline uint64_t simd_read8_to_u64(__m128i const &data) {
|
|||||||
|
|
||||||
fastfloat_really_inline uint64_t simd_read8_to_u64(char16_t const *chars) {
|
fastfloat_really_inline uint64_t simd_read8_to_u64(char16_t const *chars) {
|
||||||
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
||||||
|
// unaligned SIMD instruction -> all fine.
|
||||||
return simd_read8_to_u64(
|
return simd_read8_to_u64(
|
||||||
_mm_loadu_si128(reinterpret_cast<__m128i const *>(chars)));
|
_mm_loadu_si128(reinterpret_cast<__m128i const *>(chars)));
|
||||||
FASTFLOAT_SIMD_RESTORE_WARNINGS
|
FASTFLOAT_SIMD_RESTORE_WARNINGS
|
||||||
@ -172,6 +173,7 @@ simd_parse_if_eight_digits_unrolled(char16_t const *chars,
|
|||||||
#ifdef FASTFLOAT_SSE2
|
#ifdef FASTFLOAT_SSE2
|
||||||
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
||||||
// Load 8 UTF-16 characters (16 bytes)
|
// Load 8 UTF-16 characters (16 bytes)
|
||||||
|
// unaligned SIMD instruction -> all fine.
|
||||||
__m128i const data =
|
__m128i const data =
|
||||||
_mm_loadu_si128(reinterpret_cast<__m128i const *>(chars));
|
_mm_loadu_si128(reinterpret_cast<__m128i const *>(chars));
|
||||||
FASTFLOAT_SIMD_RESTORE_WARNINGS
|
FASTFLOAT_SIMD_RESTORE_WARNINGS
|
||||||
|
|||||||
@ -162,7 +162,7 @@ template <> struct from_chars_caller<std::float32_t> {
|
|||||||
// if std::float32_t is defined, and we are in C++23 mode; macro set for
|
// if std::float32_t is defined, and we are in C++23 mode; macro set for
|
||||||
// float32; set value to float due to equivalence between float and
|
// float32; set value to float due to equivalence between float and
|
||||||
// float32_t
|
// float32_t
|
||||||
float val;
|
float val = 0;
|
||||||
auto ret = from_chars_advanced(first, last, val, options);
|
auto ret = from_chars_advanced(first, last, val, options);
|
||||||
value = val;
|
value = val;
|
||||||
return ret;
|
return ret;
|
||||||
@ -179,7 +179,7 @@ template <> struct from_chars_caller<std::float64_t> {
|
|||||||
// if std::float64_t is defined, and we are in C++23 mode; macro set for
|
// if std::float64_t is defined, and we are in C++23 mode; macro set for
|
||||||
// float64; set value as double due to equivalence between double and
|
// float64; set value as double due to equivalence between double and
|
||||||
// float64_t
|
// float64_t
|
||||||
double val;
|
double val = 0;
|
||||||
auto ret = from_chars_advanced(first, last, val, options);
|
auto ret = from_chars_advanced(first, last, val, options);
|
||||||
value = val;
|
value = val;
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user