pub struct i64x8 { /* private fields */ }Expand description
A SIMD vector with eight elements of type i64.
See the crate level documentation for more information about SIMD vectors.
Implementations§
Source§impl i64x8
The following functionality exists for all SIMD vectors.
impl i64x8
The following functionality exists for all SIMD vectors.
Sourcepub const fn splat(elem: i64) -> Self
pub const fn splat(elem: i64) -> Self
Constructs a new SIMD vector with all elements set to the given value.
Sourcepub const fn as_array(&self) -> &[i64; 8]
pub const fn as_array(&self) -> &[i64; 8]
Returns an array reference containing the entire SIMD vector.
Sourcepub const fn as_mut_array(&mut self) -> &mut [i64; 8]
pub const fn as_mut_array(&mut self) -> &mut [i64; 8]
Returns a mutable array reference containing the entire SIMD vector.
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 select(self, if_true: Self, if_false: Self) -> Self
pub fn select(self, if_true: Self, if_false: Self) -> Self
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
This function assumes self is a mask, meaning each element is
either all zeros or all ones. For bitwise selection use bitselect.
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.
returns the bit mask for each high bit set in the vector with the lowest lane being the lowest bit
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.
true if any high bits are set for any value in the vector
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.
true if all high bits are set for every value in the vector
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 transpose(data: [i64x8; 8]) -> [i64x8; 8]
pub fn transpose(data: [i64x8; 8]) -> [i64x8; 8]
Transposes an array of SIMD vectors interpreted as a square matrix.
Currently this function is never accelerated.
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 i64x8
The following functionality exists for all SIMD vectors of signed
integers.
impl i64x8
The following functionality exists for all SIMD vectors of signed integers.
Sourcepub fn max(self, rhs: Self) -> Self
pub fn max(self, rhs: Self) -> Self
Returns the maximum between each element of self and the
corresponding element of other.
Sourcepub fn min(self, rhs: Self) -> Self
pub fn min(self, rhs: Self) -> Self
Returns the minimum between each element of self and the
corresponding element of other.
Sourcepub fn clamp(self, min: Self, max: Self) -> Self
pub fn clamp(self, min: Self, max: Self) -> Self
Clamps each element of self between the corresponding elements of
min and max.
If min > max, the result is unspecified. Consider manually checking
for that case.
Sourcepub fn reduce_add(self) -> i64
pub fn reduce_add(self) -> i64
Reducing addition. Returns the sum of the vector’s elements.
Equivalent to self[0] + self[1] + ....
Sourcepub fn reduce_mul(self) -> i64
pub fn reduce_mul(self) -> i64
Reducing multiplication. Returns the product of the vector’s elements.
Equivalent to self[0] * self[1] * ....
Sourcepub fn reduce_max(self) -> i64
pub fn reduce_max(self) -> i64
Reducing maximum. Returns the maximum of the vector’s elements.
Equivalent to self[0].max(self[1].max(...)).
Sourcepub fn reduce_min(self) -> i64
pub fn reduce_min(self) -> i64
Reducing minimum. Returns the minimum of the vector’s elements.
Equivalent to self[0].min(self[1].min(...)).
Sourcepub const fn cast_unsigned(self) -> u64x8
pub const fn cast_unsigned(self) -> u64x8
Returns the bit patterns of self reinterpreted as unsigned integers
of the same size.
Sourcepub fn unbounded_shl(self, rhs: u64x8) -> Self
pub fn unbounded_shl(self, rhs: u64x8) -> 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 i64,
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 i64,
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: u64x8) -> Self
pub fn unbounded_shr(self, rhs: u64x8) -> 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 i64,
the entire value is shifted out, which yields 0 for a positive
number, and -1 for a negative number.
This is different from the standard operator, which behaves like
wrapping_shr. For most targets, unbounded_shr is faster than the
standard operator.
If you intend to shift all elements by the same value, consider using
unbounded_shr_scalar which is faster.
Sourcepub fn unbounded_shr_scalar(self, rhs: u32) -> Self
pub fn unbounded_shr_scalar(self, rhs: u32) -> Self
Shifts right each element of self by the uniform scalar rhs,
without bounding rhs.
If rhs is larger than or equal to the number of bits in i64,
the entire value is shifted out, which yields 0 for a positive
number, and -1 for a negative number.
This is different from the standard operator, which behaves like
wrapping_shr. For most targets, unbounded_shr_scalar is faster
than the standard operator.
This function is faster than self.unbounded_shr(splat(rhs)) because
it has special hardware support.
Sourcepub fn saturating_add(self, rhs: Self) -> Self
pub fn saturating_add(self, rhs: Self) -> Self
Saturating integer addition. Computes self + rhs, saturating at the
numeric bounds instead of overflowing.
Sourcepub fn saturating_sub(self, rhs: Self) -> Self
pub fn saturating_sub(self, rhs: Self) -> Self
Saturating integer subtraction. Computes self - rhs, saturating at
the numeric bounds instead of overflowing.
Sourcepub fn saturating_mul(self, rhs: Self) -> Self
pub fn saturating_mul(self, rhs: Self) -> Self
Saturating integer multiplication. Computes self * rhs, saturating
at the numeric bounds instead of overflowing.
Sourcepub fn saturating_div(self, rhs: Self) -> Self
pub fn saturating_div(self, rhs: Self) -> Self
Saturating integer division. Computes self / rhs, saturating at the
numeric bounds instead of overflowing.
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
§Panics
Panics if any element of rhs is zero.
Sourcepub fn unsigned_abs(self) -> u64x8
pub fn unsigned_abs(self) -> u64x8
Computes the absolute value of each input element, returned as an unsigned integer in order to avoid wrapping.
Sourcepub fn overflowing_add(self, rhs: Self) -> (Self, Self)
pub fn overflowing_add(self, rhs: Self) -> (Self, Self)
Returns self + rhs and whether an overflow occured.
Returns a tuple with:
- The addition (returns the wrapped value if an overflow occured)
- A mask indicating whether an overflow occured
Sourcepub fn overflowing_sub(self, rhs: Self) -> (Self, Self)
pub fn overflowing_sub(self, rhs: Self) -> (Self, Self)
Returns self - rhs and whether an overflow occured.
Returns a tuple with:
- The subtraction (returns the wrapped value if an overflow occured)
- A mask indicating whether an overflow occured
Sourcepub fn overflowing_mul(self, rhs: Self) -> (Self, Self)
pub fn overflowing_mul(self, rhs: Self) -> (Self, Self)
Returns self * rhs and whether an overflow occured.
Returns a tuple with:
- The multiplication (returns the wrapped value if an overflow occured)
- A mask indicating whether an overflow occured
Sourcepub fn overflowing_div(self, rhs: Self) -> (Self, Self)
pub fn overflowing_div(self, rhs: Self) -> (Self, Self)
Returns self / rhs and whether an overflow occured.
Returns a tuple with:
- The division (returns
selfif an overflow occured) - A mask indicating whether an overflow occured
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
Sourcepub fn overflowing_rem(self, rhs: Self) -> (Self, Self)
pub fn overflowing_rem(self, rhs: Self) -> (Self, Self)
Returns self % rhs and whether an overflow occured.
Returns a tuple with:
- The remainder (returns zero if an overflow occured)
- A mask indicating whether an overflow occured
Note that because division has no hardware support, this operation is very slow and should be avoided if possible.
Sourcepub fn mul_keep_low_high(self, rhs: Self) -> (u64x8, i64x8)
pub fn mul_keep_low_high(self, rhs: Self) -> (u64x8, i64x8)
Computes self * rhs, producing intermediate 128-bit integers, then returns their low 64-bit parts and high 64-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 128-bit integers, then returns their high 64-bit parts.
Sourcepub fn signum(self) -> Self
pub fn signum(self) -> Self
Returns numbers representing the sign of each element.
0if the element is zero1if the element is positive-1if the element is negative
Sourcepub fn is_positive(self) -> Self
pub fn is_positive(self) -> Self
Returns a mask that is true for each positive element, and false if it is zero or negative.
Sourcepub fn is_negative(self) -> Self
pub fn is_negative(self) -> Self
Returns a mask that is true for each negative element, and false if it is zero or positive.
Trait Implementations§
Source§impl AddAssign for i64x8
impl AddAssign for i64x8
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+= operation. Read moreSource§impl AddAssign<&i64> for i64x8
impl AddAssign<&i64> for i64x8
Source§fn add_assign(&mut self, rhs: &i64)
fn add_assign(&mut self, rhs: &i64)
+= operation. Read moreSource§impl AddAssign<&i64x8> for i64x8
impl AddAssign<&i64x8> for i64x8
Source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
+= operation. Read moreSource§impl AddAssign<i64> for i64x8
impl AddAssign<i64> for i64x8
Source§fn add_assign(&mut self, rhs: i64)
fn add_assign(&mut self, rhs: i64)
+= operation. Read moreSource§impl AlignTo for i64x8
impl AlignTo for i64x8
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 i64x8
impl BitAndAssign for i64x8
Source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
&= operation. Read moreSource§impl BitAndAssign<&i64> for i64x8
impl BitAndAssign<&i64> for i64x8
Source§fn bitand_assign(&mut self, rhs: &i64)
fn bitand_assign(&mut self, rhs: &i64)
&= operation. Read moreSource§impl BitAndAssign<&i64x8> for i64x8
impl BitAndAssign<&i64x8> for i64x8
Source§fn bitand_assign(&mut self, rhs: &Self)
fn bitand_assign(&mut self, rhs: &Self)
&= operation. Read moreSource§impl BitAndAssign<i64> for i64x8
impl BitAndAssign<i64> for i64x8
Source§fn bitand_assign(&mut self, rhs: i64)
fn bitand_assign(&mut self, rhs: i64)
&= operation. Read moreSource§impl BitOrAssign for i64x8
impl BitOrAssign for i64x8
Source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
|= operation. Read moreSource§impl BitOrAssign<&i64> for i64x8
impl BitOrAssign<&i64> for i64x8
Source§fn bitor_assign(&mut self, rhs: &i64)
fn bitor_assign(&mut self, rhs: &i64)
|= operation. Read moreSource§impl BitOrAssign<&i64x8> for i64x8
impl BitOrAssign<&i64x8> for i64x8
Source§fn bitor_assign(&mut self, rhs: &Self)
fn bitor_assign(&mut self, rhs: &Self)
|= operation. Read moreSource§impl BitOrAssign<i64> for i64x8
impl BitOrAssign<i64> for i64x8
Source§fn bitor_assign(&mut self, rhs: i64)
fn bitor_assign(&mut self, rhs: i64)
|= operation. Read moreSource§impl BitXorAssign for i64x8
impl BitXorAssign for i64x8
Source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
^= operation. Read moreSource§impl BitXorAssign<&i64> for i64x8
impl BitXorAssign<&i64> for i64x8
Source§fn bitxor_assign(&mut self, rhs: &i64)
fn bitxor_assign(&mut self, rhs: &i64)
^= operation. Read moreSource§impl BitXorAssign<&i64x8> for i64x8
impl BitXorAssign<&i64x8> for i64x8
Source§fn bitxor_assign(&mut self, rhs: &Self)
fn bitxor_assign(&mut self, rhs: &Self)
^= operation. Read moreSource§impl BitXorAssign<i64> for i64x8
impl BitXorAssign<i64> for i64x8
Source§fn bitxor_assign(&mut self, rhs: i64)
fn bitxor_assign(&mut self, rhs: i64)
^= operation. Read moreSource§impl CmpEq for i64x8
impl CmpEq for i64x8
Source§impl CmpEq<i64> for i64x8
impl CmpEq<i64> for i64x8
Source§impl CmpGe for i64x8
impl CmpGe for i64x8
Source§impl CmpGe<i64> for i64x8
impl CmpGe<i64> for i64x8
Source§impl CmpGt for i64x8
impl CmpGt for i64x8
Source§impl CmpGt<i64> for i64x8
impl CmpGt<i64> for i64x8
Source§impl CmpLe for i64x8
impl CmpLe for i64x8
Source§impl CmpLe<i64> for i64x8
impl CmpLe<i64> for i64x8
Source§impl CmpLt for i64x8
impl CmpLt for i64x8
Source§impl CmpLt<i64> for i64x8
impl CmpLt<i64> for i64x8
Source§impl CmpNe for i64x8
impl CmpNe for i64x8
Source§impl CmpNe<i64> for i64x8
impl CmpNe<i64> for i64x8
impl Copy for i64x8
Source§impl Div for i64x8
impl Div for i64x8
Source§impl Div<&i64> for i64x8
impl Div<&i64> for i64x8
Source§impl Div<&i64> for &i64x8
impl Div<&i64> for &i64x8
Source§impl Div<&i64x8> for i64x8
impl Div<&i64x8> for i64x8
Source§impl Div<&i64x8> for i64
impl Div<&i64x8> for i64
Source§impl Div<&i64x8> for &i64x8
impl Div<&i64x8> for &i64x8
Source§impl Div<&i64x8> for &i64
impl Div<&i64x8> for &i64
Source§impl Div<i64> for i64x8
impl Div<i64> for i64x8
Source§impl Div<i64> for &i64x8
impl Div<i64> for &i64x8
Source§impl Div<i64x8> for i64
impl Div<i64x8> for i64
Source§impl Div<i64x8> for &i64x8
impl Div<i64x8> for &i64x8
Source§impl Div<i64x8> for &i64
impl Div<i64x8> for &i64
Source§impl DivAssign for i64x8
impl DivAssign for i64x8
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<&i64> for i64x8
impl DivAssign<&i64> for i64x8
Source§fn div_assign(&mut self, rhs: &i64)
fn div_assign(&mut self, rhs: &i64)
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<&i64x8> for i64x8
impl DivAssign<&i64x8> for i64x8
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<i64> for i64x8
impl DivAssign<i64> for i64x8
Source§fn div_assign(&mut self, rhs: i64)
fn div_assign(&mut self, rhs: i64)
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 i64x8
Source§impl MulAssign for i64x8
impl MulAssign for i64x8
Source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
*= operation. Read moreSource§impl MulAssign<&i64> for i64x8
impl MulAssign<&i64> for i64x8
Source§fn mul_assign(&mut self, rhs: &i64)
fn mul_assign(&mut self, rhs: &i64)
*= operation. Read moreSource§impl MulAssign<&i64x8> for i64x8
impl MulAssign<&i64x8> for i64x8
Source§fn mul_assign(&mut self, rhs: &Self)
fn mul_assign(&mut self, rhs: &Self)
*= operation. Read moreSource§impl MulAssign<i64> for i64x8
impl MulAssign<i64> for i64x8
Source§fn mul_assign(&mut self, rhs: i64)
fn mul_assign(&mut self, rhs: i64)
*= operation. Read moreimpl Pod for i64x8
Source§impl Rem for i64x8
impl Rem for i64x8
Source§impl Rem<&i64> for i64x8
impl Rem<&i64> for i64x8
Source§impl Rem<&i64> for &i64x8
impl Rem<&i64> for &i64x8
Source§impl Rem<&i64x8> for i64x8
impl Rem<&i64x8> for i64x8
Source§impl Rem<&i64x8> for i64
impl Rem<&i64x8> for i64
Source§impl Rem<&i64x8> for &i64x8
impl Rem<&i64x8> for &i64x8
Source§fn rem(self, rhs: &i64x8) -> Self::Output
fn rem(self, rhs: &i64x8) -> 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<&i64x8> for &i64
impl Rem<&i64x8> for &i64
Source§impl Rem<i64> for i64x8
impl Rem<i64> for i64x8
Source§impl Rem<i64> for &i64x8
impl Rem<i64> for &i64x8
Source§impl Rem<i64x8> for i64
impl Rem<i64x8> for i64
Source§impl Rem<i64x8> for &i64x8
impl Rem<i64x8> for &i64x8
Source§impl Rem<i64x8> for &i64
impl Rem<i64x8> for &i64
Source§impl RemAssign for i64x8
impl RemAssign for i64x8
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<&i64> for i64x8
impl RemAssign<&i64> for i64x8
Source§fn rem_assign(&mut self, rhs: &i64)
fn rem_assign(&mut self, rhs: &i64)
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<&i64x8> for i64x8
impl RemAssign<&i64x8> for i64x8
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<i64> for i64x8
impl RemAssign<i64> for i64x8
Source§fn rem_assign(&mut self, rhs: i64)
fn rem_assign(&mut self, rhs: i64)
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 i64x8
impl Shl for i64x8
Source§fn shl(self, rhs: i64x8) -> Self::Output
fn shl(self, rhs: i64x8) -> 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 i64x8
impl Shl<&i8> for i64x8
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 &i64x8
impl Shl<&i8> for &i64x8
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 i64x8
impl Shl<&i16> for i64x8
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 &i64x8
impl Shl<&i16> for &i64x8
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 i64x8
impl Shl<&i32> for i64x8
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 &i64x8
impl Shl<&i32> for &i64x8
Source§fn shl(self, rhs: &i32) -> Self::Output
fn shl(self, rhs: &i32) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&i64> for i64x8
impl Shl<&i64> for i64x8
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 &i64x8
impl Shl<&i64> for &i64x8
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<&i64x8> for i64x8
impl Shl<&i64x8> for i64x8
Source§fn shl(self, rhs: &i64x8) -> Self::Output
fn shl(self, rhs: &i64x8) -> 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<&i64x8> for i64
impl Shl<&i64x8> for i64
Source§fn shl(self, rhs: &i64x8) -> Self::Output
fn shl(self, rhs: &i64x8) -> 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<&i64x8> for &i64x8
impl Shl<&i64x8> for &i64x8
Source§fn shl(self, rhs: &i64x8) -> Self::Output
fn shl(self, rhs: &i64x8) -> 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<&i64x8> for &i64
impl Shl<&i64x8> for &i64
Source§fn shl(self, rhs: &i64x8) -> Self::Output
fn shl(self, rhs: &i64x8) -> 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<&i64x8> for u64x8
impl Shl<&i64x8> for u64x8
Source§fn shl(self, rhs: &i64x8) -> Self::Output
fn shl(self, rhs: &i64x8) -> 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<&i64x8> for u64
impl Shl<&i64x8> for u64
Source§fn shl(self, rhs: &i64x8) -> Self::Output
fn shl(self, rhs: &i64x8) -> 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<&i64x8> for &u64x8
impl Shl<&i64x8> for &u64x8
Source§fn shl(self, rhs: &i64x8) -> Self::Output
fn shl(self, rhs: &i64x8) -> 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<&i64x8> for &u64
impl Shl<&i64x8> for &u64
Source§fn shl(self, rhs: &i64x8) -> Self::Output
fn shl(self, rhs: &i64x8) -> 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<&i128> for i64x8
impl Shl<&i128> for i64x8
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 &i64x8
impl Shl<&i128> for &i64x8
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 i64x8
impl Shl<&isize> for i64x8
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 &i64x8
impl Shl<&isize> for &i64x8
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 i64x8
impl Shl<&u8> for i64x8
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 &i64x8
impl Shl<&u8> for &i64x8
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 i64x8
impl Shl<&u16> for i64x8
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 &i64x8
impl Shl<&u16> for &i64x8
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 i64x8
impl Shl<&u32> for i64x8
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 &i64x8
impl Shl<&u32> for &i64x8
Source§fn shl(self, rhs: &u32) -> Self::Output
fn shl(self, rhs: &u32) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<&u64> for i64x8
impl Shl<&u64> for i64x8
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 &i64x8
impl Shl<&u64> for &i64x8
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<&u64x8> for i64x8
impl Shl<&u64x8> for i64x8
Source§fn shl(self, rhs: &u64x8) -> Self::Output
fn shl(self, rhs: &u64x8) -> 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<&u64x8> for &i64x8
impl Shl<&u64x8> for &i64x8
Source§fn shl(self, rhs: &u64x8) -> Self::Output
fn shl(self, rhs: &u64x8) -> 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<&u128> for i64x8
impl Shl<&u128> for i64x8
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 &i64x8
impl Shl<&u128> for &i64x8
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 i64x8
impl Shl<&usize> for i64x8
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 &i64x8
impl Shl<&usize> for &i64x8
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 i64x8
impl Shl<i8> for i64x8
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 &i64x8
impl Shl<i8> for &i64x8
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 i64x8
impl Shl<i16> for i64x8
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 &i64x8
impl Shl<i16> for &i64x8
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 i64x8
impl Shl<i32> for i64x8
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 &i64x8
impl Shl<i32> for &i64x8
Source§fn shl(self, rhs: i32) -> Self::Output
fn shl(self, rhs: i32) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<i64> for i64x8
impl Shl<i64> for i64x8
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 &i64x8
impl Shl<i64> for &i64x8
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<i64x8> for i64
impl Shl<i64x8> for i64
Source§fn shl(self, rhs: i64x8) -> Self::Output
fn shl(self, rhs: i64x8) -> 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<i64x8> for &i64x8
impl Shl<i64x8> for &i64x8
Source§fn shl(self, rhs: i64x8) -> Self::Output
fn shl(self, rhs: i64x8) -> 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<i64x8> for &i64
impl Shl<i64x8> for &i64
Source§fn shl(self, rhs: i64x8) -> Self::Output
fn shl(self, rhs: i64x8) -> 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<i64x8> for u64x8
impl Shl<i64x8> for u64x8
Source§fn shl(self, rhs: i64x8) -> Self::Output
fn shl(self, rhs: i64x8) -> 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<i64x8> for u64
impl Shl<i64x8> for u64
Source§fn shl(self, rhs: i64x8) -> Self::Output
fn shl(self, rhs: i64x8) -> 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<i64x8> for &u64x8
impl Shl<i64x8> for &u64x8
Source§fn shl(self, rhs: i64x8) -> Self::Output
fn shl(self, rhs: i64x8) -> 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<i64x8> for &u64
impl Shl<i64x8> for &u64
Source§fn shl(self, rhs: i64x8) -> Self::Output
fn shl(self, rhs: i64x8) -> 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<i128> for i64x8
impl Shl<i128> for i64x8
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 &i64x8
impl Shl<i128> for &i64x8
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 i64x8
impl Shl<isize> for i64x8
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 &i64x8
impl Shl<isize> for &i64x8
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 i64x8
impl Shl<u8> for i64x8
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 &i64x8
impl Shl<u8> for &i64x8
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 i64x8
impl Shl<u16> for i64x8
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 &i64x8
impl Shl<u16> for &i64x8
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 i64x8
impl Shl<u32> for i64x8
Source§fn shl(self, rhs: u32) -> Self
fn shl(self, rhs: u32) -> Self
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<u32> for &i64x8
impl Shl<u32> for &i64x8
Source§fn shl(self, rhs: u32) -> Self::Output
fn shl(self, rhs: u32) -> Self::Output
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl Shl<u64> for i64x8
impl Shl<u64> for i64x8
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 &i64x8
impl Shl<u64> for &i64x8
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<u64x8> for i64x8
impl Shl<u64x8> for i64x8
Source§fn shl(self, rhs: u64x8) -> Self
fn shl(self, rhs: u64x8) -> 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<u64x8> for &i64x8
impl Shl<u64x8> for &i64x8
Source§fn shl(self, rhs: u64x8) -> Self::Output
fn shl(self, rhs: u64x8) -> 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<u128> for i64x8
impl Shl<u128> for i64x8
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 &i64x8
impl Shl<u128> for &i64x8
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 i64x8
impl Shl<usize> for i64x8
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 &i64x8
impl Shl<usize> for &i64x8
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 i64x8
impl ShlAssign for i64x8
Source§fn shl_assign(&mut self, rhs: i64x8)
fn shl_assign(&mut self, rhs: i64x8)
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 i64x8
impl ShlAssign<&i8> for i64x8
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 i64x8
impl ShlAssign<&i16> for i64x8
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 i64x8
impl ShlAssign<&i32> for i64x8
Source§fn shl_assign(&mut self, rhs: &i32)
fn shl_assign(&mut self, rhs: &i32)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&i64> for i64x8
impl ShlAssign<&i64> for i64x8
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<&i64x8> for i64x8
impl ShlAssign<&i64x8> for i64x8
Source§fn shl_assign(&mut self, rhs: &i64x8)
fn shl_assign(&mut self, rhs: &i64x8)
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<&i64x8> for u64x8
impl ShlAssign<&i64x8> for u64x8
Source§fn shl_assign(&mut self, rhs: &i64x8)
fn shl_assign(&mut self, rhs: &i64x8)
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<&i128> for i64x8
impl ShlAssign<&i128> for i64x8
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 i64x8
impl ShlAssign<&isize> for i64x8
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 i64x8
impl ShlAssign<&u8> for i64x8
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 i64x8
impl ShlAssign<&u16> for i64x8
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 i64x8
impl ShlAssign<&u32> for i64x8
Source§fn shl_assign(&mut self, rhs: &u32)
fn shl_assign(&mut self, rhs: &u32)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<&u64> for i64x8
impl ShlAssign<&u64> for i64x8
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<&u64x8> for i64x8
impl ShlAssign<&u64x8> for i64x8
Source§fn shl_assign(&mut self, rhs: &u64x8)
fn shl_assign(&mut self, rhs: &u64x8)
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<&u128> for i64x8
impl ShlAssign<&u128> for i64x8
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 i64x8
impl ShlAssign<&usize> for i64x8
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 i64x8
impl ShlAssign<i8> for i64x8
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 i64x8
impl ShlAssign<i16> for i64x8
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 i64x8
impl ShlAssign<i32> for i64x8
Source§fn shl_assign(&mut self, rhs: i32)
fn shl_assign(&mut self, rhs: i32)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<i64> for i64x8
impl ShlAssign<i64> for i64x8
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<i64x8> for u64x8
impl ShlAssign<i64x8> for u64x8
Source§fn shl_assign(&mut self, rhs: i64x8)
fn shl_assign(&mut self, rhs: i64x8)
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<i128> for i64x8
impl ShlAssign<i128> for i64x8
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 i64x8
impl ShlAssign<isize> for i64x8
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 i64x8
impl ShlAssign<u8> for i64x8
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 i64x8
impl ShlAssign<u16> for i64x8
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 i64x8
impl ShlAssign<u32> for i64x8
Source§fn shl_assign(&mut self, rhs: u32)
fn shl_assign(&mut self, rhs: u32)
Shifts left each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shl.
Note that for most targets, this operator is slower than
unbounded_shl_scalar, so consider using that instead.
Source§impl ShlAssign<u64> for i64x8
impl ShlAssign<u64> for i64x8
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<u64x8> for i64x8
impl ShlAssign<u64x8> for i64x8
Source§fn shl_assign(&mut self, rhs: u64x8)
fn shl_assign(&mut self, rhs: u64x8)
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<u128> for i64x8
impl ShlAssign<u128> for i64x8
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 i64x8
impl ShlAssign<usize> for i64x8
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 i64x8
impl Shr for i64x8
Source§fn shr(self, rhs: i64x8) -> Self::Output
fn shr(self, rhs: i64x8) -> 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 i64x8
impl Shr<&i8> for i64x8
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 &i64x8
impl Shr<&i8> for &i64x8
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 i64x8
impl Shr<&i16> for i64x8
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 &i64x8
impl Shr<&i16> for &i64x8
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 i64x8
impl Shr<&i32> for i64x8
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 &i64x8
impl Shr<&i32> for &i64x8
Source§fn shr(self, rhs: &i32) -> Self::Output
fn shr(self, rhs: &i32) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&i64> for i64x8
impl Shr<&i64> for i64x8
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 &i64x8
impl Shr<&i64> for &i64x8
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<&i64x8> for i64x8
impl Shr<&i64x8> for i64x8
Source§fn shr(self, rhs: &i64x8) -> Self::Output
fn shr(self, rhs: &i64x8) -> 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<&i64x8> for i64
impl Shr<&i64x8> for i64
Source§fn shr(self, rhs: &i64x8) -> Self::Output
fn shr(self, rhs: &i64x8) -> 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<&i64x8> for &i64x8
impl Shr<&i64x8> for &i64x8
Source§fn shr(self, rhs: &i64x8) -> Self::Output
fn shr(self, rhs: &i64x8) -> 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<&i64x8> for &i64
impl Shr<&i64x8> for &i64
Source§fn shr(self, rhs: &i64x8) -> Self::Output
fn shr(self, rhs: &i64x8) -> 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<&i64x8> for u64x8
impl Shr<&i64x8> for u64x8
Source§fn shr(self, rhs: &i64x8) -> Self::Output
fn shr(self, rhs: &i64x8) -> 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<&i64x8> for u64
impl Shr<&i64x8> for u64
Source§fn shr(self, rhs: &i64x8) -> Self::Output
fn shr(self, rhs: &i64x8) -> 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<&i64x8> for &u64x8
impl Shr<&i64x8> for &u64x8
Source§fn shr(self, rhs: &i64x8) -> Self::Output
fn shr(self, rhs: &i64x8) -> 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<&i64x8> for &u64
impl Shr<&i64x8> for &u64
Source§fn shr(self, rhs: &i64x8) -> Self::Output
fn shr(self, rhs: &i64x8) -> 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<&i128> for i64x8
impl Shr<&i128> for i64x8
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 &i64x8
impl Shr<&i128> for &i64x8
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 i64x8
impl Shr<&isize> for i64x8
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 &i64x8
impl Shr<&isize> for &i64x8
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 i64x8
impl Shr<&u8> for i64x8
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 &i64x8
impl Shr<&u8> for &i64x8
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 i64x8
impl Shr<&u16> for i64x8
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 &i64x8
impl Shr<&u16> for &i64x8
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 i64x8
impl Shr<&u32> for i64x8
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 &i64x8
impl Shr<&u32> for &i64x8
Source§fn shr(self, rhs: &u32) -> Self::Output
fn shr(self, rhs: &u32) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<&u64> for i64x8
impl Shr<&u64> for i64x8
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 &i64x8
impl Shr<&u64> for &i64x8
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<&u64x8> for i64x8
impl Shr<&u64x8> for i64x8
Source§fn shr(self, rhs: &u64x8) -> Self::Output
fn shr(self, rhs: &u64x8) -> 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<&u64x8> for &i64x8
impl Shr<&u64x8> for &i64x8
Source§fn shr(self, rhs: &u64x8) -> Self::Output
fn shr(self, rhs: &u64x8) -> 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<&u128> for i64x8
impl Shr<&u128> for i64x8
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 &i64x8
impl Shr<&u128> for &i64x8
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 i64x8
impl Shr<&usize> for i64x8
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 &i64x8
impl Shr<&usize> for &i64x8
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 i64x8
impl Shr<i8> for i64x8
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 &i64x8
impl Shr<i8> for &i64x8
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 i64x8
impl Shr<i16> for i64x8
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 &i64x8
impl Shr<i16> for &i64x8
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 i64x8
impl Shr<i32> for i64x8
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 &i64x8
impl Shr<i32> for &i64x8
Source§fn shr(self, rhs: i32) -> Self::Output
fn shr(self, rhs: i32) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<i64> for i64x8
impl Shr<i64> for i64x8
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 &i64x8
impl Shr<i64> for &i64x8
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<i64x8> for i64
impl Shr<i64x8> for i64
Source§fn shr(self, rhs: i64x8) -> Self::Output
fn shr(self, rhs: i64x8) -> 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<i64x8> for &i64x8
impl Shr<i64x8> for &i64x8
Source§fn shr(self, rhs: i64x8) -> Self::Output
fn shr(self, rhs: i64x8) -> 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<i64x8> for &i64
impl Shr<i64x8> for &i64
Source§fn shr(self, rhs: i64x8) -> Self::Output
fn shr(self, rhs: i64x8) -> 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<i64x8> for u64x8
impl Shr<i64x8> for u64x8
Source§fn shr(self, rhs: i64x8) -> Self::Output
fn shr(self, rhs: i64x8) -> 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<i64x8> for u64
impl Shr<i64x8> for u64
Source§fn shr(self, rhs: i64x8) -> Self::Output
fn shr(self, rhs: i64x8) -> 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<i64x8> for &u64x8
impl Shr<i64x8> for &u64x8
Source§fn shr(self, rhs: i64x8) -> Self::Output
fn shr(self, rhs: i64x8) -> 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<i64x8> for &u64
impl Shr<i64x8> for &u64
Source§fn shr(self, rhs: i64x8) -> Self::Output
fn shr(self, rhs: i64x8) -> 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<i128> for i64x8
impl Shr<i128> for i64x8
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 &i64x8
impl Shr<i128> for &i64x8
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 i64x8
impl Shr<isize> for i64x8
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 &i64x8
impl Shr<isize> for &i64x8
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 i64x8
impl Shr<u8> for i64x8
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 &i64x8
impl Shr<u8> for &i64x8
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 i64x8
impl Shr<u16> for i64x8
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 &i64x8
impl Shr<u16> for &i64x8
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 i64x8
impl Shr<u32> for i64x8
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 &i64x8
impl Shr<u32> for &i64x8
Source§fn shr(self, rhs: u32) -> Self::Output
fn shr(self, rhs: u32) -> Self::Output
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl Shr<u64> for i64x8
impl Shr<u64> for i64x8
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 &i64x8
impl Shr<u64> for &i64x8
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<u64x8> for i64x8
impl Shr<u64x8> for i64x8
Source§fn shr(self, rhs: u64x8) -> Self::Output
fn shr(self, rhs: u64x8) -> 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<u64x8> for &i64x8
impl Shr<u64x8> for &i64x8
Source§fn shr(self, rhs: u64x8) -> Self::Output
fn shr(self, rhs: u64x8) -> 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<u128> for i64x8
impl Shr<u128> for i64x8
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 &i64x8
impl Shr<u128> for &i64x8
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 i64x8
impl Shr<usize> for i64x8
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 &i64x8
impl Shr<usize> for &i64x8
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 i64x8
impl ShrAssign for i64x8
Source§fn shr_assign(&mut self, rhs: i64x8)
fn shr_assign(&mut self, rhs: i64x8)
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 i64x8
impl ShrAssign<&i8> for i64x8
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 i64x8
impl ShrAssign<&i16> for i64x8
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 i64x8
impl ShrAssign<&i32> for i64x8
Source§fn shr_assign(&mut self, rhs: &i32)
fn shr_assign(&mut self, rhs: &i32)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&i64> for i64x8
impl ShrAssign<&i64> for i64x8
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<&i64x8> for i64x8
impl ShrAssign<&i64x8> for i64x8
Source§fn shr_assign(&mut self, rhs: &i64x8)
fn shr_assign(&mut self, rhs: &i64x8)
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<&i64x8> for u64x8
impl ShrAssign<&i64x8> for u64x8
Source§fn shr_assign(&mut self, rhs: &i64x8)
fn shr_assign(&mut self, rhs: &i64x8)
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<&i128> for i64x8
impl ShrAssign<&i128> for i64x8
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 i64x8
impl ShrAssign<&isize> for i64x8
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 i64x8
impl ShrAssign<&u8> for i64x8
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 i64x8
impl ShrAssign<&u16> for i64x8
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 i64x8
impl ShrAssign<&u32> for i64x8
Source§fn shr_assign(&mut self, rhs: &u32)
fn shr_assign(&mut self, rhs: &u32)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<&u64> for i64x8
impl ShrAssign<&u64> for i64x8
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<&u64x8> for i64x8
impl ShrAssign<&u64x8> for i64x8
Source§fn shr_assign(&mut self, rhs: &u64x8)
fn shr_assign(&mut self, rhs: &u64x8)
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<&u128> for i64x8
impl ShrAssign<&u128> for i64x8
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 i64x8
impl ShrAssign<&usize> for i64x8
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 i64x8
impl ShrAssign<i8> for i64x8
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 i64x8
impl ShrAssign<i16> for i64x8
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 i64x8
impl ShrAssign<i32> for i64x8
Source§fn shr_assign(&mut self, rhs: i32)
fn shr_assign(&mut self, rhs: i32)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<i64> for i64x8
impl ShrAssign<i64> for i64x8
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<i64x8> for u64x8
impl ShrAssign<i64x8> for u64x8
Source§fn shr_assign(&mut self, rhs: i64x8)
fn shr_assign(&mut self, rhs: i64x8)
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<i128> for i64x8
impl ShrAssign<i128> for i64x8
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 i64x8
impl ShrAssign<isize> for i64x8
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 i64x8
impl ShrAssign<u8> for i64x8
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 i64x8
impl ShrAssign<u16> for i64x8
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 i64x8
impl ShrAssign<u32> for i64x8
Source§fn shr_assign(&mut self, rhs: u32)
fn shr_assign(&mut self, rhs: u32)
Shifts right each element of self by the uniform scalar rhs.
This operator behaves like wrapping_shr.
Note that for most targets, this operator is slower than
unbounded_shr_scalar, so consider using that instead.
Source§impl ShrAssign<u64> for i64x8
impl ShrAssign<u64> for i64x8
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<u64x8> for i64x8
impl ShrAssign<u64x8> for i64x8
Source§fn shr_assign(&mut self, rhs: u64x8)
fn shr_assign(&mut self, rhs: u64x8)
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<u128> for i64x8
impl ShrAssign<u128> for i64x8
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 i64x8
impl ShrAssign<usize> for i64x8
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 i64x8
Source§impl SubAssign for i64x8
impl SubAssign for i64x8
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-= operation. Read moreSource§impl SubAssign<&i64> for i64x8
impl SubAssign<&i64> for i64x8
Source§fn sub_assign(&mut self, rhs: &i64)
fn sub_assign(&mut self, rhs: &i64)
-= operation. Read moreSource§impl SubAssign<&i64x8> for i64x8
impl SubAssign<&i64x8> for i64x8
Source§fn sub_assign(&mut self, rhs: &Self)
fn sub_assign(&mut self, rhs: &Self)
-= operation. Read moreSource§impl SubAssign<i64> for i64x8
impl SubAssign<i64> for i64x8
Source§fn sub_assign(&mut self, rhs: i64)
fn sub_assign(&mut self, rhs: i64)
-= operation. Read moreAuto Trait Implementations§
impl Freeze for i64x8
impl RefUnwindSafe for i64x8
impl Send for i64x8
impl Sync for i64x8
impl Unpin for i64x8
impl UnsafeUnpin for i64x8
impl UnwindSafe for i64x8
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.