SimdSplit

Trait SimdSplit 

Source
pub trait SimdSplit: Sized {
    type Half;

    // Required method
    fn split_low_high(self) -> (Self::Half, Self::Half);

    // Provided methods
    fn low_half(self) -> Self::Half { ... }
    fn high_half(self) -> Self::Half { ... }
}
Expand description

Trait for splitting SIMD vectors into high/low halves efficiently

Required Associated Types§

Source

type Half

The half-width type (e.g., u32x8 for u32x16)

Required Methods§

Source

fn split_low_high(self) -> (Self::Half, Self::Half)

Split into (low, high) halves using efficient intrinsics

Provided Methods§

Source

fn low_half(self) -> Self::Half

Extract the low half

Source

fn high_half(self) -> Self::Half

Extract the high half

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl SimdSplit for u8x16

Source§

type Half = [u8; 8]

Source§

fn split_low_high(self) -> ([u8; 8], [u8; 8])

Source§

impl SimdSplit for u32x16

Source§

impl SimdSplit for u64x8

Implementors§