#[repr(C, align(32))]pub struct i32x8 { /* private fields */ }
Implementations§
source§impl i32x8
impl i32x8
pub fn new(array: [i32; 8]) -> Self
sourcepub fn from_i16x8(v: i16x8) -> Self
pub fn from_i16x8(v: i16x8) -> Self
widens and sign extends to i32x8
sourcepub fn from_u16x8(v: u16x8) -> Self
pub fn from_u16x8(v: u16x8) -> Self
widens and zero extends to i32x8
pub fn blend(self, t: Self, f: Self) -> Self
sourcepub fn reduce_add(self) -> i32
pub fn reduce_add(self) -> i32
horizontal add of all the elements of the vector
sourcepub fn reduce_max(self) -> i32
pub fn reduce_max(self) -> i32
horizontal max of all the elements of the vector
sourcepub fn reduce_min(self) -> i32
pub fn reduce_min(self) -> i32
horizontal min of all the elements of the vector
pub fn abs(self) -> Self
pub fn unsigned_abs(self) -> u32x8
pub fn max(self, rhs: Self) -> Self
pub fn min(self, rhs: Self) -> Self
pub fn round_float(self) -> f32x8
pub fn move_mask(self) -> i32
pub fn any(self) -> bool
pub fn all(self) -> bool
pub fn none(self) -> bool
sourcepub fn transpose(data: [i32x8; 8]) -> [i32x8; 8]
pub fn transpose(data: [i32x8; 8]) -> [i32x8; 8]
Transpose matrix of 8x8 i32
matrix. Currently only accelerated on AVX2.
pub fn to_array(self) -> [i32; 8]
pub fn as_array_ref(&self) -> &[i32; 8]
pub fn as_array_mut(&mut self) -> &mut [i32; 8]
Trait Implementations§
source§impl AddAssign<&i32x8> for i32x8
impl AddAssign<&i32x8> for i32x8
source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
Performs the
+=
operation. Read moresource§impl AddAssign for i32x8
impl AddAssign for i32x8
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moresource§impl BitAndAssign<&i32x8> for i32x8
impl BitAndAssign<&i32x8> for i32x8
source§fn bitand_assign(&mut self, rhs: &Self)
fn bitand_assign(&mut self, rhs: &Self)
Performs the
&=
operation. Read moresource§impl BitAndAssign for i32x8
impl BitAndAssign for i32x8
source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
Performs the
&=
operation. Read moresource§impl BitOrAssign<&i32x8> for i32x8
impl BitOrAssign<&i32x8> for i32x8
source§fn bitor_assign(&mut self, rhs: &Self)
fn bitor_assign(&mut self, rhs: &Self)
Performs the
|=
operation. Read moresource§impl BitOrAssign for i32x8
impl BitOrAssign for i32x8
source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
Performs the
|=
operation. Read moresource§impl BitXorAssign<&i32x8> for i32x8
impl BitXorAssign<&i32x8> for i32x8
source§fn bitxor_assign(&mut self, rhs: &Self)
fn bitxor_assign(&mut self, rhs: &Self)
Performs the
^=
operation. Read moresource§impl BitXorAssign for i32x8
impl BitXorAssign for i32x8
source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
Performs the
^=
operation. Read moresource§impl MulAssign<&i32x8> for i32x8
impl MulAssign<&i32x8> for i32x8
source§fn mul_assign(&mut self, rhs: &Self)
fn mul_assign(&mut self, rhs: &Self)
Performs the
*=
operation. Read moresource§impl MulAssign for i32x8
impl MulAssign for i32x8
source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
Performs the
*=
operation. Read moresource§impl Shl for i32x8
impl Shl for i32x8
Shifts lanes by the corresponding lane.
Bitwise shift-left; yields self << mask(rhs)
, where mask removes any
high-order bits of rhs
that would cause the shift to exceed the bitwidth
of the type. (same as wrapping_shl
)
source§impl Shr for i32x8
impl Shr for i32x8
Shifts lanes by the corresponding lane.
Bitwise shift-right; yields self >> mask(rhs)
, where mask removes any
high-order bits of rhs
that would cause the shift to exceed the bitwidth
of the type. (same as wrapping_shr
)
source§impl SubAssign<&i32x8> for i32x8
impl SubAssign<&i32x8> for i32x8
source§fn sub_assign(&mut self, rhs: &Self)
fn sub_assign(&mut self, rhs: &Self)
Performs the
-=
operation. Read moresource§impl SubAssign for i32x8
impl SubAssign for i32x8
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read moreimpl Copy for i32x8
impl Eq for i32x8
impl Pod for i32x8
impl StructuralPartialEq for i32x8
Auto Trait Implementations§
impl Freeze for i32x8
impl RefUnwindSafe for i32x8
impl Send for i32x8
impl Sync for i32x8
impl Unpin for i32x8
impl UnwindSafe for i32x8
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
source§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self
.source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)