#[repr(C, align(32))]pub struct i8x32 { /* private fields */ }
Implementations§
source§impl i8x32
impl i8x32
pub fn new(array: [i8; 32]) -> Self
pub fn blend(self, t: Self, f: Self) -> Self
pub fn abs(self) -> Self
pub fn max(self, rhs: Self) -> Self
pub fn min(self, rhs: Self) -> Self
pub fn saturating_add(self, rhs: Self) -> Self
pub fn saturating_sub(self, rhs: Self) -> Self
pub fn move_mask(self) -> i32
pub fn any(self) -> bool
pub fn all(self) -> bool
pub fn none(self) -> bool
sourcepub fn swizzle_half(self, rhs: i8x32) -> i8x32
pub fn swizzle_half(self, rhs: i8x32) -> i8x32
Returns a new vector with lanes selected from the lanes of the first input vector
a specified in the second input vector rhs
.
The indices i in range [0, 15]
select the i-th element of self
. For indices
outside of the range the resulting lane is 0
.
This note that is the equivalent of two parallel swizzle operations on the two halves of the vector, and the indexes each refer to the corresponding half.
sourcepub fn swizzle_half_relaxed(self, rhs: i8x32) -> i8x32
pub fn swizzle_half_relaxed(self, rhs: i8x32) -> i8x32
Indices in the range [0, 15]
will select the i-th element of self
. If the high bit
of any element of rhs
is set (negative) then the corresponding output
lane is guaranteed to be zero. Otherwise if the element of rhs
is within the range [32, 127]
then the output lane is either 0
or self[rhs[i] % 16]
depending on the implementation.
This is the equivalent to two parallel swizzle operations on the two halves of the vector, and the indexes each refer to their corresponding half.
pub fn to_array(self) -> [i8; 32]
pub fn as_array_ref(&self) -> &[i8; 32]
pub fn as_array_mut(&mut self) -> &mut [i8; 32]
Trait Implementations§
source§impl AddAssign<&i8x32> for i8x32
impl AddAssign<&i8x32> for i8x32
source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
+=
operation. Read moresource§impl AddAssign for i8x32
impl AddAssign for i8x32
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+=
operation. Read moresource§impl BitAndAssign<&i8x32> for i8x32
impl BitAndAssign<&i8x32> for i8x32
source§fn bitand_assign(&mut self, rhs: &Self)
fn bitand_assign(&mut self, rhs: &Self)
&=
operation. Read moresource§impl BitAndAssign for i8x32
impl BitAndAssign for i8x32
source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
&=
operation. Read moresource§impl BitOrAssign<&i8x32> for i8x32
impl BitOrAssign<&i8x32> for i8x32
source§fn bitor_assign(&mut self, rhs: &Self)
fn bitor_assign(&mut self, rhs: &Self)
|=
operation. Read moresource§impl BitOrAssign for i8x32
impl BitOrAssign for i8x32
source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
|=
operation. Read moresource§impl BitXorAssign<&i8x32> for i8x32
impl BitXorAssign<&i8x32> for i8x32
source§fn bitxor_assign(&mut self, rhs: &Self)
fn bitxor_assign(&mut self, rhs: &Self)
^=
operation. Read moresource§impl BitXorAssign for i8x32
impl BitXorAssign for i8x32
source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
^=
operation. Read moresource§impl PartialEq for i8x32
impl PartialEq for i8x32
source§impl SubAssign<&i8x32> for i8x32
impl SubAssign<&i8x32> for i8x32
source§fn sub_assign(&mut self, rhs: &Self)
fn sub_assign(&mut self, rhs: &Self)
-=
operation. Read moresource§impl SubAssign for i8x32
impl SubAssign for i8x32
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-=
operation. Read moreimpl Copy for i8x32
impl Eq for i8x32
impl Pod for i8x32
impl StructuralPartialEq for i8x32
Auto Trait Implementations§
impl Freeze for i8x32
impl RefUnwindSafe for i8x32
impl Send for i8x32
impl Sync for i8x32
impl Unpin for i8x32
impl UnwindSafe for i8x32
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
source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
§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
bits
as &Self
.