Expand description
Lane-Associated Vector (LAV): Portable SIMD vector trait as GAT of SIMD lane trait.
NOTE: This crate requires nightly Rust.
§Features
- SIMD lane trait
Real
abstracting overf32
andf64
. - SIMD vector trait
SimdReal<Real, N>
abstracting overSimd<f32, N>
andSimd<f64, N>
. - Generic associated type (GAT)
Real::Simd<N>
as part of SIMD lane traitReal
implementing SIMD vector traitSimdReal<Self, N>
for itself as lane type where the GAT is generic over the number of SIMD vector lanesN
. - Supports AoS/SoA/AoSoA via
Real::as_simd
/Real::as_simd_mut
abstracting overas_simd
/as_simd_mut
off32
andf64
slices. - Lanewise approximate equality test wrt to epsilon and ULP SIMD vectors.
ApproxEq
trait complementingPartialEq
.no_std
without loss of functionality by enabling thelibm
feature.
This example
uses SIMD generically over floating-point types while hiding it from the user.
Modules§
Macros§
- Constructs vector by copying lanes from selected lanes of one or two input vectors.
Traits§
- Tests for approximate equality.
- Selects lanes from two vectors by mask vector.
- Mask vector of
Mask<i32, N>
orMask<i64, N>
.