pub struct u32x4 { /* private fields */ }Expand description
A SIMD vector with four elements of type u32.
See the crate level documentation for more information about SIMD vectors.
Implementations§
Source§impl u32x4
The following functionality exists for all SIMD vectors.
impl u32x4
The following functionality exists for all SIMD vectors.
Sourcepub const fn splat(elem: u32) -> Self
pub const fn splat(elem: u32) -> Self
Constructs a new SIMD vector with all elements set to the given value.
Sourcepub const fn as_array(&self) -> &[u32; 4]
pub const fn as_array(&self) -> &[u32; 4]
Returns an array reference containing the entire SIMD vector.
Sourcepub const fn as_mut_array(&mut self) -> &mut [u32; 4]
pub const fn as_mut_array(&mut self) -> &mut [u32; 4]
Returns a mutable array reference containing the entire SIMD vector.
Sourcepub const fn from_ne_bytes(bytes: [u8; 16]) -> Self
pub const fn from_ne_bytes(bytes: [u8; 16]) -> 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; 16]
pub const fn to_ne_bytes(self) -> [u8; 16]
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) -> u32
pub fn reduce_add(self) -> u32
Reducing addition. Returns the sum of the vector’s elements.
Equivalent to self[0] + self[1] + ....
Sourcepub fn reduce_mul(self) -> u32
pub fn reduce_mul(self) -> u32
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: u32x4) -> Self
pub fn shuffle(self, indices: u32x4) -> 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: u32x4) -> Self
pub fn shuffle_zeroing(self, indices: u32x4) -> 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: u32x4) -> Self
pub fn shuffle_wrapping(self, indices: u32x4) -> 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; 4]) -> [Self; 4]
pub fn transpose(data: [Self; 4]) -> [Self; 4]
Transposes an array of SIMD vectors interpreted as a square matrix.
Currently this function is only accelerated on sse.
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 u32x4
The following functionality exists for all SIMD vectors of unsigned
integers.
impl u32x4
The following functionality exists for all SIMD vectors of unsigned 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) -> u32
pub fn reduce_max(self) -> u32
Reducing maximum. Returns the maximum of the vector’s elements.
Equivalent to self[0].max(self[1].max(...)).
Sourcepub fn reduce_min(self) -> u32
pub fn reduce_min(self) -> u32
Reducing minimum. Returns the minimum of the vector’s elements.
Equivalent to self[0].min(self[1].min(...)).
Sourcepub const fn cast_signed(self) -> i32x4
pub const fn cast_signed(self) -> i32x4
Returns the bit patterns of self reinterpreted as signed integers of
the same size.
Sourcepub fn unbounded_shl(self, rhs: Self) -> Self
pub fn unbounded_shl(self, rhs: Self) -> 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 u32,
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 u32,
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: Self) -> Self
pub fn unbounded_shr(self, rhs: Self) -> 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 u32,
the entire value is shifted out, and 0 is returned.
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 u32,
the entire value is shifted out, and 0 is returned.
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 for unsigned integers overflow never occurs, so this is identical to regular division. This function only exists for consistency with signed integers.
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 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.
Note that for unsigned integers overflow never occurs, so the second
value is always false. This function only exists for consistency
with signed integers.
Returns a tuple with:
- The division (returns
selfif an overflow occured) - A mask indicating whether an overflow occured (always false)
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.
Note that for unsigned integers overflow never occurs, so the second
value is always false. This function only exists for consistency
with signed integers.
Returns a tuple with:
- The remainder (returns zero if an overflow occured)
- A mask indicating whether an overflow occured (always false)
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) -> u64x4
pub fn widening_mul(self, rhs: Self) -> u64x4
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) -> (Self, Self)
pub fn mul_keep_low_high(self, rhs: Self) -> (Self, Self)
Computes self * rhs, producing intermediate 64-bit integers, then returns their low 32-bit parts and high 32-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 64-bit integers, then returns their high 32-bit parts.
Source§impl u32x4
The following functionality exists only for u32x4, or only for
particular types inconsistently.
impl u32x4
The following functionality exists only for u32x4, or only for
particular types inconsistently.
Sourcepub fn mul_widen(self, rhs: Self) -> u64x4
👎Deprecated since 1.6.0: renamed to widening_mul
pub fn mul_widen(self, rhs: Self) -> u64x4
renamed to widening_mul
Widening multiplication. Computes self * rhs, widening to a SIMD
vector of larger integers.
The returned value is always exact and can never overflow.
This function has been renamed to widening_mul.
Sourcepub fn unpack_lo(self, b: Self) -> Self
pub fn unpack_lo(self, b: Self) -> Self
Returns [self[0], b[0], self[1], b[1]], interleaving the low two
elements of the 128-bit lane.
Sourcepub fn unpack_hi(self, b: Self) -> Self
pub fn unpack_hi(self, b: Self) -> Self
Returns [self[2], b[2], self[3], b[3]], interleaving the high two
elements of the 128-bit lane.
Sourcepub fn add_mul_lo<const W: u32>(self, a: Self, b: Self) -> Self
pub fn add_mul_lo<const W: u32>(self, a: Self, b: Self) -> Self
self + ((a * b) mod 2^W), reading only the low W bits of each lane of
a and b. W must be in 1..=32.
There is no IFMA equivalent at this width, and below 17 bits no widening multiply is needed either: the whole product fits a lane, so the ordinary lane multiply already yields both halves.
Sourcepub fn add_mul_hi<const W: u32>(self, a: Self, b: Self) -> Self
pub fn add_mul_hi<const W: u32>(self, a: Self, b: Self) -> Self
self + ((a * b) >> W), reading only the low W bits of each lane of a
and b. W must be in 1..=32.
Trait Implementations§
Source§impl AddAssign for u32x4
impl AddAssign for u32x4
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+= operation. Read moreSource§impl AddAssign<&u32> for u32x4
impl AddAssign<&u32> for u32x4
Source§fn add_assign(&mut self, rhs: &u32)
fn add_assign(&mut self, rhs: &u32)
+= operation. Read moreSource§impl AddAssign<&u32x4> for u32x4
impl AddAssign<&u32x4> for u32x4
Source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
+= operation. Read moreSource§impl AddAssign<u32> for u32x4
impl AddAssign<u32> for u32x4
Source§fn add_assign(&mut self, rhs: u32)
fn add_assign(&mut self, rhs: u32)
+= operation. Read moreSource§impl AlignTo for u32x4
impl AlignTo for u32x4
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 u32x4
impl BitAndAssign for u32x4
Source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
&= operation. Read moreSource§impl BitAndAssign<&u32> for u32x4
impl BitAndAssign<&u32> for u32x4
Source§fn bitand_assign(&mut self, rhs: &u32)
fn bitand_assign(&mut self, rhs: &u32)
&= operation. Read moreSource§impl BitAndAssign<&u32x4> for u32x4
impl BitAndAssign<&u32x4> for u32x4
Source§fn bitand_assign(&mut self, rhs: &Self)
fn bitand_assign(&mut self, rhs: &Self)
&= operation. Read moreSource§impl BitAndAssign<u32> for u32x4
impl BitAndAssign<u32> for u32x4
Source§fn bitand_assign(&mut self, rhs: u32)
fn bitand_assign(&mut self, rhs: u32)
&= operation. Read moreSource§impl BitOrAssign for u32x4
impl BitOrAssign for u32x4
Source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
|= operation. Read moreSource§impl BitOrAssign<&u32> for u32x4
impl BitOrAssign<&u32> for u32x4
Source§fn bitor_assign(&mut self, rhs: &u32)
fn bitor_assign(&mut self, rhs: &u32)
|= operation. Read moreSource§impl BitOrAssign<&u32x4> for u32x4
impl BitOrAssign<&u32x4> for u32x4
Source§fn bitor_assign(&mut self, rhs: &Self)
fn bitor_assign(&mut self, rhs: &Self)
|= operation. Read moreSource§impl BitOrAssign<u32> for u32x4
impl BitOrAssign<u32> for u32x4
Source§fn bitor_assign(&mut self, rhs: u32)
fn bitor_assign(&mut self, rhs: u32)
|= operation. Read moreSource§impl BitXorAssign for u32x4
impl BitXorAssign for u32x4
Source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
^= operation. Read moreSource§impl BitXorAssign<&u32> for u32x4
impl BitXorAssign<&u32> for u32x4
Source§fn bitxor_assign(&mut self, rhs: &u32)
fn bitxor_assign(&mut self, rhs: &u32)
^= operation. Read moreSource§impl BitXorAssign<&u32x4> for u32x4
impl BitXorAssign<&u32x4> for u32x4
Source§fn bitxor_assign(&mut self, rhs: &Self)
fn bitxor_assign(&mut self, rhs: &Self)
^= operation. Read moreSource§impl BitXorAssign<u32> for u32x4
impl BitXorAssign<u32> for u32x4
Source§fn bitxor_assign(&mut self, rhs: u32)
fn bitxor_assign(&mut self, rhs: u32)
^= operation. Read moreSource§impl CmpEq for u32x4
impl CmpEq for u32x4
Source§impl CmpEq<u32> for u32x4
impl CmpEq<u32> for u32x4
Source§impl CmpGe for u32x4
impl CmpGe for u32x4
Source§impl CmpGe<u32> for u32x4
impl CmpGe<u32> for u32x4
Source§impl CmpGt for u32x4
impl CmpGt for u32x4
Source§impl CmpGt<u32> for u32x4
impl CmpGt<u32> for u32x4
Source§impl CmpLe for u32x4
impl CmpLe for u32x4
Source§impl CmpLe<u32> for u32x4
impl CmpLe<u32> for u32x4
Source§impl CmpLt for u32x4
impl CmpLt for u32x4
Source§impl CmpLt<u32> for u32x4
impl CmpLt<u32> for u32x4
Source§impl CmpNe for u32x4
impl CmpNe for u32x4
Source§impl CmpNe<u32> for u32x4
impl CmpNe<u32> for u32x4
impl Copy for u32x4
Source§impl Div for u32x4
impl Div for u32x4
Source§impl Div<&u32> for u32x4
impl Div<&u32> for u32x4
Source§impl Div<&u32> for &u32x4
impl Div<&u32> for &u32x4
Source§impl Div<&u32x4> for u32x4
impl Div<&u32x4> for u32x4
Source§impl Div<&u32x4> for u32
impl Div<&u32x4> for u32
Source§impl Div<&u32x4> for &u32x4
impl Div<&u32x4> for &u32x4
Source§impl Div<&u32x4> for &u32
impl Div<&u32x4> for &u32
Source§impl Div<u32> for u32x4
impl Div<u32> for u32x4
Source§impl Div<u32> for &u32x4
impl Div<u32> for &u32x4
Source§impl Div<u32x4> for u32
impl Div<u32x4> for u32
Source§impl Div<u32x4> for &u32x4
impl Div<u32x4> for &u32x4
Source§impl Div<u32x4> for &u32
impl Div<u32x4> for &u32
Source§impl DivAssign for u32x4
impl DivAssign for u32x4
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<&u32> for u32x4
impl DivAssign<&u32> for u32x4
Source§fn div_assign(&mut self, rhs: &u32)
fn div_assign(&mut self, rhs: &u32)
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<&u32x4> for u32x4
impl DivAssign<&u32x4> for u32x4
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<u32> for u32x4
impl DivAssign<u32> for u32x4
Source§fn div_assign(&mut self, rhs: u32)
fn div_assign(&mut self, rhs: u32)
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 u32x4
Source§impl MulAssign for u32x4
impl MulAssign for u32x4
Source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
*= operation. Read moreSource§impl MulAssign<&u32> for u32x4
impl MulAssign<&u32> for u32x4
Source§fn mul_assign(&mut self, rhs: &u32)
fn mul_assign(&mut self, rhs: &u32)
*= operation. Read moreSource§impl MulAssign<&u32x4> for u32x4
impl MulAssign<&u32x4> for u32x4
Source§fn mul_assign(&mut self, rhs: &Self)
fn mul_assign(&mut self, rhs: &Self)
*= operation. Read moreSource§impl MulAssign<u32> for u32x4
impl MulAssign<u32> for u32x4
Source§fn mul_assign(&mut self, rhs: u32)
fn mul_assign(&mut self, rhs: u32)
*= operation. Read moreimpl Pod for u32x4
Source§impl Rem for u32x4
impl Rem for u32x4
Source§impl Rem<&u32> for u32x4
impl Rem<&u32> for u32x4
Source§impl Rem<&u32> for &u32x4
impl Rem<&u32> for &u32x4
Source§impl Rem<&u32x4> for u32x4
impl Rem<&u32x4> for u32x4
Source§impl Rem<&u32x4> for u32
impl Rem<&u32x4> for u32
Source§impl Rem<&u32x4> for &u32x4
impl Rem<&u32x4> for &u32x4
Source§fn rem(self, rhs: &u32x4) -> Self::Output
fn rem(self, rhs: &u32x4) -> 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<&u32x4> for &u32
impl Rem<&u32x4> for &u32
Source§impl Rem<u32> for u32x4
impl Rem<u32> for u32x4
Source§impl Rem<u32> for &u32x4
impl Rem<u32> for &u32x4
Source§impl Rem<u32x4> for u32
impl Rem<u32x4> for u32
Source§impl Rem<u32x4> for &u32x4
impl Rem<u32x4> for &u32x4
Source§impl Rem<u32x4> for &u32
impl Rem<u32x4> for &u32
Source§impl RemAssign for u32x4
impl RemAssign for u32x4
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<&u32> for u32x4
impl RemAssign<&u32> for u32x4
Source§fn rem_assign(&mut self, rhs: &u32)
fn rem_assign(&mut self, rhs: &u32)
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<&u32x4> for u32x4
impl RemAssign<&u32x4> for u32x4
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<u32> for u32x4
impl RemAssign<u32> for u32x4
Source§fn rem_assign(&mut self, rhs: u32)
fn rem_assign(&mut self, rhs: u32)
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 u32x4
impl Shl for u32x4
Source§fn shl(self, rhs: u32x4) -> Self::Output
fn shl(self, rhs: u32x4) -> 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 u32x4
impl Shl<&i8> for u32x4
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 &u32x4
impl Shl<&i8> for &u32x4
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<&i16> for u32x4
impl Shl<&i16> for u32x4
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 &u32x4
impl Shl<&i16> for &u32x4
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 u32x4
impl Shl<&i32> for u32x4
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 &u32x4
impl Shl<&i32> for &u32x4
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<&i32x4> for u32x4
impl Shl<&i32x4> for u32x4
Source§fn shl(self, rhs: &i32x4) -> Self::Output
fn shl(self, rhs: &i32x4) -> 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<&i32x4> for &u32x4
impl Shl<&i32x4> for &u32x4
Source§fn shl(self, rhs: &i32x4) -> Self::Output
fn shl(self, rhs: &i32x4) -> 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<&i64> for u32x4
impl Shl<&i64> for u32x4
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 &u32x4
impl Shl<&i64> for &u32x4
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 u32x4
impl Shl<&i128> for u32x4
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 &u32x4
impl Shl<&i128> for &u32x4
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 u32x4
impl Shl<&isize> for u32x4
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 &u32x4
impl Shl<&isize> for &u32x4
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 u32x4
impl Shl<&u8> for u32x4
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 &u32x4
impl Shl<&u8> for &u32x4
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<&u16> for u32x4
impl Shl<&u16> for u32x4
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 &u32x4
impl Shl<&u16> for &u32x4
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 u32x4
impl Shl<&u32> for u32x4
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 &u32x4
impl Shl<&u32> for &u32x4
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<&u32x4> for i32x4
impl Shl<&u32x4> for i32x4
Source§fn shl(self, rhs: &u32x4) -> Self::Output
fn shl(self, rhs: &u32x4) -> 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<&u32x4> for i32
impl Shl<&u32x4> for i32
Source§fn shl(self, rhs: &u32x4) -> Self::Output
fn shl(self, rhs: &u32x4) -> 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<&u32x4> for &i32x4
impl Shl<&u32x4> for &i32x4
Source§fn shl(self, rhs: &u32x4) -> Self::Output
fn shl(self, rhs: &u32x4) -> 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<&u32x4> for &i32
impl Shl<&u32x4> for &i32
Source§fn shl(self, rhs: &u32x4) -> Self::Output
fn shl(self, rhs: &u32x4) -> 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<&u32x4> for u32x4
impl Shl<&u32x4> for u32x4
Source§fn shl(self, rhs: &u32x4) -> Self::Output
fn shl(self, rhs: &u32x4) -> 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<&u32x4> for u32
impl Shl<&u32x4> for u32
Source§fn shl(self, rhs: &u32x4) -> Self::Output
fn shl(self, rhs: &u32x4) -> 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<&u32x4> for &u32x4
impl Shl<&u32x4> for &u32x4
Source§fn shl(self, rhs: &u32x4) -> Self::Output
fn shl(self, rhs: &u32x4) -> 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<&u32x4> for &u32
impl Shl<&u32x4> for &u32
Source§fn shl(self, rhs: &u32x4) -> Self::Output
fn shl(self, rhs: &u32x4) -> 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<&u64> for u32x4
impl Shl<&u64> for u32x4
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 &u32x4
impl Shl<&u64> for &u32x4
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 u32x4
impl Shl<&u128> for u32x4
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 &u32x4
impl Shl<&u128> for &u32x4
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 u32x4
impl Shl<&usize> for u32x4
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 &u32x4
impl Shl<&usize> for &u32x4
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 u32x4
impl Shl<i8> for u32x4
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 &u32x4
impl Shl<i8> for &u32x4
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<i16> for u32x4
impl Shl<i16> for u32x4
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 &u32x4
impl Shl<i16> for &u32x4
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 u32x4
impl Shl<i32> for u32x4
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 &u32x4
impl Shl<i32> for &u32x4
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<i32x4> for u32x4
impl Shl<i32x4> for u32x4
Source§fn shl(self, rhs: i32x4) -> Self::Output
fn shl(self, rhs: i32x4) -> 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<i32x4> for &u32x4
impl Shl<i32x4> for &u32x4
Source§fn shl(self, rhs: i32x4) -> Self::Output
fn shl(self, rhs: i32x4) -> 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<i64> for u32x4
impl Shl<i64> for u32x4
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 &u32x4
impl Shl<i64> for &u32x4
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 u32x4
impl Shl<i128> for u32x4
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 &u32x4
impl Shl<i128> for &u32x4
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 u32x4
impl Shl<isize> for u32x4
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 &u32x4
impl Shl<isize> for &u32x4
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 u32x4
impl Shl<u8> for u32x4
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 &u32x4
impl Shl<u8> for &u32x4
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<u16> for u32x4
impl Shl<u16> for u32x4
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 &u32x4
impl Shl<u16> for &u32x4
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 u32x4
impl Shl<u32> for u32x4
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 &u32x4
impl Shl<u32> for &u32x4
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<u32x4> for i32x4
impl Shl<u32x4> for i32x4
Source§fn shl(self, rhs: u32x4) -> Self
fn shl(self, rhs: u32x4) -> 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<u32x4> for i32
impl Shl<u32x4> for i32
Source§fn shl(self, rhs: u32x4) -> Self::Output
fn shl(self, rhs: u32x4) -> 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<u32x4> for &i32x4
impl Shl<u32x4> for &i32x4
Source§fn shl(self, rhs: u32x4) -> Self::Output
fn shl(self, rhs: u32x4) -> 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<u32x4> for &i32
impl Shl<u32x4> for &i32
Source§fn shl(self, rhs: u32x4) -> Self::Output
fn shl(self, rhs: u32x4) -> 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<u32x4> for u32
impl Shl<u32x4> for u32
Source§fn shl(self, rhs: u32x4) -> Self::Output
fn shl(self, rhs: u32x4) -> 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<u32x4> for &u32x4
impl Shl<u32x4> for &u32x4
Source§fn shl(self, rhs: u32x4) -> Self::Output
fn shl(self, rhs: u32x4) -> 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<u32x4> for &u32
impl Shl<u32x4> for &u32
Source§fn shl(self, rhs: u32x4) -> Self::Output
fn shl(self, rhs: u32x4) -> 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<u64> for u32x4
impl Shl<u64> for u32x4
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 &u32x4
impl Shl<u64> for &u32x4
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 u32x4
impl Shl<u128> for u32x4
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 &u32x4
impl Shl<u128> for &u32x4
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 u32x4
impl Shl<usize> for u32x4
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 &u32x4
impl Shl<usize> for &u32x4
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 u32x4
impl ShlAssign for u32x4
Source§fn shl_assign(&mut self, rhs: u32x4)
fn shl_assign(&mut self, rhs: u32x4)
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 u32x4
impl ShlAssign<&i8> for u32x4
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<&i16> for u32x4
impl ShlAssign<&i16> for u32x4
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 u32x4
impl ShlAssign<&i32> for u32x4
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<&i32x4> for u32x4
impl ShlAssign<&i32x4> for u32x4
Source§fn shl_assign(&mut self, rhs: &i32x4)
fn shl_assign(&mut self, rhs: &i32x4)
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<&i64> for u32x4
impl ShlAssign<&i64> for u32x4
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 u32x4
impl ShlAssign<&i128> for u32x4
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 u32x4
impl ShlAssign<&isize> for u32x4
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 u32x4
impl ShlAssign<&u8> for u32x4
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<&u16> for u32x4
impl ShlAssign<&u16> for u32x4
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 u32x4
impl ShlAssign<&u32> for u32x4
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<&u32x4> for i32x4
impl ShlAssign<&u32x4> for i32x4
Source§fn shl_assign(&mut self, rhs: &u32x4)
fn shl_assign(&mut self, rhs: &u32x4)
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<&u32x4> for u32x4
impl ShlAssign<&u32x4> for u32x4
Source§fn shl_assign(&mut self, rhs: &u32x4)
fn shl_assign(&mut self, rhs: &u32x4)
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<&u64> for u32x4
impl ShlAssign<&u64> for u32x4
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 u32x4
impl ShlAssign<&u128> for u32x4
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 u32x4
impl ShlAssign<&usize> for u32x4
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 u32x4
impl ShlAssign<i8> for u32x4
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<i16> for u32x4
impl ShlAssign<i16> for u32x4
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 u32x4
impl ShlAssign<i32> for u32x4
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<i32x4> for u32x4
impl ShlAssign<i32x4> for u32x4
Source§fn shl_assign(&mut self, rhs: i32x4)
fn shl_assign(&mut self, rhs: i32x4)
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<i64> for u32x4
impl ShlAssign<i64> for u32x4
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 u32x4
impl ShlAssign<i128> for u32x4
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 u32x4
impl ShlAssign<isize> for u32x4
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 u32x4
impl ShlAssign<u8> for u32x4
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<u16> for u32x4
impl ShlAssign<u16> for u32x4
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 u32x4
impl ShlAssign<u32> for u32x4
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<u32x4> for i32x4
impl ShlAssign<u32x4> for i32x4
Source§fn shl_assign(&mut self, rhs: u32x4)
fn shl_assign(&mut self, rhs: u32x4)
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<u64> for u32x4
impl ShlAssign<u64> for u32x4
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 u32x4
impl ShlAssign<u128> for u32x4
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 u32x4
impl ShlAssign<usize> for u32x4
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 u32x4
impl Shr for u32x4
Source§fn shr(self, rhs: u32x4) -> Self::Output
fn shr(self, rhs: u32x4) -> 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 u32x4
impl Shr<&i8> for u32x4
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 &u32x4
impl Shr<&i8> for &u32x4
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<&i16> for u32x4
impl Shr<&i16> for u32x4
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 &u32x4
impl Shr<&i16> for &u32x4
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 u32x4
impl Shr<&i32> for u32x4
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 &u32x4
impl Shr<&i32> for &u32x4
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<&i32x4> for u32x4
impl Shr<&i32x4> for u32x4
Source§fn shr(self, rhs: &i32x4) -> Self::Output
fn shr(self, rhs: &i32x4) -> 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<&i32x4> for &u32x4
impl Shr<&i32x4> for &u32x4
Source§fn shr(self, rhs: &i32x4) -> Self::Output
fn shr(self, rhs: &i32x4) -> 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<&i64> for u32x4
impl Shr<&i64> for u32x4
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 &u32x4
impl Shr<&i64> for &u32x4
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 u32x4
impl Shr<&i128> for u32x4
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 &u32x4
impl Shr<&i128> for &u32x4
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 u32x4
impl Shr<&isize> for u32x4
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 &u32x4
impl Shr<&isize> for &u32x4
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 u32x4
impl Shr<&u8> for u32x4
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 &u32x4
impl Shr<&u8> for &u32x4
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<&u16> for u32x4
impl Shr<&u16> for u32x4
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 &u32x4
impl Shr<&u16> for &u32x4
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 u32x4
impl Shr<&u32> for u32x4
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 &u32x4
impl Shr<&u32> for &u32x4
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<&u32x4> for i32x4
impl Shr<&u32x4> for i32x4
Source§fn shr(self, rhs: &u32x4) -> Self::Output
fn shr(self, rhs: &u32x4) -> 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<&u32x4> for i32
impl Shr<&u32x4> for i32
Source§fn shr(self, rhs: &u32x4) -> Self::Output
fn shr(self, rhs: &u32x4) -> 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<&u32x4> for &i32x4
impl Shr<&u32x4> for &i32x4
Source§fn shr(self, rhs: &u32x4) -> Self::Output
fn shr(self, rhs: &u32x4) -> 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<&u32x4> for &i32
impl Shr<&u32x4> for &i32
Source§fn shr(self, rhs: &u32x4) -> Self::Output
fn shr(self, rhs: &u32x4) -> 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<&u32x4> for u32x4
impl Shr<&u32x4> for u32x4
Source§fn shr(self, rhs: &u32x4) -> Self::Output
fn shr(self, rhs: &u32x4) -> 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<&u32x4> for u32
impl Shr<&u32x4> for u32
Source§fn shr(self, rhs: &u32x4) -> Self::Output
fn shr(self, rhs: &u32x4) -> 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<&u32x4> for &u32x4
impl Shr<&u32x4> for &u32x4
Source§fn shr(self, rhs: &u32x4) -> Self::Output
fn shr(self, rhs: &u32x4) -> 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<&u32x4> for &u32
impl Shr<&u32x4> for &u32
Source§fn shr(self, rhs: &u32x4) -> Self::Output
fn shr(self, rhs: &u32x4) -> 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<&u64> for u32x4
impl Shr<&u64> for u32x4
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 &u32x4
impl Shr<&u64> for &u32x4
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 u32x4
impl Shr<&u128> for u32x4
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 &u32x4
impl Shr<&u128> for &u32x4
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 u32x4
impl Shr<&usize> for u32x4
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 &u32x4
impl Shr<&usize> for &u32x4
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 u32x4
impl Shr<i8> for u32x4
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 &u32x4
impl Shr<i8> for &u32x4
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<i16> for u32x4
impl Shr<i16> for u32x4
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 &u32x4
impl Shr<i16> for &u32x4
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 u32x4
impl Shr<i32> for u32x4
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 &u32x4
impl Shr<i32> for &u32x4
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<i32x4> for u32x4
impl Shr<i32x4> for u32x4
Source§fn shr(self, rhs: i32x4) -> Self::Output
fn shr(self, rhs: i32x4) -> 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<i32x4> for &u32x4
impl Shr<i32x4> for &u32x4
Source§fn shr(self, rhs: i32x4) -> Self::Output
fn shr(self, rhs: i32x4) -> 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<i64> for u32x4
impl Shr<i64> for u32x4
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 &u32x4
impl Shr<i64> for &u32x4
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 u32x4
impl Shr<i128> for u32x4
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 &u32x4
impl Shr<i128> for &u32x4
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 u32x4
impl Shr<isize> for u32x4
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 &u32x4
impl Shr<isize> for &u32x4
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 u32x4
impl Shr<u8> for u32x4
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 &u32x4
impl Shr<u8> for &u32x4
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<u16> for u32x4
impl Shr<u16> for u32x4
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 &u32x4
impl Shr<u16> for &u32x4
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 u32x4
impl Shr<u32> for u32x4
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 &u32x4
impl Shr<u32> for &u32x4
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<u32x4> for i32x4
impl Shr<u32x4> for i32x4
Source§fn shr(self, rhs: u32x4) -> Self::Output
fn shr(self, rhs: u32x4) -> 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<u32x4> for i32
impl Shr<u32x4> for i32
Source§fn shr(self, rhs: u32x4) -> Self::Output
fn shr(self, rhs: u32x4) -> 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<u32x4> for &i32x4
impl Shr<u32x4> for &i32x4
Source§fn shr(self, rhs: u32x4) -> Self::Output
fn shr(self, rhs: u32x4) -> 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<u32x4> for &i32
impl Shr<u32x4> for &i32
Source§fn shr(self, rhs: u32x4) -> Self::Output
fn shr(self, rhs: u32x4) -> 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<u32x4> for u32
impl Shr<u32x4> for u32
Source§fn shr(self, rhs: u32x4) -> Self::Output
fn shr(self, rhs: u32x4) -> 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<u32x4> for &u32x4
impl Shr<u32x4> for &u32x4
Source§fn shr(self, rhs: u32x4) -> Self::Output
fn shr(self, rhs: u32x4) -> 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<u32x4> for &u32
impl Shr<u32x4> for &u32
Source§fn shr(self, rhs: u32x4) -> Self::Output
fn shr(self, rhs: u32x4) -> 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<u64> for u32x4
impl Shr<u64> for u32x4
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 &u32x4
impl Shr<u64> for &u32x4
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 u32x4
impl Shr<u128> for u32x4
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 &u32x4
impl Shr<u128> for &u32x4
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 u32x4
impl Shr<usize> for u32x4
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 &u32x4
impl Shr<usize> for &u32x4
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 u32x4
impl ShrAssign for u32x4
Source§fn shr_assign(&mut self, rhs: u32x4)
fn shr_assign(&mut self, rhs: u32x4)
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 u32x4
impl ShrAssign<&i8> for u32x4
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<&i16> for u32x4
impl ShrAssign<&i16> for u32x4
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 u32x4
impl ShrAssign<&i32> for u32x4
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<&i32x4> for u32x4
impl ShrAssign<&i32x4> for u32x4
Source§fn shr_assign(&mut self, rhs: &i32x4)
fn shr_assign(&mut self, rhs: &i32x4)
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<&i64> for u32x4
impl ShrAssign<&i64> for u32x4
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 u32x4
impl ShrAssign<&i128> for u32x4
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 u32x4
impl ShrAssign<&isize> for u32x4
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 u32x4
impl ShrAssign<&u8> for u32x4
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<&u16> for u32x4
impl ShrAssign<&u16> for u32x4
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 u32x4
impl ShrAssign<&u32> for u32x4
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<&u32x4> for i32x4
impl ShrAssign<&u32x4> for i32x4
Source§fn shr_assign(&mut self, rhs: &u32x4)
fn shr_assign(&mut self, rhs: &u32x4)
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<&u32x4> for u32x4
impl ShrAssign<&u32x4> for u32x4
Source§fn shr_assign(&mut self, rhs: &u32x4)
fn shr_assign(&mut self, rhs: &u32x4)
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<&u64> for u32x4
impl ShrAssign<&u64> for u32x4
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 u32x4
impl ShrAssign<&u128> for u32x4
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 u32x4
impl ShrAssign<&usize> for u32x4
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 u32x4
impl ShrAssign<i8> for u32x4
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<i16> for u32x4
impl ShrAssign<i16> for u32x4
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 u32x4
impl ShrAssign<i32> for u32x4
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<i32x4> for u32x4
impl ShrAssign<i32x4> for u32x4
Source§fn shr_assign(&mut self, rhs: i32x4)
fn shr_assign(&mut self, rhs: i32x4)
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<i64> for u32x4
impl ShrAssign<i64> for u32x4
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 u32x4
impl ShrAssign<i128> for u32x4
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 u32x4
impl ShrAssign<isize> for u32x4
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 u32x4
impl ShrAssign<u8> for u32x4
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<u16> for u32x4
impl ShrAssign<u16> for u32x4
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 u32x4
impl ShrAssign<u32> for u32x4
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<u32x4> for i32x4
impl ShrAssign<u32x4> for i32x4
Source§fn shr_assign(&mut self, rhs: u32x4)
fn shr_assign(&mut self, rhs: u32x4)
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<u64> for u32x4
impl ShrAssign<u64> for u32x4
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 u32x4
impl ShrAssign<u128> for u32x4
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 u32x4
impl ShrAssign<usize> for u32x4
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 u32x4
Source§impl SubAssign for u32x4
impl SubAssign for u32x4
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-= operation. Read moreSource§impl SubAssign<&u32> for u32x4
impl SubAssign<&u32> for u32x4
Source§fn sub_assign(&mut self, rhs: &u32)
fn sub_assign(&mut self, rhs: &u32)
-= operation. Read moreSource§impl SubAssign<&u32x4> for u32x4
impl SubAssign<&u32x4> for u32x4
Source§fn sub_assign(&mut self, rhs: &Self)
fn sub_assign(&mut self, rhs: &Self)
-= operation. Read moreSource§impl SubAssign<u32> for u32x4
impl SubAssign<u32> for u32x4
Source§fn sub_assign(&mut self, rhs: u32)
fn sub_assign(&mut self, rhs: u32)
-= operation. Read moreAuto Trait Implementations§
impl Freeze for u32x4
impl RefUnwindSafe for u32x4
impl Send for u32x4
impl Sync for u32x4
impl Unpin for u32x4
impl UnsafeUnpin for u32x4
impl UnwindSafe for u32x4
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.