Type Definition packed_simd_2::m128x4[][src]

type m128x4 = Simd<[m128; 4]>;
Expand description

A 512-bit vector mask with 4 m128 lanes.

Implementations

impl m128x4[src]

pub const fn new(x0: bool, x1: bool, x2: bool, x3: bool) -> Self[src]

Creates a new instance with each vector elements initialized with the provided values.

pub const fn lanes() -> usize[src]

Returns the number of vector lanes.

pub const fn splat(value: bool) -> Self[src]

Constructs a new instance with each element initialized to value.

pub fn extract(self, index: usize) -> bool[src]

Extracts the value at index.

Panics

If index >= Self::lanes().

pub unsafe fn extract_unchecked(self, index: usize) -> bool[src]

Extracts the value at index.

Safety

If index >= Self::lanes() the behavior is undefined.

#[must_use = "replace does not modify the original value - \ it returns a new vector with the value at `index` \ replaced by `new_value`d"]
pub fn replace(self, index: usize, new_value: bool) -> Self
[src]

Returns a new vector where the value at index is replaced by new_value.

Panics

If index >= Self::lanes().

#[must_use = "replace_unchecked does not modify the original value - \ it returns a new vector with the value at `index` \ replaced by `new_value`d"]
pub unsafe fn replace_unchecked(self, index: usize, new_value: bool) -> Self
[src]

Returns a new vector where the value at index is replaced by new_value.

Safety

If index >= Self::lanes() the behavior is undefined.

impl m128x4[src]

pub fn and(self) -> bool[src]

Lane-wise bitwise and of the vector elements.

Note: if the vector has one lane, the first element of the vector is returned.

pub fn or(self) -> bool[src]

Lane-wise bitwise or of the vector elements.

Note: if the vector has one lane, the first element of the vector is returned.

pub fn xor(self) -> bool[src]

Lane-wise bitwise xor of the vector elements.

Note: if the vector has one lane, the first element of the vector is returned.

impl m128x4[src]

pub fn all(self) -> bool[src]

Are all vector lanes true?

pub fn any(self) -> bool[src]

Is any vector lane true?

pub fn none(self) -> bool[src]

Are all vector lanes false?

impl m128x4[src]

pub fn eq(self, other: Self) -> m128x4[src]

Lane-wise equality comparison.

pub fn ne(self, other: Self) -> m128x4[src]

Lane-wise inequality comparison.

pub fn lt(self, other: Self) -> m128x4[src]

Lane-wise less-than comparison.

pub fn le(self, other: Self) -> m128x4[src]

Lane-wise less-than-or-equals comparison.

pub fn gt(self, other: Self) -> m128x4[src]

Lane-wise greater-than comparison.

pub fn ge(self, other: Self) -> m128x4[src]

Lane-wise greater-than-or-equals comparison.

impl m128x4[src]

pub fn select<T>(self, a: Simd<T>, b: Simd<T>) -> Simd<T> where
    T: SimdArray<NT = <[m128; 4] as SimdArray>::NT>, 
[src]

Selects elements of a and b using mask.

The lanes of the result for which the mask is true contain the values of a. The remaining lanes contain the values of b.

impl m128x4[src]

pub fn partial_lex_ord(&self) -> LexicographicallyOrdered<m128x4>[src]

Returns a wrapper that implements PartialOrd.

impl m128x4[src]

pub fn lex_ord(&self) -> LexicographicallyOrdered<m128x4>[src]

Returns a wrapper that implements Ord.

impl m128x4[src]

pub fn shuffle1_dyn<I>(self, indices: I) -> Self where
    Self: Shuffle1Dyn<Indices = I>, 
[src]

Shuffle vector elements according to indices.

impl m128x4[src]

pub fn bitmask(self) -> u8[src]

Creates a bitmask with the MSB of each vector lane.

If the vector has less than 8 lanes, the bits that do not correspond to any vector lanes are cleared.

Trait Implementations

impl BitAnd<Simd<[m128; 4]>> for m128x4[src]

type Output = Self

The resulting type after applying the & operator.

fn bitand(self, other: Self) -> Self[src]

Performs the & operation. Read more

impl BitAnd<bool> for m128x4[src]

type Output = Self

The resulting type after applying the & operator.

fn bitand(self, other: bool) -> Self[src]

Performs the & operation. Read more

impl BitAndAssign<Simd<[m128; 4]>> for m128x4[src]

fn bitand_assign(&mut self, other: Self)[src]

Performs the &= operation. Read more

impl BitAndAssign<bool> for m128x4[src]

fn bitand_assign(&mut self, other: bool)[src]

Performs the &= operation. Read more

impl BitOr<Simd<[m128; 4]>> for m128x4[src]

type Output = Self

The resulting type after applying the | operator.

fn bitor(self, other: Self) -> Self[src]

Performs the | operation. Read more

impl BitOr<bool> for m128x4[src]

type Output = Self

The resulting type after applying the | operator.

fn bitor(self, other: bool) -> Self[src]

Performs the | operation. Read more

impl BitOrAssign<Simd<[m128; 4]>> for m128x4[src]

fn bitor_assign(&mut self, other: Self)[src]

Performs the |= operation. Read more

impl BitOrAssign<bool> for m128x4[src]

fn bitor_assign(&mut self, other: bool)[src]

Performs the |= operation. Read more

impl BitXor<Simd<[m128; 4]>> for m128x4[src]

type Output = Self

The resulting type after applying the ^ operator.

fn bitxor(self, other: Self) -> Self[src]

Performs the ^ operation. Read more

impl BitXor<bool> for m128x4[src]

type Output = Self

The resulting type after applying the ^ operator.

fn bitxor(self, other: bool) -> Self[src]

Performs the ^ operation. Read more

impl BitXorAssign<Simd<[m128; 4]>> for m128x4[src]

fn bitxor_assign(&mut self, other: Self)[src]

Performs the ^= operation. Read more

impl BitXorAssign<bool> for m128x4[src]

fn bitxor_assign(&mut self, other: bool)[src]

Performs the ^= operation. Read more

impl Debug for m128x4[src]

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

Formats the value using the given formatter. Read more

impl Default for m128x4[src]

fn default() -> Self[src]

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

impl From<[m128; 4]> for m128x4[src]

fn from(array: [m128; 4]) -> Self[src]

Performs the conversion.

impl From<Simd<[m16; 4]>> for m128x4[src]

fn from(source: m16x4) -> Self[src]

Performs the conversion.

impl From<Simd<[m32; 4]>> for m128x4[src]

fn from(source: m32x4) -> Self[src]

Performs the conversion.

impl From<Simd<[m64; 4]>> for m128x4[src]

fn from(source: m64x4) -> Self[src]

Performs the conversion.

impl From<Simd<[m8; 4]>> for m128x4[src]

fn from(source: m8x4) -> Self[src]

Performs the conversion.

impl FromCast<Simd<[f32; 4]>> for m128x4[src]

fn from_cast(x: f32x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[f64; 4]>> for m128x4[src]

fn from_cast(x: f64x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[i128; 4]>> for m128x4[src]

fn from_cast(x: i128x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[i16; 4]>> for m128x4[src]

fn from_cast(x: i16x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[i32; 4]>> for m128x4[src]

fn from_cast(x: i32x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[i64; 4]>> for m128x4[src]

fn from_cast(x: i64x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[i8; 4]>> for m128x4[src]

fn from_cast(x: i8x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[isize; 4]>> for m128x4[src]

fn from_cast(x: isizex4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[m16; 4]>> for m128x4[src]

fn from_cast(x: m16x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[m32; 4]>> for m128x4[src]

fn from_cast(x: m32x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[m64; 4]>> for m128x4[src]

fn from_cast(x: m64x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[m8; 4]>> for m128x4[src]

fn from_cast(x: m8x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[msize; 4]>> for m128x4[src]

fn from_cast(x: msizex4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[u128; 4]>> for m128x4[src]

fn from_cast(x: u128x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[u16; 4]>> for m128x4[src]

fn from_cast(x: u16x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[u32; 4]>> for m128x4[src]

fn from_cast(x: u32x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[u64; 4]>> for m128x4[src]

fn from_cast(x: u64x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[u8; 4]>> for m128x4[src]

fn from_cast(x: u8x4) -> Self[src]

Numeric cast from T to Self.

impl FromCast<Simd<[usize; 4]>> for m128x4[src]

fn from_cast(x: usizex4) -> Self[src]

Numeric cast from T to Self.

impl Not for m128x4[src]

type Output = Self

The resulting type after applying the ! operator.

fn not(self) -> Self[src]

Performs the unary ! operation. Read more

impl PartialEq<Simd<[m128; 4]>> for m128x4[src]

fn eq(&self, other: &Self) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &Self) -> bool[src]

This method tests for !=.

impl Simd for m128x4[src]

type Element = m128

Element type of the SIMD vector

const LANES: usize[src]

The number of elements in the SIMD vector.

type LanesType = [u32; 4]

The type: [u32; Self::N].

impl Eq for m128x4[src]