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§
Sourcefn splat(d: Self::Descriptor, v: i32) -> Self
fn splat(d: Self::Descriptor, v: i32) -> Self
Converts v to an array of v.
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
Provided Methods§
Sourcefn load_from(d: Self::Descriptor, mem: &[i32], offset: usize) -> Self
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.