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

Maximum representable valid value

Minimum representable valid value (may be negative)

Find the minimum value across all lanes

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.

Per-lane, select the minimum value

Per-lane, select the maximum value

Add self and value only if the corresponding lane in the given mask is true.

Subtracts value from self only if the corresponding lane in the given mask is true.

Implementors