fix for issue 354
diff --git a/include/fast_float/ascii_number.h b/include/fast_float/ascii_number.h index 4e1ce3a..cac9160 100644 --- a/include/fast_float/ascii_number.h +++ b/include/fast_float/ascii_number.h
@@ -532,6 +532,9 @@ str[j] = static_cast<uint8_t>(p[j]); } digits = std::bit_cast<uint32_t>(str); +#if FASTFLOAT_IS_BIG_ENDIAN + digits = byteswap(digits); +#endif } #else if (false) { @@ -539,6 +542,9 @@ #endif else if (len >= 4) { ::memcpy(&digits, p, 4); +#if FASTFLOAT_IS_BIG_ENDIAN + digits = byteswap(digits); +#endif } else { uint32_t b0 = static_cast<uint8_t>(p[0]); uint32_t b1 = (len > 1) ? static_cast<uint8_t>(p[1]) : 0xFFu;