Struct simba::simd::WideBoolF64x4

source ·
#[repr(transparent)]
pub struct WideBoolF64x4(pub f64x4);
Expand description

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

This is needed to overcome the orphan rules.

Tuple Fields§

§0: f64x4

Trait Implementations§

source§

impl BitAnd for WideBoolF64x4

§

type Output = WideBoolF64x4

The resulting type after applying the & operator.
source§

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

Performs the & operation. Read more
source§

impl BitOr for WideBoolF64x4

§

type Output = WideBoolF64x4

The resulting type after applying the | operator.
source§

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

Performs the | operation. Read more
source§

impl BitXor for WideBoolF64x4

§

type Output = WideBoolF64x4

The resulting type after applying the ^ operator.
source§

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

Performs the ^ operation. Read more
source§

impl Clone for WideBoolF64x4

source§

fn clone(&self) -> WideBoolF64x4

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 WideBoolF64x4

source§

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

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

impl Default for WideBoolF64x4

source§

fn default() -> WideBoolF64x4

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

impl From<[bool; 4]> for WideBoolF64x4

source§

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

Converts to this type from the input type.
source§

impl Not for WideBoolF64x4

§

type Output = WideBoolF64x4

The resulting type after applying the ! operator.
source§

fn not(self) -> Self

Performs the unary ! operation. Read more
source§

impl PartialEq for WideBoolF64x4

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl SimdBool for WideBoolF64x4

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 WideBoolF64x4

source§

const LANES: usize = 4usize

The number of lanes of this SIMD value.
§

type Element = bool

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

type SimdBool = WideBoolF64x4

Type of the result of comparing two SIMD values like self.
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. Read more
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. Read more
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<WideBoolF64x4> for WideBoolF64x4

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 WideBoolF64x4

source§

impl PrimitiveSimdValue for WideBoolF64x4

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> 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,

§

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>,

§

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>,

§

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.