pub struct i8x32 { /* private fields */ }Expand description
A SIMD vector with 32 elements of type i8.
See the crate level documentation for more information about SIMD vectors.
Implementations§
Source§impl i8x32
The following functionality exists for all SIMD vectors.
impl i8x32
The following functionality exists for all SIMD vectors.
Sourcepub const fn splat(elem: i8) -> Self
pub const fn splat(elem: i8) -> Self
Constructs a new SIMD vector with all elements set to the given value.
Sourcepub const fn as_array(&self) -> &[i8; 32]
pub const fn as_array(&self) -> &[i8; 32]
Returns an array reference containing the entire SIMD vector.
Sourcepub const fn as_mut_array(&mut self) -> &mut [i8; 32]
pub const fn as_mut_array(&mut self) -> &mut [i8; 32]
Returns a mutable array reference containing the entire SIMD vector.
Sourcepub const fn from_ne_bytes(bytes: [u8; 32]) -> Self
pub const fn from_ne_bytes(bytes: [u8; 32]) -> Self
Creates a SIMD vector from a native-endian byte array.
The bytes are interpreted as the raw memory representation of the
vector. This is equivalent to the from_ne_bytes functions on the
primitive scalar types, but operates on the entire vector at once.
This is the inverse of to_ne_bytes.
Sourcepub const fn to_ne_bytes(self) -> [u8; 32]
pub const fn to_ne_bytes(self) -> [u8; 32]
Returns the raw memory representation of self as a native-endian
byte array.
This is the inverse of from_ne_bytes.
Sourcepub fn simd_eq<Rhs>(self, other: Rhs) -> <Self as CmpEq<Rhs>>::Outputwhere
Self: CmpEq<Rhs>,
pub fn simd_eq<Rhs>(self, other: Rhs) -> <Self as CmpEq<Rhs>>::Outputwhere
Self: CmpEq<Rhs>,
Returns a mask that checks if each element of self is equal to the
corresponding element of other.
Sourcepub fn simd_ne<Rhs>(self, other: Rhs) -> <Self as CmpNe<Rhs>>::Outputwhere
Self: CmpNe<Rhs>,
pub fn simd_ne<Rhs>(self, other: Rhs) -> <Self as CmpNe<Rhs>>::Outputwhere
Self: CmpNe<Rhs>,
Returns a mask that checks if each element of self is not equal to
the corresponding element of other.
Sourcepub fn simd_lt<Rhs>(self, other: Rhs) -> <Self as CmpLt<Rhs>>::Outputwhere
Self: CmpLt<Rhs>,
pub fn simd_lt<Rhs>(self, other: Rhs) -> <Self as CmpLt<Rhs>>::Outputwhere
Self: CmpLt<Rhs>,
Returns a mask that checks if each element of self is less than
the corresponding element of other.
Sourcepub fn simd_gt<Rhs>(self, other: Rhs) -> <Self as CmpGt<Rhs>>::Outputwhere
Self: CmpGt<Rhs>,
pub fn simd_gt<Rhs>(self, other: Rhs) -> <Self as CmpGt<Rhs>>::Outputwhere
Self: CmpGt<Rhs>,
Returns a mask that checks if each element of self is greater than
the corresponding element of other.
Sourcepub fn simd_le<Rhs>(self, other: Rhs) -> <Self as CmpLe<Rhs>>::Outputwhere
Self: CmpLe<Rhs>,
pub fn simd_le<Rhs>(self, other: Rhs) -> <Self as CmpLe<Rhs>>::Outputwhere
Self: CmpLe<Rhs>,
Returns a mask that checks if each element of self is less than or
equal to the corresponding element of other.
Sourcepub fn simd_ge<Rhs>(self, other: Rhs) -> <Self as CmpGe<Rhs>>::Outputwhere
Self: CmpGe<Rhs>,
pub fn simd_ge<Rhs>(self, other: Rhs) -> <Self as CmpGe<Rhs>>::Outputwhere
Self: CmpGe<Rhs>,
Returns a mask that checks if each element of self is greater than
or equal to the corresponding element of other.
Sourcepub fn reduce_add(self) -> i8
pub fn reduce_add(self) -> i8
Reducing addition. Returns the sum of the vector’s elements.
Equivalent to self[0] + self[1] + ....
Sourcepub fn reduce_mul(self) -> i8
pub fn reduce_mul(self) -> i8
Reducing multiplication. Returns the product of the vector’s elements.
Equivalent to self[0] * self[1] * ....
Sourcepub fn select<Output>(self, if_true: Output, if_false: Output) -> Outputwhere
Self: Select<Output>,
pub fn select<Output>(self, if_true: Output, if_false: Output) -> Outputwhere
Self: Select<Output>,
Lanewise SIMD selection.
For each lane:
- If all bits of
selfare one, return the corresponding lane ofif_true - If all bits of
selfare zero, return the corresponding lane ofif_false
This function assumes self is a mask, meaning each element is
either all zeros or all ones. For bitwise selection use bitselect.
In addition to selecting SIMD vectors, this method can be used to
select composite types (e.g., a downstream Vec3<f32x4> structure)
if you implement Select<Composite> for Simd.
Sourcepub fn to_bitmask(self) -> u32
pub fn to_bitmask(self) -> u32
Converts to a bitmask, where each bit is 1 if the element of self
is true or 0 if the element of self is false.
Each bit of the output corresponds to an element of self. The least
significant bit corresponds to the lowest element. Remaining bits are
0.
This function assumes self is a mask, meaning each element is
either all zeros or all ones. If the input is not a mask, the result
is unspecified.
Sourcepub fn any(self) -> bool
pub fn any(self) -> bool
Returns true if any element of self is true.
This function assumes self is a mask, meaning each element is
either all zeros or all ones. If the input is not a mask, the result
is unspecified.
Sourcepub fn all(self) -> bool
pub fn all(self) -> bool
Returns true if all elements of self are true.
This function assumes self is a mask, meaning each element is
either all zeros or all ones. If the input is not a mask, the result
is unspecified.
Sourcepub fn none(self) -> bool
pub fn none(self) -> bool
Returns true if none of the elements of self are true.
This function assumes self is a mask, meaning each element is
either all zeros or all ones. If the input is not a mask, the result
is unspecified.
Sourcepub fn shuffle(self, indices: u8x32) -> Self
pub fn shuffle(self, indices: u8x32) -> Self
Returns a SIMD vector whose elements are selected from self using
the corresponding runtime indices.
If an index is out of bounds, the corresponding result element is unspecified.
Equivalent to
[self[indices[0]], self[indices[1]], ..., self[[indices[N - 1]]]].
§Type-specific guarantees
For u8x16 and i8x16, it is guaranteed that for out of bounds
indices, if the high bit of an index is set, zero is returned.
Otherwise, either zero is returned or the index wraps around,
non-deterministically.
For all other 8-bit types, it is guaranteed that for out of bounds indices, either zero is returned or the index wraps around, non-deterministically (unlike other types, which can return arbitrary values).
Sourcepub fn shuffle_zeroing(self, indices: u8x32) -> Self
pub fn shuffle_zeroing(self, indices: u8x32) -> Self
Returns a SIMD vector whose elements are selected from self using
the corresponding runtime indices.
If an index is out of bounds, the corresponding result element is the number zero.
Equivalent to
[self[indices[0]], self[indices[1]], ..., self[[indices[N - 1]]]]
with a zero fallback.
Sourcepub fn shuffle_wrapping(self, indices: u8x32) -> Self
pub fn shuffle_wrapping(self, indices: u8x32) -> Self
Returns a SIMD vector whose elements are selected from self using
the corresponding runtime indices.
Indices are wrapped by the number of elements in self.
Equivalent to
[self[indices[0] % N], self[indices[1] % N], ..., self[[indices[N - 1] % N]]].
Sourcepub fn transpose(data: [Self; 32]) -> [Self; 32]
pub fn transpose(data: [Self; 32]) -> [Self; 32]
Transposes an array of SIMD vectors interpreted as a square matrix.
Sourcepub fn blend(self, if_true: Self, if_false: Self) -> Self
👎Deprecated since 1.6.0: split into select and bitselect functions
pub fn blend(self, if_true: Self, if_false: Self) -> Self
split into select and bitselect functions
Elementwise selection.
For each element of self:
- If all bits are one, return the corresponding element of
if_true - If all bits are zero, return the corresponding element of
if_false
Originally this function did not specify whether it supported per-bit
selection, or if it assumed self is a mask, meaning each element
is either all zeros or all ones (for better performance). Because of
this, blend has been split into two new functions: select and
bitselect.
Source§impl i8x32
The following functionality exists for all SIMD vectors of signed
integers.
impl i8x32
The following functionality exists for all SIMD vectors of signed integers.
Sourcepub fn max(self, rhs: Self) -> Self
pub fn max(self, rhs: Self) -> Self
Returns the maximum between each element of self and the
corresponding element of other.
Sourcepub fn min(self, rhs: Self) -> Self
pub fn min(self, rhs: Self) -> Self
Returns the minimum between each element of self and the
corresponding element of other.
Sourcepub fn clamp(self, min: Self, max: Self) -> Self
pub fn clamp(self, min: Self, max: Self) -> Self
Clamps each element of self between the corresponding elements of
min and max.
If min > max, the result is unspecified. Consider manually checking
for that case.
Sourcepub fn reduce_max(self) -> i8
pub fn reduce_max(self) -> i8
Reducing maximum. Returns the maximum of the vector’s elements.
Equivalent to self[0].max(self[1].max(...)).
Sourcepub fn reduce_min(self) -> i8
pub fn reduce_min(self) -> i8
Reducing minimum. Returns the minimum of the vector’s elements.
Equivalent to self[0].min(self[1].min(...)).
Sourcepub const fn cast_unsigned(self) -> u8x32
pub const fn cast_unsigned(self) -> u8x32
Returns the bit patterns of self reinterpreted as unsigned integers
of the same size.
Sourcepub fn unbounded_shl(self, rhs: u8x32) -> Self
pub fn unbounded_shl(self, rhs: u8x32) -> Self
Shifts left each element of self by the corresponding element of
rhs, without bounding rhs.
If rhs is larger than or equal to the number of bits in i8,
the entire value is shifted out, and 0 is returned.
This is different from the standard operator, which behaves like
wrapping_shl. For most targets, unbounded_shl is faster than the
standard operator.
If you intend to shift all elements by the same value, consider using
unbounded_shl_scalar which is faster.
Sourcepub fn unbounded_shl_scalar(self, rhs: u32) -> Self
pub fn unbounded_shl_scalar(self, rhs: u32) -> Self
Shifts left each element of self by the uniform scalar rhs,
without bounding rhs.
If rhs is larger than or equal to the number of bits in i8,
the entire value is shifted out, and 0 is returned.
This is different from the standard operator, which behaves like
wrapping_shl. For most targets, unbounded_shl_scalar is faster
than the standard operator.
This function is faster than self.unbounded_shl(splat(rhs)) because
it has special hardware support.
Sourcepub fn unbounded_shr(self, rhs: u8x32) -> Self
pub fn unbounded_shr(self, rhs: u8x32) -> Self
Shifts right each element of self by the corresponding element of
rhs, without bounding rhs.
If rhs is larger than or equal to the number of bits in i8,
the entire value is shifted out, which yields 0 for a positive
number, and -1 for a negative number.
This is different from the standard operator, which behaves like
wrapping_shr. For most targets, unbounded_shr is faster than the
standard operator.
If you intend to shift all elements by the same value, consider using
unbounded_shr_scalar which is faster.
Sourcepub fn unbounded_shr_scalar(self, rhs: u32) -> Self
pub fn unbounded_shr_scalar(self, rhs: u32) -> Self
Shifts right each element of self by the uniform scalar rhs,
without bounding rhs.
If rhs is larger than or equal to the number of bits in i8,
the entire value is shifted out, which yields 0 for a positive
number, and -1 for a negative number.
This is different from the standard operator, which behaves like
wrapping_shr. For most targets, unbounded_shr_scalar is faster
than the standard operator.
This function is faster than self.unbounded_shr(splat(rhs)) because
it has special hardware support.
Sourcepub fn saturating_add(self, rhs: Self) -> Self
pub fn saturating_add(self, rhs: Self) -> Self
Saturating integer addition. Computes self + rhs, saturating at the
numeric bounds instead of overflowing.
Sourcepub fn saturating_sub(self, rhs: Self) -> Self
pub fn saturating_sub(self, rhs: Self) -> Self
Saturating integer subtraction. Computes self - rhs, saturating at
the numeric bounds instead of overflowing.
Sourcepub fn saturating_mul(self, rhs: Self) -> Self
pub fn saturating_mul(self, rhs: Self) -> Self
Saturating integer multiplication. Computes self * rhs, saturating
at the numeric bounds instead of overflowing.
Sourcepub fn saturating_div(self, rhs: Self) -> Self
pub fn saturating_div(self, rhs: Self) -> Self
Saturating integer division. Computes self / rhs, saturating at the
numeric bounds instead of overflowing.
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
§Panics
Panics if any element of rhs is zero.
Sourcepub fn unsigned_abs(self) -> u8x32
pub fn unsigned_abs(self) -> u8x32
Computes the absolute value of each input element, returned as an unsigned integer in order to avoid wrapping.
Sourcepub fn overflowing_add(self, rhs: Self) -> (Self, Self)
pub fn overflowing_add(self, rhs: Self) -> (Self, Self)
Returns self + rhs and whether an overflow occured.
Returns a tuple with:
- The addition (returns the wrapped value if an overflow occured)
- A mask indicating whether an overflow occured
Sourcepub fn overflowing_sub(self, rhs: Self) -> (Self, Self)
pub fn overflowing_sub(self, rhs: Self) -> (Self, Self)
Returns self - rhs and whether an overflow occured.
Returns a tuple with:
- The subtraction (returns the wrapped value if an overflow occured)
- A mask indicating whether an overflow occured
Sourcepub fn overflowing_mul(self, rhs: Self) -> (Self, Self)
pub fn overflowing_mul(self, rhs: Self) -> (Self, Self)
Returns self * rhs and whether an overflow occured.
Returns a tuple with:
- The multiplication (returns the wrapped value if an overflow occured)
- A mask indicating whether an overflow occured
Sourcepub fn overflowing_div(self, rhs: Self) -> (Self, Self)
pub fn overflowing_div(self, rhs: Self) -> (Self, Self)
Returns self / rhs and whether an overflow occured.
Returns a tuple with:
- The division (returns
selfif an overflow occured) - A mask indicating whether an overflow occured
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
Sourcepub fn overflowing_rem(self, rhs: Self) -> (Self, Self)
pub fn overflowing_rem(self, rhs: Self) -> (Self, Self)
Returns self % rhs and whether an overflow occured.
Returns a tuple with:
- The remainder (returns zero if an overflow occured)
- A mask indicating whether an overflow occured
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
Sourcepub fn widening_mul(self, rhs: Self) -> i16x32
pub fn widening_mul(self, rhs: Self) -> i16x32
Widening multiplication. Computes self * rhs, widening to a SIMD
vector of a larger integer type.
The returned value is always exact and can never overflow.
This function is different from mul_keep_low_high, which returns
two seperate SIMD vectors for low and high parts, instead of a
single SIMD vector of a larger integer type. Also note that while
mul_keep_low_high exists for all types, widening_mul does not
exist for types with no wider variant (e.g., for i32x16 because
there is no i64x16).
Sourcepub fn mul_keep_low_high(self, rhs: Self) -> (u8x32, i8x32)
pub fn mul_keep_low_high(self, rhs: Self) -> (u8x32, i8x32)
Computes self * rhs, producing intermediate 16-bit integers, then returns their low 8-bit parts and high 8-bit parts in two seperate SIMD vectors.
This function is different from widening_mul, which returns a single
SIMD vector of a larger integer type, instead of two seperate SIMD
vectors for low and high parts. Also note that while
mul_keep_low_high exists for all types, widening_mul does not
exist for types with no wider variant (e.g., for i32x16 because
there is no i64x16).
Sourcepub fn mul_keep_high(self, rhs: Self) -> Self
pub fn mul_keep_high(self, rhs: Self) -> Self
Computes self * rhs, producing intermediate 16-bit integers, then returns their high 8-bit parts.
Sourcepub fn signum(self) -> Self
pub fn signum(self) -> Self
Returns numbers representing the sign of each element.
0if the element is zero1if the element is positive-1if the element is negative
Sourcepub fn is_positive(self) -> Self
pub fn is_positive(self) -> Self
Returns a mask that is true for each positive element, and false if it is zero or negative.
Sourcepub fn is_negative(self) -> Self
pub fn is_negative(self) -> Self
Returns a mask that is true for each negative element, and false if it is zero or positive.
Source§impl i8x32
The following functionality exists only for i8x32, or only for
particular types inconsistently.
impl i8x32
The following functionality exists only for i8x32, or only for
particular types inconsistently.
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.
Sourcepub fn swizzle(self, rhs: i8x32) -> i8x32
👎Deprecated since 1.7.0: replaced with shuffle_zeroing
pub fn swizzle(self, rhs: i8x32) -> i8x32
replaced with shuffle_zeroing
Full 32-entry byte table lookup.
- An index (interpreted as unsigned) in
[0, 31]selectsself[index]. - Any index
>= 32(including negativei8values) yields0.
Unlike swizzle_half, indices address the entire
32-byte vector, not just their own 16-byte half.
This function has been deprecated and replaced with shuffle_zeroing.
Sourcepub fn swizzle_relaxed(self, rhs: i8x32) -> i8x32
👎Deprecated since 1.7.0: replaced with shuffle
pub fn swizzle_relaxed(self, rhs: i8x32) -> i8x32
replaced with shuffle
Trait Implementations§
Source§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 AddAssign<&i8> for i8x32
impl AddAssign<&i8> for i8x32
Source§fn add_assign(&mut self, rhs: &i8)
fn add_assign(&mut self, rhs: &i8)
+= operation. Read moreSource§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<i8> for i8x32
impl AddAssign<i8> for i8x32
Source§fn add_assign(&mut self, rhs: i8)
fn add_assign(&mut self, rhs: i8)
+= operation. Read moreSource§impl AlignTo for i8x32
impl AlignTo for i8x32
Source§fn simd_align_to(
slice: &[Self::Elem],
) -> (&[Self::Elem], &[Self], &[Self::Elem])
fn simd_align_to( slice: &[Self::Elem], ) -> (&[Self::Elem], &[Self], &[Self::Elem])
align_to.Source§fn simd_align_to_mut(
slice: &mut [Self::Elem],
) -> (&mut [Self::Elem], &mut [Self], &mut [Self::Elem])
fn simd_align_to_mut( slice: &mut [Self::Elem], ) -> (&mut [Self::Elem], &mut [Self], &mut [Self::Elem])
align_to_mut.Source§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 BitAndAssign<&i8> for i8x32
impl BitAndAssign<&i8> for i8x32
Source§fn bitand_assign(&mut self, rhs: &i8)
fn bitand_assign(&mut self, rhs: &i8)
&= 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<i8> for i8x32
impl BitAndAssign<i8> for i8x32
Source§fn bitand_assign(&mut self, rhs: i8)
fn bitand_assign(&mut self, rhs: i8)
&= 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 BitOrAssign<&i8> for i8x32
impl BitOrAssign<&i8> for i8x32
Source§fn bitor_assign(&mut self, rhs: &i8)
fn bitor_assign(&mut self, rhs: &i8)
|= 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<i8> for i8x32
impl BitOrAssign<i8> for i8x32
Source§fn bitor_assign(&mut self, rhs: i8)
fn bitor_assign(&mut self, rhs: i8)
|= 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 BitXorAssign<&i8> for i8x32
impl BitXorAssign<&i8> for i8x32
Source§fn bitxor_assign(&mut self, rhs: &i8)
fn bitxor_assign(&mut self, rhs: &i8)
^= 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<i8> for i8x32
impl BitXorAssign<i8> for i8x32
Source§fn bitxor_assign(&mut self, rhs: i8)
fn bitxor_assign(&mut self, rhs: i8)
^= operation. Read moreSource§impl CmpEq for i8x32
impl CmpEq for i8x32
Source§impl CmpEq<i8> for i8x32
impl CmpEq<i8> for i8x32
Source§impl CmpGe for i8x32
impl CmpGe for i8x32
Source§impl CmpGe<i8> for i8x32
impl CmpGe<i8> for i8x32
Source§impl CmpGt for i8x32
impl CmpGt for i8x32
Source§impl CmpGt<i8> for i8x32
impl CmpGt<i8> for i8x32
Source§impl CmpLe for i8x32
impl CmpLe for i8x32
Source§impl CmpLe<i8> for i8x32
impl CmpLe<i8> for i8x32
Source§impl CmpLt for i8x32
impl CmpLt for i8x32
Source§impl CmpLt<i8> for i8x32
impl CmpLt<i8> for i8x32
Source§impl CmpNe for i8x32
impl CmpNe for i8x32
Source§impl CmpNe<i8> for i8x32
impl CmpNe<i8> for i8x32
impl Copy for i8x32
Source§impl Div for i8x32
impl Div for i8x32
Source§impl Div<&i8> for i8x32
impl Div<&i8> for i8x32
Source§impl Div<&i8> for &i8x32
impl Div<&i8> for &i8x32
Source§impl Div<&i8x32> for i8x32
impl Div<&i8x32> for i8x32
Source§impl Div<&i8x32> for i8
impl Div<&i8x32> for i8
Source§impl Div<&i8x32> for &i8x32
impl Div<&i8x32> for &i8x32
Source§impl Div<&i8x32> for &i8
impl Div<&i8x32> for &i8
Source§impl Div<i8> for i8x32
impl Div<i8> for i8x32
Source§impl Div<i8> for &i8x32
impl Div<i8> for &i8x32
Source§impl Div<i8x32> for i8
impl Div<i8x32> for i8
Source§impl Div<i8x32> for &i8x32
impl Div<i8x32> for &i8x32
Source§impl Div<i8x32> for &i8
impl Div<i8x32> for &i8
Source§impl DivAssign for i8x32
impl DivAssign for i8x32
Source§fn div_assign(&mut self, rhs: Self)
fn div_assign(&mut self, rhs: Self)
Divides each element of left by the corresponding element right.
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
§Panics
Panics if any element of right is zero.
Source§impl DivAssign<&i8> for i8x32
impl DivAssign<&i8> for i8x32
Source§fn div_assign(&mut self, rhs: &i8)
fn div_assign(&mut self, rhs: &i8)
Divides each element of left by the scalar right.
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
§Panics
Panics if right is zero.
Source§impl DivAssign<&i8x32> for i8x32
impl DivAssign<&i8x32> for i8x32
Source§fn div_assign(&mut self, rhs: &Self)
fn div_assign(&mut self, rhs: &Self)
Divides each element of left by the corresponding element right.
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
§Panics
Panics if any element of right is zero.
Source§impl DivAssign<i8> for i8x32
impl DivAssign<i8> for i8x32
Source§fn div_assign(&mut self, rhs: i8)
fn div_assign(&mut self, rhs: i8)
Divides each element of left by the scalar right.
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
§Panics
Panics if right is zero.
impl Eq for i8x32
Source§impl MulAssign for i8x32
impl MulAssign for i8x32
Source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
*= operation. Read moreSource§impl MulAssign<&i8> for i8x32
impl MulAssign<&i8> for i8x32
Source§fn mul_assign(&mut self, rhs: &i8)
fn mul_assign(&mut self, rhs: &i8)
*= operation. Read moreSource§impl MulAssign<&i8x32> for i8x32
impl MulAssign<&i8x32> for i8x32
Source§fn mul_assign(&mut self, rhs: &Self)
fn mul_assign(&mut self, rhs: &Self)
*= operation. Read moreSource§impl MulAssign<i8> for i8x32
impl MulAssign<i8> for i8x32
Source§fn mul_assign(&mut self, rhs: i8)
fn mul_assign(&mut self, rhs: i8)
*= operation. Read moreimpl Pod for i8x32
Source§impl Rem for i8x32
impl Rem for i8x32
Source§impl Rem<&i8> for i8x32
impl Rem<&i8> for i8x32
Source§impl Rem<&i8> for &i8x32
impl Rem<&i8> for &i8x32
Source§impl Rem<&i8x32> for i8x32
impl Rem<&i8x32> for i8x32
Source§impl Rem<&i8x32> for i8
impl Rem<&i8x32> for i8
Source§impl Rem<&i8x32> for &i8x32
impl Rem<&i8x32> for &i8x32
Source§fn rem(self, rhs: &i8x32) -> Self::Output
fn rem(self, rhs: &i8x32) -> Self::Output
Returns the remainder of each element of left divided by the
corresponding element right.
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
§Panics
Panics if any element of right is zero.
Source§impl Rem<&i8x32> for &i8
impl Rem<&i8x32> for &i8
Source§impl Rem<i8> for i8x32
impl Rem<i8> for i8x32
Source§impl Rem<i8> for &i8x32
impl Rem<i8> for &i8x32
Source§impl Rem<i8x32> for i8
impl Rem<i8x32> for i8
Source§impl Rem<i8x32> for &i8x32
impl Rem<i8x32> for &i8x32
Source§impl Rem<i8x32> for &i8
impl Rem<i8x32> for &i8
Source§impl RemAssign for i8x32
impl RemAssign for i8x32
Source§fn rem_assign(&mut self, rhs: Self)
fn rem_assign(&mut self, rhs: Self)
Returns the remainder of each element of left divided by the
corresponding element right.
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
§Panics
Panics if any element of right is zero.
Source§impl RemAssign<&i8> for i8x32
impl RemAssign<&i8> for i8x32
Source§fn rem_assign(&mut self, rhs: &i8)
fn rem_assign(&mut self, rhs: &i8)
Returns the remainder of each element of left divided by the
scalar right.
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
§Panics
Panics if right is zero.
Source§impl RemAssign<&i8x32> for i8x32
impl RemAssign<&i8x32> for i8x32
Source§fn rem_assign(&mut self, rhs: &Self)
fn rem_assign(&mut self, rhs: &Self)
Returns the remainder of each element of left divided by the
corresponding element right.
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
§Panics
Panics if any element of right is zero.
Source§impl RemAssign<i8> for i8x32
impl RemAssign<i8> for i8x32
Source§fn rem_assign(&mut self, rhs: i8)
fn rem_assign(&mut self, rhs: i8)
Returns the remainder of each element of left divided by the
scalar right.
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
§Panics
Panics if right is zero.
Source§impl Shl for i8x32
impl Shl for i8x32
Source§fn shl(self, rhs: i8x32) -> Self::Output
fn shl(self, rhs: i8x32) -> Self::Output
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<&i8> for i8x32
impl Shl<&i8> for i8x32
Source§fn shl(self, rhs: &i8) -> Self::Output
fn shl(self, rhs: &i8) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&i8> for &i8x32
impl Shl<&i8> for &i8x32
Source§fn shl(self, rhs: &i8) -> Self::Output
fn shl(self, rhs: &i8) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&i8x32> for i8x32
impl Shl<&i8x32> for i8x32
Source§fn shl(self, rhs: &i8x32) -> Self::Output
fn shl(self, rhs: &i8x32) -> Self::Output
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<&i8x32> for i8
impl Shl<&i8x32> for i8
Source§fn shl(self, rhs: &i8x32) -> Self::Output
fn shl(self, rhs: &i8x32) -> Self::Output
Shifts left the scalar self by each element of rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<&i8x32> for &i8x32
impl Shl<&i8x32> for &i8x32
Source§fn shl(self, rhs: &i8x32) -> Self::Output
fn shl(self, rhs: &i8x32) -> Self::Output
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<&i8x32> for &i8
impl Shl<&i8x32> for &i8
Source§fn shl(self, rhs: &i8x32) -> Self::Output
fn shl(self, rhs: &i8x32) -> Self::Output
Shifts left the scalar self by each element of rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<&i8x32> for u8x32
impl Shl<&i8x32> for u8x32
Source§fn shl(self, rhs: &i8x32) -> Self::Output
fn shl(self, rhs: &i8x32) -> Self::Output
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<&i8x32> for u8
impl Shl<&i8x32> for u8
Source§fn shl(self, rhs: &i8x32) -> Self::Output
fn shl(self, rhs: &i8x32) -> Self::Output
Shifts left the scalar self by each element of rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<&i8x32> for &u8x32
impl Shl<&i8x32> for &u8x32
Source§fn shl(self, rhs: &i8x32) -> Self::Output
fn shl(self, rhs: &i8x32) -> Self::Output
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<&i8x32> for &u8
impl Shl<&i8x32> for &u8
Source§fn shl(self, rhs: &i8x32) -> Self::Output
fn shl(self, rhs: &i8x32) -> Self::Output
Shifts left the scalar self by each element of rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<&i16> for i8x32
impl Shl<&i16> for i8x32
Source§fn shl(self, rhs: &i16) -> Self::Output
fn shl(self, rhs: &i16) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&i16> for &i8x32
impl Shl<&i16> for &i8x32
Source§fn shl(self, rhs: &i16) -> Self::Output
fn shl(self, rhs: &i16) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&i32> for i8x32
impl Shl<&i32> for i8x32
Source§fn shl(self, rhs: &i32) -> Self::Output
fn shl(self, rhs: &i32) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&i32> for &i8x32
impl Shl<&i32> for &i8x32
Source§fn shl(self, rhs: &i32) -> Self::Output
fn shl(self, rhs: &i32) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&i64> for i8x32
impl Shl<&i64> for i8x32
Source§fn shl(self, rhs: &i64) -> Self::Output
fn shl(self, rhs: &i64) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&i64> for &i8x32
impl Shl<&i64> for &i8x32
Source§fn shl(self, rhs: &i64) -> Self::Output
fn shl(self, rhs: &i64) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&i128> for i8x32
impl Shl<&i128> for i8x32
Source§fn shl(self, rhs: &i128) -> Self::Output
fn shl(self, rhs: &i128) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&i128> for &i8x32
impl Shl<&i128> for &i8x32
Source§fn shl(self, rhs: &i128) -> Self::Output
fn shl(self, rhs: &i128) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&isize> for i8x32
impl Shl<&isize> for i8x32
Source§fn shl(self, rhs: &isize) -> Self::Output
fn shl(self, rhs: &isize) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&isize> for &i8x32
impl Shl<&isize> for &i8x32
Source§fn shl(self, rhs: &isize) -> Self::Output
fn shl(self, rhs: &isize) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&u8> for i8x32
impl Shl<&u8> for i8x32
Source§fn shl(self, rhs: &u8) -> Self::Output
fn shl(self, rhs: &u8) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&u8> for &i8x32
impl Shl<&u8> for &i8x32
Source§fn shl(self, rhs: &u8) -> Self::Output
fn shl(self, rhs: &u8) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&u8x32> for i8x32
impl Shl<&u8x32> for i8x32
Source§fn shl(self, rhs: &u8x32) -> Self::Output
fn shl(self, rhs: &u8x32) -> Self::Output
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<&u8x32> for &i8x32
impl Shl<&u8x32> for &i8x32
Source§fn shl(self, rhs: &u8x32) -> Self::Output
fn shl(self, rhs: &u8x32) -> Self::Output
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<&u16> for i8x32
impl Shl<&u16> for i8x32
Source§fn shl(self, rhs: &u16) -> Self::Output
fn shl(self, rhs: &u16) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&u16> for &i8x32
impl Shl<&u16> for &i8x32
Source§fn shl(self, rhs: &u16) -> Self::Output
fn shl(self, rhs: &u16) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&u32> for i8x32
impl Shl<&u32> for i8x32
Source§fn shl(self, rhs: &u32) -> Self::Output
fn shl(self, rhs: &u32) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&u32> for &i8x32
impl Shl<&u32> for &i8x32
Source§fn shl(self, rhs: &u32) -> Self::Output
fn shl(self, rhs: &u32) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&u64> for i8x32
impl Shl<&u64> for i8x32
Source§fn shl(self, rhs: &u64) -> Self::Output
fn shl(self, rhs: &u64) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&u64> for &i8x32
impl Shl<&u64> for &i8x32
Source§fn shl(self, rhs: &u64) -> Self::Output
fn shl(self, rhs: &u64) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&u128> for i8x32
impl Shl<&u128> for i8x32
Source§fn shl(self, rhs: &u128) -> Self::Output
fn shl(self, rhs: &u128) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&u128> for &i8x32
impl Shl<&u128> for &i8x32
Source§fn shl(self, rhs: &u128) -> Self::Output
fn shl(self, rhs: &u128) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&usize> for i8x32
impl Shl<&usize> for i8x32
Source§fn shl(self, rhs: &usize) -> Self::Output
fn shl(self, rhs: &usize) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&usize> for &i8x32
impl Shl<&usize> for &i8x32
Source§fn shl(self, rhs: &usize) -> Self::Output
fn shl(self, rhs: &usize) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<i8> for i8x32
impl Shl<i8> for i8x32
Source§fn shl(self, rhs: i8) -> Self::Output
fn shl(self, rhs: i8) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<i8> for &i8x32
impl Shl<i8> for &i8x32
Source§fn shl(self, rhs: i8) -> Self::Output
fn shl(self, rhs: i8) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<i8x32> for i8
impl Shl<i8x32> for i8
Source§fn shl(self, rhs: i8x32) -> Self::Output
fn shl(self, rhs: i8x32) -> Self::Output
Shifts left the scalar self by each element of rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<i8x32> for &i8x32
impl Shl<i8x32> for &i8x32
Source§fn shl(self, rhs: i8x32) -> Self::Output
fn shl(self, rhs: i8x32) -> Self::Output
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<i8x32> for &i8
impl Shl<i8x32> for &i8
Source§fn shl(self, rhs: i8x32) -> Self::Output
fn shl(self, rhs: i8x32) -> Self::Output
Shifts left the scalar self by each element of rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<i8x32> for u8x32
impl Shl<i8x32> for u8x32
Source§fn shl(self, rhs: i8x32) -> Self::Output
fn shl(self, rhs: i8x32) -> Self::Output
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<i8x32> for u8
impl Shl<i8x32> for u8
Source§fn shl(self, rhs: i8x32) -> Self::Output
fn shl(self, rhs: i8x32) -> Self::Output
Shifts left the scalar self by each element of rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<i8x32> for &u8x32
impl Shl<i8x32> for &u8x32
Source§fn shl(self, rhs: i8x32) -> Self::Output
fn shl(self, rhs: i8x32) -> Self::Output
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<i8x32> for &u8
impl Shl<i8x32> for &u8
Source§fn shl(self, rhs: i8x32) -> Self::Output
fn shl(self, rhs: i8x32) -> Self::Output
Shifts left the scalar self by each element of rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<i16> for i8x32
impl Shl<i16> for i8x32
Source§fn shl(self, rhs: i16) -> Self::Output
fn shl(self, rhs: i16) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<i16> for &i8x32
impl Shl<i16> for &i8x32
Source§fn shl(self, rhs: i16) -> Self::Output
fn shl(self, rhs: i16) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<i32> for i8x32
impl Shl<i32> for i8x32
Source§fn shl(self, rhs: i32) -> Self::Output
fn shl(self, rhs: i32) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<i32> for &i8x32
impl Shl<i32> for &i8x32
Source§fn shl(self, rhs: i32) -> Self::Output
fn shl(self, rhs: i32) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<i64> for i8x32
impl Shl<i64> for i8x32
Source§fn shl(self, rhs: i64) -> Self::Output
fn shl(self, rhs: i64) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<i64> for &i8x32
impl Shl<i64> for &i8x32
Source§fn shl(self, rhs: i64) -> Self::Output
fn shl(self, rhs: i64) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<i128> for i8x32
impl Shl<i128> for i8x32
Source§fn shl(self, rhs: i128) -> Self::Output
fn shl(self, rhs: i128) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<i128> for &i8x32
impl Shl<i128> for &i8x32
Source§fn shl(self, rhs: i128) -> Self::Output
fn shl(self, rhs: i128) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<isize> for i8x32
impl Shl<isize> for i8x32
Source§fn shl(self, rhs: isize) -> Self::Output
fn shl(self, rhs: isize) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<isize> for &i8x32
impl Shl<isize> for &i8x32
Source§fn shl(self, rhs: isize) -> Self::Output
fn shl(self, rhs: isize) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<u8> for i8x32
impl Shl<u8> for i8x32
Source§fn shl(self, rhs: u8) -> Self::Output
fn shl(self, rhs: u8) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<u8> for &i8x32
impl Shl<u8> for &i8x32
Source§fn shl(self, rhs: u8) -> Self::Output
fn shl(self, rhs: u8) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<u8x32> for i8x32
impl Shl<u8x32> for i8x32
Source§fn shl(self, rhs: u8x32) -> Self
fn shl(self, rhs: u8x32) -> Self
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<u8x32> for &i8x32
impl Shl<u8x32> for &i8x32
Source§fn shl(self, rhs: u8x32) -> Self::Output
fn shl(self, rhs: u8x32) -> Self::Output
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl Shl<u16> for i8x32
impl Shl<u16> for i8x32
Source§fn shl(self, rhs: u16) -> Self::Output
fn shl(self, rhs: u16) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<u16> for &i8x32
impl Shl<u16> for &i8x32
Source§fn shl(self, rhs: u16) -> Self::Output
fn shl(self, rhs: u16) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<u32> for i8x32
impl Shl<u32> for i8x32
Source§fn shl(self, rhs: u32) -> Self
fn shl(self, rhs: u32) -> Self
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<u32> for &i8x32
impl Shl<u32> for &i8x32
Source§fn shl(self, rhs: u32) -> Self::Output
fn shl(self, rhs: u32) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<u64> for i8x32
impl Shl<u64> for i8x32
Source§fn shl(self, rhs: u64) -> Self::Output
fn shl(self, rhs: u64) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<u64> for &i8x32
impl Shl<u64> for &i8x32
Source§fn shl(self, rhs: u64) -> Self::Output
fn shl(self, rhs: u64) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<u128> for i8x32
impl Shl<u128> for i8x32
Source§fn shl(self, rhs: u128) -> Self::Output
fn shl(self, rhs: u128) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<u128> for &i8x32
impl Shl<u128> for &i8x32
Source§fn shl(self, rhs: u128) -> Self::Output
fn shl(self, rhs: u128) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<usize> for i8x32
impl Shl<usize> for i8x32
Source§fn shl(self, rhs: usize) -> Self::Output
fn shl(self, rhs: usize) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<usize> for &i8x32
impl Shl<usize> for &i8x32
Source§fn shl(self, rhs: usize) -> Self::Output
fn shl(self, rhs: usize) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign for i8x32
impl ShlAssign for i8x32
Source§fn shl_assign(&mut self, rhs: i8x32)
fn shl_assign(&mut self, rhs: i8x32)
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl ShlAssign<&i8> for i8x32
impl ShlAssign<&i8> for i8x32
Source§fn shl_assign(&mut self, rhs: &i8)
fn shl_assign(&mut self, rhs: &i8)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&i8x32> for i8x32
impl ShlAssign<&i8x32> for i8x32
Source§fn shl_assign(&mut self, rhs: &i8x32)
fn shl_assign(&mut self, rhs: &i8x32)
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl ShlAssign<&i8x32> for u8x32
impl ShlAssign<&i8x32> for u8x32
Source§fn shl_assign(&mut self, rhs: &i8x32)
fn shl_assign(&mut self, rhs: &i8x32)
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl ShlAssign<&i16> for i8x32
impl ShlAssign<&i16> for i8x32
Source§fn shl_assign(&mut self, rhs: &i16)
fn shl_assign(&mut self, rhs: &i16)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&i32> for i8x32
impl ShlAssign<&i32> for i8x32
Source§fn shl_assign(&mut self, rhs: &i32)
fn shl_assign(&mut self, rhs: &i32)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&i64> for i8x32
impl ShlAssign<&i64> for i8x32
Source§fn shl_assign(&mut self, rhs: &i64)
fn shl_assign(&mut self, rhs: &i64)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&i128> for i8x32
impl ShlAssign<&i128> for i8x32
Source§fn shl_assign(&mut self, rhs: &i128)
fn shl_assign(&mut self, rhs: &i128)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&isize> for i8x32
impl ShlAssign<&isize> for i8x32
Source§fn shl_assign(&mut self, rhs: &isize)
fn shl_assign(&mut self, rhs: &isize)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&u8> for i8x32
impl ShlAssign<&u8> for i8x32
Source§fn shl_assign(&mut self, rhs: &u8)
fn shl_assign(&mut self, rhs: &u8)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&u8x32> for i8x32
impl ShlAssign<&u8x32> for i8x32
Source§fn shl_assign(&mut self, rhs: &u8x32)
fn shl_assign(&mut self, rhs: &u8x32)
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl ShlAssign<&u16> for i8x32
impl ShlAssign<&u16> for i8x32
Source§fn shl_assign(&mut self, rhs: &u16)
fn shl_assign(&mut self, rhs: &u16)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&u32> for i8x32
impl ShlAssign<&u32> for i8x32
Source§fn shl_assign(&mut self, rhs: &u32)
fn shl_assign(&mut self, rhs: &u32)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&u64> for i8x32
impl ShlAssign<&u64> for i8x32
Source§fn shl_assign(&mut self, rhs: &u64)
fn shl_assign(&mut self, rhs: &u64)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&u128> for i8x32
impl ShlAssign<&u128> for i8x32
Source§fn shl_assign(&mut self, rhs: &u128)
fn shl_assign(&mut self, rhs: &u128)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&usize> for i8x32
impl ShlAssign<&usize> for i8x32
Source§fn shl_assign(&mut self, rhs: &usize)
fn shl_assign(&mut self, rhs: &usize)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<i8> for i8x32
impl ShlAssign<i8> for i8x32
Source§fn shl_assign(&mut self, rhs: i8)
fn shl_assign(&mut self, rhs: i8)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<i8x32> for u8x32
impl ShlAssign<i8x32> for u8x32
Source§fn shl_assign(&mut self, rhs: i8x32)
fn shl_assign(&mut self, rhs: i8x32)
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl ShlAssign<i16> for i8x32
impl ShlAssign<i16> for i8x32
Source§fn shl_assign(&mut self, rhs: i16)
fn shl_assign(&mut self, rhs: i16)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<i32> for i8x32
impl ShlAssign<i32> for i8x32
Source§fn shl_assign(&mut self, rhs: i32)
fn shl_assign(&mut self, rhs: i32)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<i64> for i8x32
impl ShlAssign<i64> for i8x32
Source§fn shl_assign(&mut self, rhs: i64)
fn shl_assign(&mut self, rhs: i64)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<i128> for i8x32
impl ShlAssign<i128> for i8x32
Source§fn shl_assign(&mut self, rhs: i128)
fn shl_assign(&mut self, rhs: i128)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<isize> for i8x32
impl ShlAssign<isize> for i8x32
Source§fn shl_assign(&mut self, rhs: isize)
fn shl_assign(&mut self, rhs: isize)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<u8> for i8x32
impl ShlAssign<u8> for i8x32
Source§fn shl_assign(&mut self, rhs: u8)
fn shl_assign(&mut self, rhs: u8)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<u8x32> for i8x32
impl ShlAssign<u8x32> for i8x32
Source§fn shl_assign(&mut self, rhs: u8x32)
fn shl_assign(&mut self, rhs: u8x32)
Shifts left each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl, so consider using that instead.
Source§impl ShlAssign<u16> for i8x32
impl ShlAssign<u16> for i8x32
Source§fn shl_assign(&mut self, rhs: u16)
fn shl_assign(&mut self, rhs: u16)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<u32> for i8x32
impl ShlAssign<u32> for i8x32
Source§fn shl_assign(&mut self, rhs: u32)
fn shl_assign(&mut self, rhs: u32)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<u64> for i8x32
impl ShlAssign<u64> for i8x32
Source§fn shl_assign(&mut self, rhs: u64)
fn shl_assign(&mut self, rhs: u64)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<u128> for i8x32
impl ShlAssign<u128> for i8x32
Source§fn shl_assign(&mut self, rhs: u128)
fn shl_assign(&mut self, rhs: u128)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<usize> for i8x32
impl ShlAssign<usize> for i8x32
Source§fn shl_assign(&mut self, rhs: usize)
fn shl_assign(&mut self, rhs: usize)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shr for i8x32
impl Shr for i8x32
Source§fn shr(self, rhs: i8x32) -> Self::Output
fn shr(self, rhs: i8x32) -> Self::Output
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<&i8> for i8x32
impl Shr<&i8> for i8x32
Source§fn shr(self, rhs: &i8) -> Self::Output
fn shr(self, rhs: &i8) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&i8> for &i8x32
impl Shr<&i8> for &i8x32
Source§fn shr(self, rhs: &i8) -> Self::Output
fn shr(self, rhs: &i8) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&i8x32> for i8x32
impl Shr<&i8x32> for i8x32
Source§fn shr(self, rhs: &i8x32) -> Self::Output
fn shr(self, rhs: &i8x32) -> Self::Output
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<&i8x32> for i8
impl Shr<&i8x32> for i8
Source§fn shr(self, rhs: &i8x32) -> Self::Output
fn shr(self, rhs: &i8x32) -> Self::Output
Shifts right the scalar self by each element of rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<&i8x32> for &i8x32
impl Shr<&i8x32> for &i8x32
Source§fn shr(self, rhs: &i8x32) -> Self::Output
fn shr(self, rhs: &i8x32) -> Self::Output
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<&i8x32> for &i8
impl Shr<&i8x32> for &i8
Source§fn shr(self, rhs: &i8x32) -> Self::Output
fn shr(self, rhs: &i8x32) -> Self::Output
Shifts right the scalar self by each element of rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<&i8x32> for u8x32
impl Shr<&i8x32> for u8x32
Source§fn shr(self, rhs: &i8x32) -> Self::Output
fn shr(self, rhs: &i8x32) -> Self::Output
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<&i8x32> for u8
impl Shr<&i8x32> for u8
Source§fn shr(self, rhs: &i8x32) -> Self::Output
fn shr(self, rhs: &i8x32) -> Self::Output
Shifts right the scalar self by each element of rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<&i8x32> for &u8x32
impl Shr<&i8x32> for &u8x32
Source§fn shr(self, rhs: &i8x32) -> Self::Output
fn shr(self, rhs: &i8x32) -> Self::Output
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<&i8x32> for &u8
impl Shr<&i8x32> for &u8
Source§fn shr(self, rhs: &i8x32) -> Self::Output
fn shr(self, rhs: &i8x32) -> Self::Output
Shifts right the scalar self by each element of rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<&i16> for i8x32
impl Shr<&i16> for i8x32
Source§fn shr(self, rhs: &i16) -> Self::Output
fn shr(self, rhs: &i16) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&i16> for &i8x32
impl Shr<&i16> for &i8x32
Source§fn shr(self, rhs: &i16) -> Self::Output
fn shr(self, rhs: &i16) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&i32> for i8x32
impl Shr<&i32> for i8x32
Source§fn shr(self, rhs: &i32) -> Self::Output
fn shr(self, rhs: &i32) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&i32> for &i8x32
impl Shr<&i32> for &i8x32
Source§fn shr(self, rhs: &i32) -> Self::Output
fn shr(self, rhs: &i32) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&i64> for i8x32
impl Shr<&i64> for i8x32
Source§fn shr(self, rhs: &i64) -> Self::Output
fn shr(self, rhs: &i64) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&i64> for &i8x32
impl Shr<&i64> for &i8x32
Source§fn shr(self, rhs: &i64) -> Self::Output
fn shr(self, rhs: &i64) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&i128> for i8x32
impl Shr<&i128> for i8x32
Source§fn shr(self, rhs: &i128) -> Self::Output
fn shr(self, rhs: &i128) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&i128> for &i8x32
impl Shr<&i128> for &i8x32
Source§fn shr(self, rhs: &i128) -> Self::Output
fn shr(self, rhs: &i128) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&isize> for i8x32
impl Shr<&isize> for i8x32
Source§fn shr(self, rhs: &isize) -> Self::Output
fn shr(self, rhs: &isize) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&isize> for &i8x32
impl Shr<&isize> for &i8x32
Source§fn shr(self, rhs: &isize) -> Self::Output
fn shr(self, rhs: &isize) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&u8> for i8x32
impl Shr<&u8> for i8x32
Source§fn shr(self, rhs: &u8) -> Self::Output
fn shr(self, rhs: &u8) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&u8> for &i8x32
impl Shr<&u8> for &i8x32
Source§fn shr(self, rhs: &u8) -> Self::Output
fn shr(self, rhs: &u8) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&u8x32> for i8x32
impl Shr<&u8x32> for i8x32
Source§fn shr(self, rhs: &u8x32) -> Self::Output
fn shr(self, rhs: &u8x32) -> Self::Output
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<&u8x32> for &i8x32
impl Shr<&u8x32> for &i8x32
Source§fn shr(self, rhs: &u8x32) -> Self::Output
fn shr(self, rhs: &u8x32) -> Self::Output
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<&u16> for i8x32
impl Shr<&u16> for i8x32
Source§fn shr(self, rhs: &u16) -> Self::Output
fn shr(self, rhs: &u16) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&u16> for &i8x32
impl Shr<&u16> for &i8x32
Source§fn shr(self, rhs: &u16) -> Self::Output
fn shr(self, rhs: &u16) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&u32> for i8x32
impl Shr<&u32> for i8x32
Source§fn shr(self, rhs: &u32) -> Self::Output
fn shr(self, rhs: &u32) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&u32> for &i8x32
impl Shr<&u32> for &i8x32
Source§fn shr(self, rhs: &u32) -> Self::Output
fn shr(self, rhs: &u32) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&u64> for i8x32
impl Shr<&u64> for i8x32
Source§fn shr(self, rhs: &u64) -> Self::Output
fn shr(self, rhs: &u64) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&u64> for &i8x32
impl Shr<&u64> for &i8x32
Source§fn shr(self, rhs: &u64) -> Self::Output
fn shr(self, rhs: &u64) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&u128> for i8x32
impl Shr<&u128> for i8x32
Source§fn shr(self, rhs: &u128) -> Self::Output
fn shr(self, rhs: &u128) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&u128> for &i8x32
impl Shr<&u128> for &i8x32
Source§fn shr(self, rhs: &u128) -> Self::Output
fn shr(self, rhs: &u128) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&usize> for i8x32
impl Shr<&usize> for i8x32
Source§fn shr(self, rhs: &usize) -> Self::Output
fn shr(self, rhs: &usize) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&usize> for &i8x32
impl Shr<&usize> for &i8x32
Source§fn shr(self, rhs: &usize) -> Self::Output
fn shr(self, rhs: &usize) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<i8> for i8x32
impl Shr<i8> for i8x32
Source§fn shr(self, rhs: i8) -> Self::Output
fn shr(self, rhs: i8) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<i8> for &i8x32
impl Shr<i8> for &i8x32
Source§fn shr(self, rhs: i8) -> Self::Output
fn shr(self, rhs: i8) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<i8x32> for i8
impl Shr<i8x32> for i8
Source§fn shr(self, rhs: i8x32) -> Self::Output
fn shr(self, rhs: i8x32) -> Self::Output
Shifts right the scalar self by each element of rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<i8x32> for &i8x32
impl Shr<i8x32> for &i8x32
Source§fn shr(self, rhs: i8x32) -> Self::Output
fn shr(self, rhs: i8x32) -> Self::Output
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<i8x32> for &i8
impl Shr<i8x32> for &i8
Source§fn shr(self, rhs: i8x32) -> Self::Output
fn shr(self, rhs: i8x32) -> Self::Output
Shifts right the scalar self by each element of rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<i8x32> for u8x32
impl Shr<i8x32> for u8x32
Source§fn shr(self, rhs: i8x32) -> Self::Output
fn shr(self, rhs: i8x32) -> Self::Output
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<i8x32> for u8
impl Shr<i8x32> for u8
Source§fn shr(self, rhs: i8x32) -> Self::Output
fn shr(self, rhs: i8x32) -> Self::Output
Shifts right the scalar self by each element of rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<i8x32> for &u8x32
impl Shr<i8x32> for &u8x32
Source§fn shr(self, rhs: i8x32) -> Self::Output
fn shr(self, rhs: i8x32) -> Self::Output
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<i8x32> for &u8
impl Shr<i8x32> for &u8
Source§fn shr(self, rhs: i8x32) -> Self::Output
fn shr(self, rhs: i8x32) -> Self::Output
Shifts right the scalar self by each element of rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<i16> for i8x32
impl Shr<i16> for i8x32
Source§fn shr(self, rhs: i16) -> Self::Output
fn shr(self, rhs: i16) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<i16> for &i8x32
impl Shr<i16> for &i8x32
Source§fn shr(self, rhs: i16) -> Self::Output
fn shr(self, rhs: i16) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<i32> for i8x32
impl Shr<i32> for i8x32
Source§fn shr(self, rhs: i32) -> Self::Output
fn shr(self, rhs: i32) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<i32> for &i8x32
impl Shr<i32> for &i8x32
Source§fn shr(self, rhs: i32) -> Self::Output
fn shr(self, rhs: i32) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<i64> for i8x32
impl Shr<i64> for i8x32
Source§fn shr(self, rhs: i64) -> Self::Output
fn shr(self, rhs: i64) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<i64> for &i8x32
impl Shr<i64> for &i8x32
Source§fn shr(self, rhs: i64) -> Self::Output
fn shr(self, rhs: i64) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<i128> for i8x32
impl Shr<i128> for i8x32
Source§fn shr(self, rhs: i128) -> Self::Output
fn shr(self, rhs: i128) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<i128> for &i8x32
impl Shr<i128> for &i8x32
Source§fn shr(self, rhs: i128) -> Self::Output
fn shr(self, rhs: i128) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<isize> for i8x32
impl Shr<isize> for i8x32
Source§fn shr(self, rhs: isize) -> Self::Output
fn shr(self, rhs: isize) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<isize> for &i8x32
impl Shr<isize> for &i8x32
Source§fn shr(self, rhs: isize) -> Self::Output
fn shr(self, rhs: isize) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<u8> for i8x32
impl Shr<u8> for i8x32
Source§fn shr(self, rhs: u8) -> Self::Output
fn shr(self, rhs: u8) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<u8> for &i8x32
impl Shr<u8> for &i8x32
Source§fn shr(self, rhs: u8) -> Self::Output
fn shr(self, rhs: u8) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<u8x32> for i8x32
impl Shr<u8x32> for i8x32
Source§fn shr(self, rhs: u8x32) -> Self::Output
fn shr(self, rhs: u8x32) -> Self::Output
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<u8x32> for &i8x32
impl Shr<u8x32> for &i8x32
Source§fn shr(self, rhs: u8x32) -> Self::Output
fn shr(self, rhs: u8x32) -> Self::Output
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl Shr<u16> for i8x32
impl Shr<u16> for i8x32
Source§fn shr(self, rhs: u16) -> Self::Output
fn shr(self, rhs: u16) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<u16> for &i8x32
impl Shr<u16> for &i8x32
Source§fn shr(self, rhs: u16) -> Self::Output
fn shr(self, rhs: u16) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<u32> for i8x32
impl Shr<u32> for i8x32
Source§fn shr(self, rhs: u32) -> Self::Output
fn shr(self, rhs: u32) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<u32> for &i8x32
impl Shr<u32> for &i8x32
Source§fn shr(self, rhs: u32) -> Self::Output
fn shr(self, rhs: u32) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<u64> for i8x32
impl Shr<u64> for i8x32
Source§fn shr(self, rhs: u64) -> Self::Output
fn shr(self, rhs: u64) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<u64> for &i8x32
impl Shr<u64> for &i8x32
Source§fn shr(self, rhs: u64) -> Self::Output
fn shr(self, rhs: u64) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<u128> for i8x32
impl Shr<u128> for i8x32
Source§fn shr(self, rhs: u128) -> Self::Output
fn shr(self, rhs: u128) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<u128> for &i8x32
impl Shr<u128> for &i8x32
Source§fn shr(self, rhs: u128) -> Self::Output
fn shr(self, rhs: u128) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<usize> for i8x32
impl Shr<usize> for i8x32
Source§fn shr(self, rhs: usize) -> Self::Output
fn shr(self, rhs: usize) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<usize> for &i8x32
impl Shr<usize> for &i8x32
Source§fn shr(self, rhs: usize) -> Self::Output
fn shr(self, rhs: usize) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign for i8x32
impl ShrAssign for i8x32
Source§fn shr_assign(&mut self, rhs: i8x32)
fn shr_assign(&mut self, rhs: i8x32)
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl ShrAssign<&i8> for i8x32
impl ShrAssign<&i8> for i8x32
Source§fn shr_assign(&mut self, rhs: &i8)
fn shr_assign(&mut self, rhs: &i8)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&i8x32> for i8x32
impl ShrAssign<&i8x32> for i8x32
Source§fn shr_assign(&mut self, rhs: &i8x32)
fn shr_assign(&mut self, rhs: &i8x32)
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl ShrAssign<&i8x32> for u8x32
impl ShrAssign<&i8x32> for u8x32
Source§fn shr_assign(&mut self, rhs: &i8x32)
fn shr_assign(&mut self, rhs: &i8x32)
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl ShrAssign<&i16> for i8x32
impl ShrAssign<&i16> for i8x32
Source§fn shr_assign(&mut self, rhs: &i16)
fn shr_assign(&mut self, rhs: &i16)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&i32> for i8x32
impl ShrAssign<&i32> for i8x32
Source§fn shr_assign(&mut self, rhs: &i32)
fn shr_assign(&mut self, rhs: &i32)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&i64> for i8x32
impl ShrAssign<&i64> for i8x32
Source§fn shr_assign(&mut self, rhs: &i64)
fn shr_assign(&mut self, rhs: &i64)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&i128> for i8x32
impl ShrAssign<&i128> for i8x32
Source§fn shr_assign(&mut self, rhs: &i128)
fn shr_assign(&mut self, rhs: &i128)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&isize> for i8x32
impl ShrAssign<&isize> for i8x32
Source§fn shr_assign(&mut self, rhs: &isize)
fn shr_assign(&mut self, rhs: &isize)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&u8> for i8x32
impl ShrAssign<&u8> for i8x32
Source§fn shr_assign(&mut self, rhs: &u8)
fn shr_assign(&mut self, rhs: &u8)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&u8x32> for i8x32
impl ShrAssign<&u8x32> for i8x32
Source§fn shr_assign(&mut self, rhs: &u8x32)
fn shr_assign(&mut self, rhs: &u8x32)
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl ShrAssign<&u16> for i8x32
impl ShrAssign<&u16> for i8x32
Source§fn shr_assign(&mut self, rhs: &u16)
fn shr_assign(&mut self, rhs: &u16)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&u32> for i8x32
impl ShrAssign<&u32> for i8x32
Source§fn shr_assign(&mut self, rhs: &u32)
fn shr_assign(&mut self, rhs: &u32)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&u64> for i8x32
impl ShrAssign<&u64> for i8x32
Source§fn shr_assign(&mut self, rhs: &u64)
fn shr_assign(&mut self, rhs: &u64)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&u128> for i8x32
impl ShrAssign<&u128> for i8x32
Source§fn shr_assign(&mut self, rhs: &u128)
fn shr_assign(&mut self, rhs: &u128)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&usize> for i8x32
impl ShrAssign<&usize> for i8x32
Source§fn shr_assign(&mut self, rhs: &usize)
fn shr_assign(&mut self, rhs: &usize)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<i8> for i8x32
impl ShrAssign<i8> for i8x32
Source§fn shr_assign(&mut self, rhs: i8)
fn shr_assign(&mut self, rhs: i8)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<i8x32> for u8x32
impl ShrAssign<i8x32> for u8x32
Source§fn shr_assign(&mut self, rhs: i8x32)
fn shr_assign(&mut self, rhs: i8x32)
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl ShrAssign<i16> for i8x32
impl ShrAssign<i16> for i8x32
Source§fn shr_assign(&mut self, rhs: i16)
fn shr_assign(&mut self, rhs: i16)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<i32> for i8x32
impl ShrAssign<i32> for i8x32
Source§fn shr_assign(&mut self, rhs: i32)
fn shr_assign(&mut self, rhs: i32)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<i64> for i8x32
impl ShrAssign<i64> for i8x32
Source§fn shr_assign(&mut self, rhs: i64)
fn shr_assign(&mut self, rhs: i64)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<i128> for i8x32
impl ShrAssign<i128> for i8x32
Source§fn shr_assign(&mut self, rhs: i128)
fn shr_assign(&mut self, rhs: i128)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<isize> for i8x32
impl ShrAssign<isize> for i8x32
Source§fn shr_assign(&mut self, rhs: isize)
fn shr_assign(&mut self, rhs: isize)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<u8> for i8x32
impl ShrAssign<u8> for i8x32
Source§fn shr_assign(&mut self, rhs: u8)
fn shr_assign(&mut self, rhs: u8)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<u8x32> for i8x32
impl ShrAssign<u8x32> for i8x32
Source§fn shr_assign(&mut self, rhs: u8x32)
fn shr_assign(&mut self, rhs: u8x32)
Shifts right each element of self by the corresponding element of
rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr, so consider using that instead.
Source§impl ShrAssign<u16> for i8x32
impl ShrAssign<u16> for i8x32
Source§fn shr_assign(&mut self, rhs: u16)
fn shr_assign(&mut self, rhs: u16)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<u32> for i8x32
impl ShrAssign<u32> for i8x32
Source§fn shr_assign(&mut self, rhs: u32)
fn shr_assign(&mut self, rhs: u32)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<u64> for i8x32
impl ShrAssign<u64> for i8x32
Source§fn shr_assign(&mut self, rhs: u64)
fn shr_assign(&mut self, rhs: u64)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<u128> for i8x32
impl ShrAssign<u128> for i8x32
Source§fn shr_assign(&mut self, rhs: u128)
fn shr_assign(&mut self, rhs: u128)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<usize> for i8x32
impl ShrAssign<usize> for i8x32
Source§fn shr_assign(&mut self, rhs: usize)
fn shr_assign(&mut self, rhs: usize)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
impl StructuralPartialEq for i8x32
Source§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 moreSource§impl SubAssign<&i8> for i8x32
impl SubAssign<&i8> for i8x32
Source§fn sub_assign(&mut self, rhs: &i8)
fn sub_assign(&mut self, rhs: &i8)
-= operation. Read moreSource§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<i8> for i8x32
impl SubAssign<i8> for i8x32
Source§fn sub_assign(&mut self, rhs: i8)
fn sub_assign(&mut self, rhs: i8)
-= operation. Read moreAuto Trait Implementations§
impl Freeze for i8x32
impl RefUnwindSafe for i8x32
impl Send for i8x32
impl Sync for i8x32
impl Unpin for i8x32
impl UnsafeUnpin for i8x32
impl UnwindSafe for i8x32
Blanket Implementations§
impl<T> AnyBitPattern for Twhere
T: Pod,
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,
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
bits
as &Self.