Struct simba::simd::WideBoolF32x4

source ·
#[repr(transparent)]
pub struct WideBoolF32x4(pub f32x4);
Expand description

An SIMD boolean structure associated to wide::f32x4 that implements all the relevant traits from simba.

This is needed to overcome the orphan rules.

Tuple Fields§

§0: f32x4

Trait Implementations§

source§

impl BitAnd for WideBoolF32x4

source§

type Output = WideBoolF32x4

The resulting type after applying the & operator.
source§

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

Performs the & operation. Read more
source§

impl BitOr for WideBoolF32x4

source§

type Output = WideBoolF32x4

The resulting type after applying the | operator.
source§

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

Performs the | operation. Read more
source§

impl BitXor for WideBoolF32x4

source§

type Output = WideBoolF32x4

The resulting type after applying the ^ operator.
source§

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

Performs the ^ operation. Read more
source§

impl Clone for WideBoolF32x4

source§

fn clone(&self) -> WideBoolF32x4

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for WideBoolF32x4

source§

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

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

impl From<[bool; 4]> for WideBoolF32x4

source§

fn from(vals: [bool; 4]) -> Self

Converts to this type from the input type.
source§

impl Not for WideBoolF32x4

source§

type Output = WideBoolF32x4

The resulting type after applying the ! operator.
source§

fn not(self) -> Self

Performs the unary ! operation. Read more
source§

impl PartialEq for WideBoolF32x4

source§

fn eq(&self, rhs: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 SimdBool for WideBoolF32x4

source§

fn bitmask(self) -> u64

A bit mask representing the boolean state of each lanes of self. Read more
source§

fn and(self) -> bool

Lane-wise bitwise and of the vector elements.
source§

fn or(self) -> bool

Lane-wise bitwise or of the vector elements.
source§

fn xor(self) -> bool

Lane-wise bitwise xor of the vector elements.
source§

fn all(self) -> bool

Are all vector lanes true?
source§

fn any(self) -> bool

Is any vector lane true?
source§

fn none(self) -> bool

Are all vector lanes false?
source§

fn if_else<Res: SimdValue<SimdBool = Self>>( self, if_value: impl FnOnce() -> Res, else_value: impl FnOnce() -> Res, ) -> Res

Merges the value of if_value() and else_value() depending on the lanes of self. Read more
source§

fn if_else2<Res: SimdValue<SimdBool = Self>>( self, if_value: impl FnOnce() -> Res, else_if: (impl FnOnce() -> Self, impl FnOnce() -> Res), else_value: impl FnOnce() -> Res, ) -> Res

Merges the value of if_value() and else_if.1() and else_value() depending on the lanes of self and else_if.0(). Read more
source§

fn if_else3<Res: SimdValue<SimdBool = Self>>( self, if_value: impl FnOnce() -> Res, else_if: (impl FnOnce() -> Self, impl FnOnce() -> Res), else_else_if: (impl FnOnce() -> Self, impl FnOnce() -> Res), else_value: impl FnOnce() -> Res, ) -> Res

Merges the value of if_value() and else_if.1() and else_else_if.1() and else_value() depending on the lanes of self and else_if.0() and else_else_if.0(). Read more
source§

impl SimdValue for WideBoolF32x4

source§

type Element = bool

The type of the elements of each lane of this SIMD value.
source§

type SimdBool = WideBoolF32x4

Type of the result of comparing two SIMD values like self.
source§

fn lanes() -> usize

The number of lanes of this SIMD value.
source§

fn splat(val: bool) -> Self

Initializes an SIMD value with each lanes set to val.
source§

fn extract(&self, i: usize) -> Self::Element

Extracts the i-th lane of self. Read more
source§

unsafe fn extract_unchecked(&self, i: usize) -> Self::Element

Extracts the i-th lane of self without bound-checking.
source§

fn replace(&mut self, i: usize, val: Self::Element)

Replaces the i-th lane of self by val. Read more
source§

unsafe fn replace_unchecked(&mut self, i: usize, val: Self::Element)

Replaces the i-th lane of self by val without bound-checking.
source§

fn select(self, cond: Self::SimdBool, other: Self) -> Self

Merges self and other depending on the lanes of cond. Read more
source§

fn map_lanes(self, f: impl Fn(Self::Element) -> Self::Element) -> Self
where Self: Clone,

Applies a function to each lane of self. Read more
source§

fn zip_map_lanes( self, b: Self, f: impl Fn(Self::Element, Self::Element) -> Self::Element, ) -> Self
where Self: Clone,

Applies a function to each lane of self paired with the corresponding lane of b. Read more
source§

impl SubsetOf<WideBoolF32x4> for WideBoolF32x4

source§

fn to_superset(&self) -> Self

The inclusion map: converts self to the equivalent element of its superset.
source§

fn from_superset(element: &Self) -> Option<Self>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
source§

fn from_superset_unchecked(element: &Self) -> Self

Use with care! Same as self.to_superset but without any property checks. Always succeeds.
source§

fn is_in_subset(_: &Self) -> bool

Checks if element is actually part of the subset Self (and can be converted to it).
source§

impl Copy for WideBoolF32x4

source§

impl PrimitiveSimdValue for WideBoolF32x4

Auto Trait Implementations§

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> 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> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
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, 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.