mirror of
https://github.com/fastfloat/fast_float.git
synced 2025-12-06 16:56:57 +08:00
Fixes
This commit is contained in:
parent
e8c0378d6d
commit
b88345d06d
@ -91,21 +91,21 @@ FASTFLOAT_SIMD_DISABLE_WARNINGS
|
|||||||
FASTFLOAT_SIMD_RESTORE_WARNINGS
|
FASTFLOAT_SIMD_RESTORE_WARNINGS
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(FASTFLOAT_ARM64)
|
#elif defined(FASTFLOAT_NEON)
|
||||||
|
|
||||||
|
|
||||||
fastfloat_really_inline
|
fastfloat_really_inline
|
||||||
uint64_t simd_read8_to_u64(const uint16x8_t data) {
|
uint64_t simd_read8_to_u64(const uint16x8_t data) {
|
||||||
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
||||||
uint8x8_t utf8_packed = vmovn_u16(data);
|
uint8x8_t utf8_packed = vmovn_u16(data);
|
||||||
vget_lane_u64(vreinterpret_u64_u8(utf8_packed), 0);
|
return vget_lane_u64(vreinterpret_u64_u8(utf8_packed), 0);
|
||||||
FASTFLOAT_SIMD_RESTORE_WARNINGS
|
FASTFLOAT_SIMD_RESTORE_WARNINGS
|
||||||
}
|
}
|
||||||
|
|
||||||
fastfloat_really_inline
|
fastfloat_really_inline
|
||||||
uint64_t simd_read8_to_u64(const char16_t* chars) {
|
uint64_t simd_read8_to_u64(const char16_t* chars) {
|
||||||
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
||||||
return simd_read8_to_u64(vld1q_u16(reinterpret_cast<const uint16_t*>(values)));
|
return simd_read8_to_u64(vld1q_u16(reinterpret_cast<const uint16_t*>(chars)));
|
||||||
FASTFLOAT_SIMD_RESTORE_WARNINGS
|
FASTFLOAT_SIMD_RESTORE_WARNINGS
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,9 +191,9 @@ FASTFLOAT_SIMD_DISABLE_WARNINGS
|
|||||||
}
|
}
|
||||||
else return false;
|
else return false;
|
||||||
FASTFLOAT_SIMD_RESTORE_WARNINGS
|
FASTFLOAT_SIMD_RESTORE_WARNINGS
|
||||||
#elif defined(FASTFLOAT_ARM64)
|
#elif defined(FASTFLOAT_NEON)
|
||||||
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
FASTFLOAT_SIMD_DISABLE_WARNINGS
|
||||||
const uint16x8_t data = vld1q_u16(reinterpret_cast<const uint16_t*>(chars))
|
const uint16x8_t data = vld1q_u16(reinterpret_cast<const uint16_t*>(chars));
|
||||||
|
|
||||||
// (x - '0') <= 9
|
// (x - '0') <= 9
|
||||||
// http://0x80.pl/articles/simd-parsing-int-sequences.html
|
// http://0x80.pl/articles/simd-parsing-int-sequences.html
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user