1 | #[cfg(not(all(any(target_arch = "x86", target_arch = "x86_64"), feature = "simd")))] |
---|---|
2 | #[inline(always)] |
3 | pub fn as_i32(value: f32) -> i32 { |
4 | value as i32 |
5 | } |
6 | |
7 | #[cfg(all(any(target_arch = "x86", target_arch = "x86_64"), feature = "simd"))] |
8 | #[inline(always)] |
9 | pub fn as_i32(value: f32) -> i32 { |
10 | #[cfg(target_arch = "x86")] |
11 | use core::arch::x86::*; |
12 | #[cfg(target_arch = "x86_64")] |
13 | use core::arch::x86_64::*; |
14 | |
15 | unsafe { _mm_cvtss_si32(_mm_set_ss(value)) } |
16 | } |
17 |