Skip to main content

SimdSplit

Trait SimdSplit 

Source
pub trait SimdSplit<S: Simd>: SimdBase<S> {
    type Split: SimdBase<S, Element = Self::Element, Block = Self::Block>;

    // Required method
    fn split(self) -> (Self::Split, Self::Split);
}
Expand description

Splitting of one SIMD vector into two.

This is implemented on all vectors 256 bits and higher, producing vectors of down to 128 bits.

Required Associated Types§

Source

type Split: SimdBase<S, Element = Self::Element, Block = Self::Block>

Required Methods§

Source

fn split(self) -> (Self::Split, Self::Split)

Split this vector into left and right halves.

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.

Implementors§

Source§

impl<S: Simd> SimdSplit<S> for f32x8<S>

Source§

impl<S: Simd> SimdSplit<S> for f32x16<S>

Source§

impl<S: Simd> SimdSplit<S> for f64x4<S>

Source§

impl<S: Simd> SimdSplit<S> for f64x8<S>

Source§

impl<S: Simd> SimdSplit<S> for i8x32<S>

Source§

impl<S: Simd> SimdSplit<S> for i8x64<S>

Source§

impl<S: Simd> SimdSplit<S> for i16x16<S>

Source§

impl<S: Simd> SimdSplit<S> for i16x32<S>

Source§

impl<S: Simd> SimdSplit<S> for i32x8<S>

Source§

impl<S: Simd> SimdSplit<S> for i32x16<S>

Source§

impl<S: Simd> SimdSplit<S> for mask8x32<S>

Source§

impl<S: Simd> SimdSplit<S> for mask8x64<S>

Source§

impl<S: Simd> SimdSplit<S> for mask16x16<S>

Source§

impl<S: Simd> SimdSplit<S> for mask16x32<S>

Source§

impl<S: Simd> SimdSplit<S> for mask32x8<S>

Source§

impl<S: Simd> SimdSplit<S> for mask32x16<S>

Source§

impl<S: Simd> SimdSplit<S> for mask64x4<S>

Source§

impl<S: Simd> SimdSplit<S> for mask64x8<S>

Source§

impl<S: Simd> SimdSplit<S> for u8x32<S>

Source§

impl<S: Simd> SimdSplit<S> for u8x64<S>

Source§

impl<S: Simd> SimdSplit<S> for u16x16<S>

Source§

impl<S: Simd> SimdSplit<S> for u16x32<S>

Source§

impl<S: Simd> SimdSplit<S> for u32x8<S>

Source§

impl<S: Simd> SimdSplit<S> for u32x16<S>