Skip to main content

i64x8

Struct i64x8 

Source
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.

Source

pub const fn new(array: [i64; 8]) -> Self

Converts an array to a SIMD vector.

Source

pub const fn splat(elem: i64) -> Self

Constructs a new SIMD vector with all elements set to the given value.

Source

pub const fn to_array(self) -> [i64; 8]

Converts a SIMD vector to an array.

Source

pub const fn as_array(&self) -> &[i64; 8]

Returns an array reference containing the entire SIMD vector.

Source

pub const fn as_mut_array(&mut self) -> &mut [i64; 8]

Returns a mutable array reference containing the entire SIMD vector.

Source

pub fn simd_eq<Rhs>(self, other: Rhs) -> <Self as CmpEq<Rhs>>::Output
where Self: CmpEq<Rhs>,

Returns a mask that checks if each element of self is equal to the corresponding element of other.

Source

pub fn simd_ne<Rhs>(self, other: Rhs) -> <Self as CmpNe<Rhs>>::Output
where Self: CmpNe<Rhs>,

Returns a mask that checks if each element of self is not equal to the corresponding element of other.

Source

pub fn simd_lt<Rhs>(self, other: Rhs) -> <Self as CmpLt<Rhs>>::Output
where Self: CmpLt<Rhs>,

Returns a mask that checks if each element of self is less than the corresponding element of other.

Source

pub fn simd_gt<Rhs>(self, other: Rhs) -> <Self as CmpGt<Rhs>>::Output
where Self: CmpGt<Rhs>,

Returns a mask that checks if each element of self is greater than the corresponding element of other.

Source

pub fn simd_le<Rhs>(self, other: Rhs) -> <Self as CmpLe<Rhs>>::Output
where Self: CmpLe<Rhs>,

Returns a mask that checks if each element of self is less than or equal to the corresponding element of other.

Source

pub fn simd_ge<Rhs>(self, other: Rhs) -> <Self as CmpGe<Rhs>>::Output
where Self: CmpGe<Rhs>,

Returns a mask that checks if each element of self is greater than or equal to the corresponding element of other.

Source

pub fn bitselect(self, if_one: Self, if_zero: Self) -> Self

Bitwise selection.

For each bit of self:

  • If the bit is one, return the corresponding bit of if_one
  • If the bit is zero, return the corresponding bit of if_zero

If you know self is a mask, meaning each element is either all zeros or all ones, consider using select which is faster.

Source

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.

Source

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

Source

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

Source

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

Source

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.

Source

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.

Source

pub fn blend(self, if_true: Self, if_false: Self) -> Self

👎Deprecated since 1.6.0:

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.

Source

pub const ONE: Self

A SIMD vector with all elements set to 1.

Source

pub const ZERO: Self

A SIMD vector with all elements set to 0.

Source

pub const MAX: Self

A SIMD vector with all elements set to i64::MAX.

Source

pub const MIN: Self

A SIMD vector with all elements set to i64::MIN.

Source

pub const LANES: u16 = 8

The number of elements in this SIMD vector.

Source

pub const BITS: u16

The size of this SIMD vector in bits.

Source

pub fn max(self, rhs: Self) -> Self

Returns the maximum between each element of self and the corresponding element of other.

Source

pub fn min(self, rhs: Self) -> Self

Returns the minimum between each element of self and the corresponding element of other.

Source

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.

Source

pub fn reduce_add(self) -> i64

Reducing addition. Returns the sum of the vector’s elements.

Equivalent to self[0] + self[1] + ....

Source

pub fn reduce_mul(self) -> i64

Reducing multiplication. Returns the product of the vector’s elements.

Equivalent to self[0] * self[1] * ....

Source

pub fn reduce_max(self) -> i64

Reducing maximum. Returns the maximum of the vector’s elements.

Equivalent to self[0].max(self[1].max(...)).

Source

pub fn reduce_min(self) -> i64

Reducing minimum. Returns the minimum of the vector’s elements.

Equivalent to self[0].min(self[1].min(...)).

Source

pub const fn cast_unsigned(self) -> u64x8

Returns the bit patterns of self reinterpreted as unsigned integers of the same size.

Source

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.

Source

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.

Source

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.

Source

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.

Source

pub fn saturating_add(self, rhs: Self) -> Self

Saturating integer addition. Computes self + rhs, saturating at the numeric bounds instead of overflowing.

Source

pub fn saturating_sub(self, rhs: Self) -> Self

Saturating integer subtraction. Computes self - rhs, saturating at the numeric bounds instead of overflowing.

Source

pub fn saturating_mul(self, rhs: Self) -> Self

Saturating integer multiplication. Computes self * rhs, saturating at the numeric bounds instead of overflowing.

Source

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.

Source

pub fn unsigned_abs(self) -> u64x8

Computes the absolute value of each input element, returned as an unsigned integer in order to avoid wrapping.

Source

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
Source

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
Source

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
Source

pub fn overflowing_div(self, rhs: Self) -> (Self, Self)

Returns self / rhs and whether an overflow occured.

Returns a tuple with:

  • The division (returns self 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.

Source

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.

Source

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).

Source

pub fn mul_keep_high(self, rhs: Self) -> Self

Computes self * rhs, producing intermediate 128-bit integers, then returns their high 64-bit parts.

Source

pub fn abs(self) -> Self

Returns the absolute value of each input element.

Source

pub fn signum(self) -> Self

Returns numbers representing the sign of each element.

  • 0 if the element is zero
  • 1 if the element is positive
  • -1 if the element is negative
Source

pub fn is_positive(self) -> Self

Returns a mask that is true for each positive element, and false if it is zero or negative.

Source

pub fn is_negative(self) -> Self

Returns a mask that is true for each negative element, and false if it is zero or positive.

Source§

impl i64x8

The following functionality exists only for i64x8, or only for particular types inconsistently.

Source

pub fn round_float(self) -> f64x8

Converts each element from i64 to f64.

Trait Implementations§

Source§

impl Add for i64x8

Source§

type Output = i64x8

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<&i64> for i64x8

Source§

type Output = i64x8

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &i64) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<&i64> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &i64) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<&i64x8> for i64x8

Source§

type Output = i64x8

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &Self) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<&i64x8> for i64

Source§

type Output = i64x8

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &i64x8) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<&i64x8> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &i64x8) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<&i64x8> for &i64

Source§

type Output = i64x8

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &i64x8) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<i64> for i64x8

Source§

type Output = i64x8

The resulting type after applying the + operator.
Source§

fn add(self, rhs: i64) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<i64> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the + operator.
Source§

fn add(self, rhs: i64) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<i64x8> for i64

Source§

type Output = i64x8

The resulting type after applying the + operator.
Source§

fn add(self, rhs: i64x8) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<i64x8> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the + operator.
Source§

fn add(self, rhs: i64x8) -> Self::Output

Performs the + operation. Read more
Source§

impl Add<i64x8> for &i64

Source§

type Output = i64x8

The resulting type after applying the + operator.
Source§

fn add(self, rhs: i64x8) -> Self::Output

Performs the + operation. Read more
Source§

impl AddAssign for i64x8

Source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
Source§

impl AddAssign<&i64> for i64x8

Source§

fn add_assign(&mut self, rhs: &i64)

Performs the += operation. Read more
Source§

impl AddAssign<&i64x8> for i64x8

Source§

fn add_assign(&mut self, rhs: &Self)

Performs the += operation. Read more
Source§

impl AddAssign<i64> for i64x8

Source§

fn add_assign(&mut self, rhs: i64)

Performs the += operation. Read more
Source§

impl AlignTo for i64x8

Source§

type Elem = i64

The element type of this SIMD vector.
Source§

fn simd_align_to( slice: &[Self::Elem], ) -> (&[Self::Elem], &[Self], &[Self::Elem])

A SIMD variant of align_to.
Source§

fn simd_align_to_mut( slice: &mut [Self::Elem], ) -> (&mut [Self::Elem], &mut [Self], &mut [Self::Elem])

A SIMD variant of align_to_mut.
Source§

impl Binary for i64x8

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl BitAnd for i64x8

Source§

type Output = i64x8

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Self) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<&i64> for i64x8

Source§

type Output = i64x8

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &i64) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<&i64> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &i64) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<&i64x8> for i64x8

Source§

type Output = i64x8

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &Self) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<&i64x8> for i64

Source§

type Output = i64x8

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &i64x8) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<&i64x8> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &i64x8) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<&i64x8> for &i64

Source§

type Output = i64x8

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: &i64x8) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<i64> for i64x8

Source§

type Output = i64x8

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: i64) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<i64> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: i64) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<i64x8> for i64

Source§

type Output = i64x8

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: i64x8) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<i64x8> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: i64x8) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAnd<i64x8> for &i64

Source§

type Output = i64x8

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: i64x8) -> Self::Output

Performs the & operation. Read more
Source§

impl BitAndAssign for i64x8

Source§

fn bitand_assign(&mut self, rhs: Self)

Performs the &= operation. Read more
Source§

impl BitAndAssign<&i64> for i64x8

Source§

fn bitand_assign(&mut self, rhs: &i64)

Performs the &= operation. Read more
Source§

impl BitAndAssign<&i64x8> for i64x8

Source§

fn bitand_assign(&mut self, rhs: &Self)

Performs the &= operation. Read more
Source§

impl BitAndAssign<i64> for i64x8

Source§

fn bitand_assign(&mut self, rhs: i64)

Performs the &= operation. Read more
Source§

impl BitOr for i64x8

Source§

type Output = i64x8

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Self) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<&i64> for i64x8

Source§

type Output = i64x8

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &i64) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<&i64> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &i64) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<&i64x8> for i64x8

Source§

type Output = i64x8

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &Self) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<&i64x8> for i64

Source§

type Output = i64x8

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &i64x8) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<&i64x8> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &i64x8) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<&i64x8> for &i64

Source§

type Output = i64x8

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: &i64x8) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<i64> for i64x8

Source§

type Output = i64x8

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: i64) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<i64> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: i64) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<i64x8> for i64

Source§

type Output = i64x8

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: i64x8) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<i64x8> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: i64x8) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOr<i64x8> for &i64

Source§

type Output = i64x8

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: i64x8) -> Self::Output

Performs the | operation. Read more
Source§

impl BitOrAssign for i64x8

Source§

fn bitor_assign(&mut self, rhs: Self)

Performs the |= operation. Read more
Source§

impl BitOrAssign<&i64> for i64x8

Source§

fn bitor_assign(&mut self, rhs: &i64)

Performs the |= operation. Read more
Source§

impl BitOrAssign<&i64x8> for i64x8

Source§

fn bitor_assign(&mut self, rhs: &Self)

Performs the |= operation. Read more
Source§

impl BitOrAssign<i64> for i64x8

Source§

fn bitor_assign(&mut self, rhs: i64)

Performs the |= operation. Read more
Source§

impl BitXor for i64x8

Source§

type Output = i64x8

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Self) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<&i64> for i64x8

Source§

type Output = i64x8

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &i64) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<&i64> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &i64) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<&i64x8> for i64x8

Source§

type Output = i64x8

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &Self) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<&i64x8> for i64

Source§

type Output = i64x8

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &i64x8) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<&i64x8> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &i64x8) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<&i64x8> for &i64

Source§

type Output = i64x8

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: &i64x8) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<i64> for i64x8

Source§

type Output = i64x8

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: i64) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<i64> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: i64) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<i64x8> for i64

Source§

type Output = i64x8

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: i64x8) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<i64x8> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: i64x8) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXor<i64x8> for &i64

Source§

type Output = i64x8

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: i64x8) -> Self::Output

Performs the ^ operation. Read more
Source§

impl BitXorAssign for i64x8

Source§

fn bitxor_assign(&mut self, rhs: Self)

Performs the ^= operation. Read more
Source§

impl BitXorAssign<&i64> for i64x8

Source§

fn bitxor_assign(&mut self, rhs: &i64)

Performs the ^= operation. Read more
Source§

impl BitXorAssign<&i64x8> for i64x8

Source§

fn bitxor_assign(&mut self, rhs: &Self)

Performs the ^= operation. Read more
Source§

impl BitXorAssign<i64> for i64x8

Source§

fn bitxor_assign(&mut self, rhs: i64)

Performs the ^= operation. Read more
Source§

impl Clone for i64x8

Source§

fn clone(&self) -> i64x8

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl CmpEq for i64x8

Source§

type Output = i64x8

👎Deprecated since 1.5.0:

use the inherent function simd_eq instead

The type returned by simd_eq.
Source§

fn simd_eq(self, rhs: Self) -> Self::Output

👎Deprecated since 1.5.0:

use the inherent function simd_eq instead

Returns a mask that checks if each element of self is equal to the corresponding element of rhs. Read more
Source§

impl CmpEq<i64> for i64x8

Source§

type Output = i64x8

👎Deprecated since 1.5.0:

use the inherent function simd_eq instead

The type returned by simd_eq.
Source§

fn simd_eq(self, rhs: i64) -> Self::Output

👎Deprecated since 1.5.0:

use the inherent function simd_eq instead

Returns a mask that checks if each element of self is equal to the corresponding element of rhs. Read more
Source§

impl CmpGe for i64x8

Source§

type Output = i64x8

👎Deprecated since 1.5.0:

use the inherent function simd_ge instead

The type returned by simd_ge.
Source§

fn simd_ge(self, rhs: Self) -> Self::Output

👎Deprecated since 1.5.0:

use the inherent function simd_ge instead

Returns a mask that checks if each element of self is greater than or equal to the corresponding element of rhs. Read more
Source§

impl CmpGe<i64> for i64x8

Source§

type Output = i64x8

👎Deprecated since 1.5.0:

use the inherent function simd_ge instead

The type returned by simd_ge.
Source§

fn simd_ge(self, rhs: i64) -> Self::Output

👎Deprecated since 1.5.0:

use the inherent function simd_ge instead

Returns a mask that checks if each element of self is greater than or equal to the corresponding element of rhs. Read more
Source§

impl CmpGt for i64x8

Source§

type Output = i64x8

👎Deprecated since 1.5.0:

use the inherent function simd_gt instead

The type returned by simd_gt.
Source§

fn simd_gt(self, rhs: Self) -> Self::Output

👎Deprecated since 1.5.0:

use the inherent function simd_gt instead

Returns a mask that checks if each element of self is greater than the corresponding element of rhs. Read more
Source§

impl CmpGt<i64> for i64x8

Source§

type Output = i64x8

👎Deprecated since 1.5.0:

use the inherent function simd_gt instead

The type returned by simd_gt.
Source§

fn simd_gt(self, rhs: i64) -> Self::Output

👎Deprecated since 1.5.0:

use the inherent function simd_gt instead

Returns a mask that checks if each element of self is greater than the corresponding element of rhs. Read more
Source§

impl CmpLe for i64x8

Source§

type Output = i64x8

👎Deprecated since 1.5.0:

use the inherent function simd_le instead

The type returned by simd_le.
Source§

fn simd_le(self, rhs: Self) -> Self::Output

👎Deprecated since 1.5.0:

use the inherent function simd_le instead

Returns a mask that checks if each element of self is less than or equal to the corresponding element of rhs. Read more
Source§

impl CmpLe<i64> for i64x8

Source§

type Output = i64x8

👎Deprecated since 1.5.0:

use the inherent function simd_le instead

The type returned by simd_le.
Source§

fn simd_le(self, rhs: i64) -> Self::Output

👎Deprecated since 1.5.0:

use the inherent function simd_le instead

Returns a mask that checks if each element of self is less than or equal to the corresponding element of rhs. Read more
Source§

impl CmpLt for i64x8

Source§

type Output = i64x8

👎Deprecated since 1.5.0:

use the inherent function simd_lt instead

The type returned by simd_lt.
Source§

fn simd_lt(self, rhs: Self) -> Self::Output

👎Deprecated since 1.5.0:

use the inherent function simd_lt instead

Returns a mask that checks if each element of self is less than the corresponding element of rhs. Read more
Source§

impl CmpLt<i64> for i64x8

Source§

type Output = i64x8

👎Deprecated since 1.5.0:

use the inherent function simd_lt instead

The type returned by simd_lt.
Source§

fn simd_lt(self, rhs: i64) -> Self::Output

👎Deprecated since 1.5.0:

use the inherent function simd_lt instead

Returns a mask that checks if each element of self is less than the corresponding element of rhs. Read more
Source§

impl CmpNe for i64x8

Source§

type Output = i64x8

👎Deprecated since 1.5.0:

use the inherent function simd_ne instead

The type returned by simd_ne.
Source§

fn simd_ne(self, rhs: Self) -> Self::Output

👎Deprecated since 1.5.0:

use the inherent function simd_ne instead

Returns a mask that checks if each element of self is not equal to the corresponding element of rhs. Read more
Source§

impl CmpNe<i64> for i64x8

Source§

type Output = i64x8

👎Deprecated since 1.5.0:

use the inherent function simd_ne instead

The type returned by simd_ne.
Source§

fn simd_ne(self, rhs: i64) -> Self::Output

👎Deprecated since 1.5.0:

use the inherent function simd_ne instead

Returns a mask that checks if each element of self is not equal to the corresponding element of rhs. Read more
Source§

impl Copy for i64x8

Source§

impl Debug for i64x8

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for i64x8

Source§

fn default() -> i64x8

Returns the “default value” for a type. Read more
Source§

impl Display for i64x8

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Div for i64x8

Source§

fn div(self, rhs: Self) -> Self::Output

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§

type Output = i64x8

The resulting type after applying the / operator.
Source§

impl Div<&i64> for i64x8

Source§

fn div(self, rhs: &i64) -> Self::Output

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§

type Output = i64x8

The resulting type after applying the / operator.
Source§

impl Div<&i64> for &i64x8

Source§

fn div(self, rhs: &i64) -> Self::Output

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§

type Output = i64x8

The resulting type after applying the / operator.
Source§

impl Div<&i64x8> for i64x8

Source§

fn div(self, rhs: &Self) -> Self::Output

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§

type Output = i64x8

The resulting type after applying the / operator.
Source§

impl Div<&i64x8> for i64

Source§

fn div(self, rhs: &i64x8) -> Self::Output

Divides the scalar left by each element of 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§

type Output = i64x8

The resulting type after applying the / operator.
Source§

impl Div<&i64x8> for &i64x8

Source§

fn div(self, rhs: &i64x8) -> Self::Output

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§

type Output = i64x8

The resulting type after applying the / operator.
Source§

impl Div<&i64x8> for &i64

Source§

fn div(self, rhs: &i64x8) -> Self::Output

Divides the scalar left by each element of 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§

type Output = i64x8

The resulting type after applying the / operator.
Source§

impl Div<i64> for i64x8

Source§

fn div(self, rhs: i64) -> Self::Output

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§

type Output = i64x8

The resulting type after applying the / operator.
Source§

impl Div<i64> for &i64x8

Source§

fn div(self, rhs: i64) -> Self::Output

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§

type Output = i64x8

The resulting type after applying the / operator.
Source§

impl Div<i64x8> for i64

Source§

fn div(self, rhs: i64x8) -> Self::Output

Divides the scalar left by each element of 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§

type Output = i64x8

The resulting type after applying the / operator.
Source§

impl Div<i64x8> for &i64x8

Source§

fn div(self, rhs: i64x8) -> Self::Output

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§

type Output = i64x8

The resulting type after applying the / operator.
Source§

impl Div<i64x8> for &i64

Source§

fn div(self, rhs: i64x8) -> Self::Output

Divides the scalar left by each element of 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§

type Output = i64x8

The resulting type after applying the / operator.
Source§

impl DivAssign for i64x8

Source§

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

Source§

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

Source§

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

Source§

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 Eq for i64x8

Source§

impl From<&[i64]> for i64x8

Source§

fn from(value: &[i64]) -> Self

Converts a slice to a SIMD vector, filling in zeros if there are not enough elements, and panicking if there are too many elements.

Note that in the future, handling of too many elements may change.

Source§

impl From<[i64; 8]> for i64x8

Source§

fn from(arr: [i64; 8]) -> Self

Converts an array to a SIMD vector.

Source§

impl From<__m512i> for i64x8

Available on x86-64 only.
Source§

fn from(value: __m512i) -> Self

Converts a native intrinsics SIMD type to a high-level SIMD type.

Source§

impl From<i64> for i64x8

Source§

fn from(elem: i64) -> Self

Converts a single value to a SIMD vector by setting all elements to that value.

Source§

impl From<i64x8> for [i64; 8]

Source§

fn from(simd: i64x8) -> Self

Converts a SIMD vector to an array.

Source§

impl From<i64x8> for __m512i

Available on x86-64 only.
Source§

fn from(value: i64x8) -> Self

Converts a high-level SIMD type to a native intrinsics SIMD type.

Source§

impl LowerExp for i64x8

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl LowerHex for i64x8

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Mul for i64x8

Source§

type Output = i64x8

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<&i64> for i64x8

Source§

type Output = i64x8

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &i64) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<&i64> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &i64) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<&i64x8> for i64x8

Source§

type Output = i64x8

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &Self) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<&i64x8> for i64

Source§

type Output = i64x8

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &i64x8) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<&i64x8> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &i64x8) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<&i64x8> for &i64

Source§

type Output = i64x8

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &i64x8) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<i64> for i64x8

Source§

type Output = i64x8

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: i64) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<i64> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: i64) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<i64x8> for i64

Source§

type Output = i64x8

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: i64x8) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<i64x8> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: i64x8) -> Self::Output

Performs the * operation. Read more
Source§

impl Mul<i64x8> for &i64

Source§

type Output = i64x8

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: i64x8) -> Self::Output

Performs the * operation. Read more
Source§

impl MulAssign for i64x8

Source§

fn mul_assign(&mut self, rhs: Self)

Performs the *= operation. Read more
Source§

impl MulAssign<&i64> for i64x8

Source§

fn mul_assign(&mut self, rhs: &i64)

Performs the *= operation. Read more
Source§

impl MulAssign<&i64x8> for i64x8

Source§

fn mul_assign(&mut self, rhs: &Self)

Performs the *= operation. Read more
Source§

impl MulAssign<i64> for i64x8

Source§

fn mul_assign(&mut self, rhs: i64)

Performs the *= operation. Read more
Source§

impl Neg for i64x8

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl Neg for &i64x8

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl Not for i64x8

Source§

type Output = i64x8

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
Source§

impl Not for &i64x8

Source§

type Output = i64x8

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self::Output

Performs the unary ! operation. Read more
Source§

impl Octal for i64x8

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for i64x8

Source§

fn eq(&self, other: &i64x8) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Pod for i64x8

Source§

impl<Rhs> Product<Rhs> for i64x8
where i64x8: MulAssign<Rhs>,

Source§

fn product<I: Iterator<Item = Rhs>>(iter: I) -> Self

Takes an iterator and generates Self from the elements by multiplying the items.
Source§

impl Rem for i64x8

Source§

fn rem(self, rhs: Self) -> 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§

type Output = i64x8

The resulting type after applying the % operator.
Source§

impl Rem<&i64> for i64x8

Source§

fn rem(self, rhs: &i64) -> Self::Output

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§

type Output = i64x8

The resulting type after applying the % operator.
Source§

impl Rem<&i64> for &i64x8

Source§

fn rem(self, rhs: &i64) -> Self::Output

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§

type Output = i64x8

The resulting type after applying the % operator.
Source§

impl Rem<&i64x8> for i64x8

Source§

fn rem(self, rhs: &Self) -> 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§

type Output = i64x8

The resulting type after applying the % operator.
Source§

impl Rem<&i64x8> for i64

Source§

fn rem(self, rhs: &i64x8) -> Self::Output

Returns the remainder of the scalar left divided by each element of 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§

type Output = i64x8

The resulting type after applying the % operator.
Source§

impl Rem<&i64x8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the % operator.
Source§

impl Rem<&i64x8> for &i64

Source§

fn rem(self, rhs: &i64x8) -> Self::Output

Returns the remainder of the scalar left divided by each element of 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§

type Output = i64x8

The resulting type after applying the % operator.
Source§

impl Rem<i64> for i64x8

Source§

fn rem(self, rhs: i64) -> Self::Output

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§

type Output = i64x8

The resulting type after applying the % operator.
Source§

impl Rem<i64> for &i64x8

Source§

fn rem(self, rhs: i64) -> Self::Output

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§

type Output = i64x8

The resulting type after applying the % operator.
Source§

impl Rem<i64x8> for i64

Source§

fn rem(self, rhs: i64x8) -> Self::Output

Returns the remainder of the scalar left divided by each element of 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§

type Output = i64x8

The resulting type after applying the % operator.
Source§

impl Rem<i64x8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the % operator.
Source§

impl Rem<i64x8> for &i64

Source§

fn rem(self, rhs: i64x8) -> Self::Output

Returns the remainder of the scalar left divided by each element of 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§

type Output = i64x8

The resulting type after applying the % operator.
Source§

impl RemAssign for i64x8

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i16> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i16> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i32> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i32> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i64> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i64> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i64x8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i64x8> for i64

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i64x8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i64x8> for &i64

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i64x8> for u64x8

Source§

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§

type Output = u64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i64x8> for u64

Source§

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§

type Output = u64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i64x8> for &u64x8

Source§

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§

type Output = u64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i64x8> for &u64

Source§

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§

type Output = u64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i128> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&i128> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&isize> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&isize> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&u8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&u8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&u16> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&u16> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&u32> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&u32> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&u64> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&u64> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&u64x8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&u64x8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&u128> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&u128> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&usize> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<&usize> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i16> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i16> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i32> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i32> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i64> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i64> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i64x8> for i64

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i64x8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i64x8> for &i64

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i64x8> for u64x8

Source§

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§

type Output = u64x8

The resulting type after applying the << operator.
Source§

impl Shl<i64x8> for u64

Source§

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§

type Output = u64x8

The resulting type after applying the << operator.
Source§

impl Shl<i64x8> for &u64x8

Source§

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§

type Output = u64x8

The resulting type after applying the << operator.
Source§

impl Shl<i64x8> for &u64

Source§

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§

type Output = u64x8

The resulting type after applying the << operator.
Source§

impl Shl<i128> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<i128> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<isize> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<isize> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<u8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<u8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<u16> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<u16> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<u32> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<u32> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<u64> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<u64> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<u64x8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<u64x8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<u128> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<u128> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<usize> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl Shl<usize> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the << operator.
Source§

impl ShlAssign for i64x8

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i16> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i16> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i32> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i32> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i64> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i64> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i64x8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i64x8> for i64

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i64x8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i64x8> for &i64

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i64x8> for u64x8

Source§

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§

type Output = u64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i64x8> for u64

Source§

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§

type Output = u64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i64x8> for &u64x8

Source§

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§

type Output = u64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i64x8> for &u64

Source§

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§

type Output = u64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i128> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&i128> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&isize> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&isize> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&u8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&u8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&u16> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&u16> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&u32> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&u32> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&u64> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&u64> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&u64x8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&u64x8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&u128> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&u128> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&usize> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<&usize> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i16> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i16> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i32> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i32> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i64> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i64> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i64x8> for i64

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i64x8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i64x8> for &i64

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i64x8> for u64x8

Source§

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§

type Output = u64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i64x8> for u64

Source§

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§

type Output = u64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i64x8> for &u64x8

Source§

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§

type Output = u64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i64x8> for &u64

Source§

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§

type Output = u64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i128> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<i128> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<isize> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<isize> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<u8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<u8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<u16> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<u16> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<u32> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<u32> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<u64> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<u64> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<u64x8> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<u64x8> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<u128> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<u128> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<usize> for i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl Shr<usize> for &i64x8

Source§

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§

type Output = i64x8

The resulting type after applying the >> operator.
Source§

impl ShrAssign for i64x8

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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 StructuralPartialEq for i64x8

Source§

impl Sub for i64x8

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<&i64> for i64x8

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &i64) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<&i64> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &i64) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<&i64x8> for i64x8

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &Self) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<&i64x8> for i64

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &i64x8) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<&i64x8> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &i64x8) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<&i64x8> for &i64

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &i64x8) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<i64> for i64x8

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: i64) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<i64> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: i64) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<i64x8> for i64

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: i64x8) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<i64x8> for &i64x8

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: i64x8) -> Self::Output

Performs the - operation. Read more
Source§

impl Sub<i64x8> for &i64

Source§

type Output = i64x8

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: i64x8) -> Self::Output

Performs the - operation. Read more
Source§

impl SubAssign for i64x8

Source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
Source§

impl SubAssign<&i64> for i64x8

Source§

fn sub_assign(&mut self, rhs: &i64)

Performs the -= operation. Read more
Source§

impl SubAssign<&i64x8> for i64x8

Source§

fn sub_assign(&mut self, rhs: &Self)

Performs the -= operation. Read more
Source§

impl SubAssign<i64> for i64x8

Source§

fn sub_assign(&mut self, rhs: i64)

Performs the -= operation. Read more
Source§

impl<Rhs> Sum<Rhs> for i64x8
where i64x8: AddAssign<Rhs>,

Source§

fn sum<I: Iterator<Item = Rhs>>(iter: I) -> Self

Takes an iterator and generates Self from the elements by “summing up” the items.
Source§

impl UpperExp for i64x8

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl UpperHex for i64x8

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Zeroable for i64x8

Source§

fn zeroed() -> Self

Auto 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§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> AnyBitPattern for T
where T: Pod,

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CheckedBitPattern for T
where T: AnyBitPattern,

Source§

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

If this function returns true, then it must be valid to reinterpret bits as &Self.
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> NoUninit for T
where T: Pod,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.