Trait thermite::SimdVector [−][src]
pub trait SimdVector<S: Simd + ?Sized>: SimdVectorBase<S> + SimdMask<S> + SimdBitwise<S> + SimdCasts<S> + Add<Self, Output = Self> + Sub<Self, Output = Self> + Mul<Self, Output = Self> + Div<Self, Output = Self> + Rem<Self, Output = Self> + AddAssign<Self> + SubAssign<Self> + MulAssign<Self> + DivAssign<Self> + RemAssign<Self> + PartialEq {}Show methods
fn zero() -> Self; fn one() -> Self; fn indexed() -> Self; fn min_value() -> Self; fn max_value() -> Self; fn min_element(self) -> Self::Element; fn max_element(self) -> Self::Element; fn eq(self, other: Self) -> Mask<S, Self>; fn gt(self, other: Self) -> Mask<S, Self>; fn gather(src: &[Self::Element], indices: S::Vu32) -> Self { ... } fn scatter(self, dst: &mut [Self::Element], indices: S::Vu32) { ... } fn gather_masked(
src: &[Self::Element],
indices: S::Vu32,
mask: Mask<S, Self>,
default: Self
) -> Self { ... } fn scatter_masked(
self,
dst: &mut [Self::Element],
indices: S::Vu32,
mask: Mask<S, Self>
) { ... } fn min(self, other: Self) -> Self { ... } fn max(self, other: Self) -> Self { ... } fn conditional_add(
self,
value: Self,
mask: Mask<S, impl SimdCastTo<S, Self>>
) -> Self { ... } fn conditional_sub(
self,
value: Self,
mask: Mask<S, impl SimdCastTo<S, Self>>
) -> Self { ... } fn ne(self, other: Self) -> Mask<S, Self> { ... } fn lt(self, other: Self) -> Mask<S, Self> { ... } fn le(self, other: Self) -> Mask<S, Self> { ... } fn ge(self, other: Self) -> Mask<S, Self> { ... }
Expand description
Defines common operations on numeric vectors
Required methods
Returns a vector where the first lane is zero, and each subsequent lane is one plus the previous lane.
[0, 1, 2, 3, 4, 5, 6, 7, ...]
fn min_element(self) -> Self::Element
[src]
fn min_element(self) -> Self::Element
[src]Find the minimum value across all lanes
fn max_element(self) -> Self::Element
[src]
fn max_element(self) -> Self::Element
[src]Find the maximum value across all lanes
Provided methods
Loads values from arbitrary addresses in memory based on offsets from a base address.
Stores values to arbitrary addresses in memory based on offsets from a base address.
fn gather_masked(
src: &[Self::Element],
indices: S::Vu32,
mask: Mask<S, Self>,
default: Self
) -> Self
[src]fn scatter_masked(
self,
dst: &mut [Self::Element],
indices: S::Vu32,
mask: Mask<S, Self>
)
[src]fn conditional_add(
self,
value: Self,
mask: Mask<S, impl SimdCastTo<S, Self>>
) -> Self
[src]
fn conditional_add(
self,
value: Self,
mask: Mask<S, impl SimdCastTo<S, Self>>
) -> Self
[src]Add self
and value
only if the corresponding lane in the given mask is true.
fn conditional_sub(
self,
value: Self,
mask: Mask<S, impl SimdCastTo<S, Self>>
) -> Self
[src]
fn conditional_sub(
self,
value: Self,
mask: Mask<S, impl SimdCastTo<S, Self>>
) -> Self
[src]Subtracts value
from self
only if the corresponding lane in the given mask is true.