Skip to main content

I32SimdVec

Trait I32SimdVec 

Source
pub trait I32SimdVec:
    Sized
    + Copy
    + Debug
    + Send
    + Sync
    + Add<Self, Output = Self>
    + Mul<Self, Output = Self>
    + Sub<Self, Output = Self>
    + Neg<Output = Self>
    + BitAnd<Self, Output = Self>
    + BitOr<Self, Output = Self>
    + BitXor<Self, Output = Self>
    + AddAssign<Self>
    + MulAssign<Self>
    + SubAssign<Self>
    + BitAndAssign<Self>
    + BitOrAssign<Self>
    + BitXorAssign<Self> {
    type Descriptor: SimdDescriptor;

    const LEN: usize;
Show 17 methods // Required methods fn splat(d: Self::Descriptor, v: i32) -> Self; fn load(d: Self::Descriptor, mem: &[i32]) -> Self; fn store(&self, mem: &mut [i32]); fn abs(self) -> Self; fn as_f32( self, ) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::F32Vec; fn bitcast_to_f32( self, ) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::F32Vec; fn bitcast_to_u32( self, ) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::U32Vec; fn gt( self, other: Self, ) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::Mask; fn lt_zero( self, ) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::Mask; fn eq( self, other: Self, ) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::Mask; fn eq_zero( self, ) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::Mask; fn shl<const AMOUNT_U: u32, const AMOUNT_I: i32>(self) -> Self; fn shr<const AMOUNT_U: u32, const AMOUNT_I: i32>(self) -> Self; fn mul_wide_take_high(self, rhs: Self) -> Self; fn store_u16(self, dest: &mut [u16]); fn store_u8(self, dest: &mut [u8]); // Provided method fn load_from(d: Self::Descriptor, mem: &[i32], offset: usize) -> Self { ... }
}

Required Associated Constants§

Required Associated Types§

Required Methods§

Source

fn splat(d: Self::Descriptor, v: i32) -> Self

Converts v to an array of v.

Source

fn load(d: Self::Descriptor, mem: &[i32]) -> Self

Source

fn store(&self, mem: &mut [i32])

Source

fn abs(self) -> Self

Source

fn as_f32(self) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::F32Vec

Source

fn bitcast_to_f32( self, ) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::F32Vec

Source

fn bitcast_to_u32( self, ) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::U32Vec

Source

fn gt( self, other: Self, ) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::Mask

Source

fn lt_zero(self) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::Mask

Source

fn eq( self, other: Self, ) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::Mask

Source

fn eq_zero(self) -> <<Self as I32SimdVec>::Descriptor as SimdDescriptor>::Mask

Source

fn shl<const AMOUNT_U: u32, const AMOUNT_I: i32>(self) -> Self

Source

fn shr<const AMOUNT_U: u32, const AMOUNT_I: i32>(self) -> Self

Source

fn mul_wide_take_high(self, rhs: Self) -> Self

Source

fn store_u16(self, dest: &mut [u16])

Stores the lower 16 bits of each i32 lane as u16 values. Requires dest.len() >= Self::LEN or it will panic.

Source

fn store_u8(self, dest: &mut [u8])

Stores the lower 8 bits of each i32 lane as u8 values. Requires dest.len() >= Self::LEN or it will panic.

Provided Methods§

Source

fn load_from(d: Self::Descriptor, mem: &[i32], offset: usize) -> Self

Loads Self::LEN i32 values starting at mem[offset..]. Equivalent to Self::load(d, &mem[offset..]).

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 I32SimdVec for Wrapping<i32>

Source§

const LEN: usize = 1

Source§

type Descriptor = ScalarDescriptor

Source§

fn splat(_d: Self::Descriptor, v: i32) -> Self

Source§

fn load(_d: Self::Descriptor, mem: &[i32]) -> Self

Source§

fn store(&self, mem: &mut [i32])

Source§

fn abs(self) -> Self

Source§

fn as_f32(self) -> f32

Source§

fn bitcast_to_f32(self) -> f32

Source§

fn bitcast_to_u32(self) -> Wrapping<u32>

Source§

fn gt(self, other: Self) -> bool

Source§

fn lt_zero(self) -> bool

Source§

fn eq(self, other: Self) -> bool

Source§

fn eq_zero(self) -> bool

Source§

fn shl<const AMOUNT_U: u32, const AMOUNT_I: i32>(self) -> Self

Source§

fn shr<const AMOUNT_U: u32, const AMOUNT_I: i32>(self) -> Self

Source§

fn mul_wide_take_high(self, rhs: Self) -> Self

Source§

fn store_u16(self, dest: &mut [u16])

Source§

fn store_u8(self, dest: &mut [u8])

Implementors§