pub unsafe trait NativeSimd: Sized + Default + Copy {
    type Native: NativeType;
    type Chunk: BitChunk;
    type Mask: FromMaskChunk<Self::Chunk>;
    const LANES: usize;
    fn select(self, mask: Self::Mask, default: Self) -> Self;
    fn from_chunk(v: &[Self::Native]) -> Self;
    fn from_incomplete_chunk(
        v: &[Self::Native], 
        remaining: Self::Native
    ) -> Self;
    fn align(
        values: &[Self::Native]
    ) -> (&[Self::Native], &[Self], &[Self::Native]);
}Expand description
A struct that lends itself well to be compiled leveraging SIMD
Safety
The NativeType and the NativeSimd must have possible a matching alignment.
e.g. slicing &[NativeType] by align_of<NativeSimd>() must be properly aligned/safe.
Associated Types
type Native: NativeType
type Native: NativeType
The NativeType of this struct. E.g. f32 for a NativeSimd = f32x16.
type Mask: FromMaskChunk<Self::Chunk>
type Mask: FromMaskChunk<Self::Chunk>
Type used for masking.
Associated Constants
Required methods
fn from_chunk(v: &[Self::Native]) -> Self
fn from_chunk(v: &[Self::Native]) -> Self
creates a new Self from v by populating items from v up to its length.
Items from v at positions larger than the number of lanes are ignored;
remaining items are populated with remaining.