Skip to main content

u32x8

Struct u32x8 

Source
pub struct u32x8 { /* private fields */ }

Implementations§

Source§

impl u32x8

Source

pub const ONE: u32x8

Source

pub const ZERO: u32x8

Source

pub const MAX: u32x8

Source

pub const MIN: u32x8

Source

pub const LANES: u16 = 8

The number of lanes in this SIMD vector.

Source

pub const BITS: u16 = 256

The size of this SIMD vector in bits.

Source§

impl u32x8

Source

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

Source

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

Source

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

Source

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

Source

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

Multiplies 32x32 bit to 64 bit and then only keeps the high 32 bits of the result. Useful for implementing divide constant value (see t_usefulness example)

Source

pub fn blend(self, t: Self, f: Self) -> Self

Source

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

Source

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

Source

pub fn any(self) -> bool

Source

pub fn all(self) -> bool

Source

pub fn none(self) -> bool

Source

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

Source

pub fn as_array_ref(&self) -> &[u32; 8]

Source

pub fn as_array_mut(&mut self) -> &mut [u32; 8]

Source§

impl u32x8

Source

pub fn splat(elem: u32) -> u32x8

Trait Implementations§

Source§

impl Add for u32x8

Source§

type Output = u32x8

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

impl Add<&u32x8> for u32x8

Source§

type Output = u32x8

The resulting type after applying the + operator.
Source§

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

Performs the + operation. Read more
Source§

impl AddAssign for u32x8

Source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
Source§

impl AddAssign<&u32x8> for u32x8

Source§

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

Performs the += operation. Read more
Source§

impl Binary for u32x8

Source§

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

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

impl BitAnd for u32x8

Source§

type Output = u32x8

The resulting type after applying the & operator.
Source§

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

Performs the & operation. Read more
Source§

impl BitAnd<&u32x8> for u32x8

Source§

type Output = u32x8

The resulting type after applying the & operator.
Source§

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

Performs the & operation. Read more
Source§

impl BitAndAssign for u32x8

Source§

fn bitand_assign(&mut self, rhs: Self)

Performs the &= operation. Read more
Source§

impl BitAndAssign<&u32x8> for u32x8

Source§

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

Performs the &= operation. Read more
Source§

impl BitOr for u32x8

Source§

type Output = u32x8

The resulting type after applying the | operator.
Source§

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

Performs the | operation. Read more
Source§

impl BitOr<&u32x8> for u32x8

Source§

type Output = u32x8

The resulting type after applying the | operator.
Source§

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

Performs the | operation. Read more
Source§

impl BitOrAssign for u32x8

Source§

fn bitor_assign(&mut self, rhs: Self)

Performs the |= operation. Read more
Source§

impl BitOrAssign<&u32x8> for u32x8

Source§

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

Performs the |= operation. Read more
Source§

impl BitXor for u32x8

Source§

type Output = u32x8

The resulting type after applying the ^ operator.
Source§

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

Performs the ^ operation. Read more
Source§

impl BitXor<&u32x8> for u32x8

Source§

type Output = u32x8

The resulting type after applying the ^ operator.
Source§

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

Performs the ^ operation. Read more
Source§

impl BitXorAssign for u32x8

Source§

fn bitxor_assign(&mut self, rhs: Self)

Performs the ^= operation. Read more
Source§

impl BitXorAssign<&u32x8> for u32x8

Source§

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

Performs the ^= operation. Read more
Source§

impl Clone for u32x8

Source§

fn clone(&self) -> u32x8

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 u32x8

Source§

type Output = u32x8

Source§

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

Source§

impl Copy for u32x8

Source§

impl Debug for u32x8

Source§

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

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

impl Default for u32x8

Source§

fn default() -> u32x8

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

impl Display for u32x8

Source§

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

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

impl Eq for u32x8

Source§

impl From<[u32; 8]> for u32x8

Source§

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

Converts to this type from the input type.
Source§

impl From<u16x8> for u32x8

Source§

fn from(v: u16x8) -> Self

widens and zero extends to u32x8

Source§

impl From<u32> for u32x8

Source§

fn from(elem: u32) -> Self

Splats the single value given across all lanes.

Source§

impl From<u32x8> for [u32; 8]

Source§

fn from(simd: u32x8) -> Self

Converts to this type from the input type.
Source§

impl LowerExp for u32x8

Source§

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

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

impl LowerHex for u32x8

Source§

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

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

impl Mul for u32x8

Source§

type Output = u32x8

The resulting type after applying the * operator.
Source§

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

Performs the * operation. Read more
Source§

impl Neg for u32x8

Source§

type Output = u32x8

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl Neg for &u32x8

Source§

type Output = u32x8

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl Not for u32x8

Source§

type Output = u32x8

The resulting type after applying the ! operator.
Source§

fn not(self) -> Self

Performs the unary ! operation. Read more
Source§

impl Octal for u32x8

Source§

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

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

impl PartialEq for u32x8

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Pod for u32x8

Source§

impl Shl for u32x8

Shifts lanes by the corresponding lane.

Bitwise shift-left; yields self << mask(rhs), where mask removes any high-order bits of rhs that would cause the shift to exceed the bitwidth of the type. (same as wrapping_shl)

Source§

type Output = u32x8

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

fn shl(self, rhs: u32x8) -> Self::Output

Performs the << operation. Read more
Source§

impl Shl<i8> for u32x8

Source§

fn shl(self, rhs: i8) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shl<i16> for u32x8

Source§

fn shl(self, rhs: i16) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shl<i32> for u32x8

Source§

fn shl(self, rhs: i32) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shl<i64> for u32x8

Source§

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

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shl<i128> for u32x8

Source§

fn shl(self, rhs: i128) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shl<u8> for u32x8

Source§

fn shl(self, rhs: u8) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shl<u16> for u32x8

Source§

fn shl(self, rhs: u16) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shl<u32> for u32x8

Source§

fn shl(self, rhs: u32) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shl<u64> for u32x8

Source§

fn shl(self, rhs: u64) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shl<u128> for u32x8

Source§

fn shl(self, rhs: u128) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shr for u32x8

Shifts lanes by the corresponding lane.

Bitwise shift-right; yields self >> mask(rhs), where mask removes any high-order bits of rhs that would cause the shift to exceed the bitwidth of the type. (same as wrapping_shr)

Source§

type Output = u32x8

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

fn shr(self, rhs: u32x8) -> Self::Output

Performs the >> operation. Read more
Source§

impl Shr<i8> for u32x8

Source§

fn shr(self, rhs: i8) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shr<i16> for u32x8

Source§

fn shr(self, rhs: i16) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shr<i32> for u32x8

Source§

fn shr(self, rhs: i32) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shr<i64> for u32x8

Source§

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

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shr<i128> for u32x8

Source§

fn shr(self, rhs: i128) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shr<u8> for u32x8

Source§

fn shr(self, rhs: u8) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shr<u16> for u32x8

Source§

fn shr(self, rhs: u16) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shr<u32> for u32x8

Source§

fn shr(self, rhs: u32) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shr<u64> for u32x8

Source§

fn shr(self, rhs: u64) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl Shr<u128> for u32x8

Source§

fn shr(self, rhs: u128) -> Self::Output

Shifts all lanes by the value given.

Source§

type Output = u32x8

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

impl StructuralPartialEq for u32x8

Source§

impl Sub for u32x8

Source§

type Output = u32x8

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl Sub<&u32x8> for u32x8

Source§

type Output = u32x8

The resulting type after applying the - operator.
Source§

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

Performs the - operation. Read more
Source§

impl SubAssign for u32x8

Source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
Source§

impl SubAssign<&u32x8> for u32x8

Source§

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

Performs the -= operation. Read more
Source§

impl<RHS> Sum<RHS> for u32x8
where u32x8: 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 u32x8

Source§

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

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

impl UpperHex for u32x8

Source§

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

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

impl Zeroable for u32x8

Source§

fn zeroed() -> Self

Auto Trait Implementations§

§

impl Freeze for u32x8

§

impl RefUnwindSafe for u32x8

§

impl Send for u32x8

§

impl Sync for u32x8

§

impl Unpin for u32x8

§

impl UnsafeUnpin for u32x8

§

impl UnwindSafe for u32x8

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.