Trait SimdInt

Source
pub trait SimdInt<Element: SimdElement, S: Simd>:
    SimdBase<Element, S>
    + Add<Output = Self>
    + Add<Element, Output = Self>
    + Sub<Output = Self>
    + Sub<Element, Output = Self>
    + Mul<Output = Self>
    + Mul<Element, Output = Self>
    + BitAnd<Output = Self>
    + BitAnd<Element, Output = Self>
    + BitOr<Output = Self>
    + BitOr<Element, Output = Self>
    + BitXor<Output = Self>
    + BitXor<Element, Output = Self> {
    // Required methods
    fn simd_eq(self, rhs: impl SimdInto<Self, S>) -> Self::Mask;
    fn simd_lt(self, rhs: impl SimdInto<Self, S>) -> Self::Mask;
    fn simd_le(self, rhs: impl SimdInto<Self, S>) -> Self::Mask;
    fn simd_ge(self, rhs: impl SimdInto<Self, S>) -> Self::Mask;
    fn simd_gt(self, rhs: impl SimdInto<Self, S>) -> Self::Mask;
    fn zip_low(self, rhs: impl SimdInto<Self, S>) -> Self;
    fn zip_high(self, rhs: impl SimdInto<Self, S>) -> Self;
    fn unzip_low(self, rhs: impl SimdInto<Self, S>) -> Self;
    fn unzip_high(self, rhs: impl SimdInto<Self, S>) -> Self;
    fn min(self, rhs: impl SimdInto<Self, S>) -> Self;
    fn max(self, rhs: impl SimdInto<Self, S>) -> Self;

    // Provided method
    fn to_float<T: SimdCvtFloat<Self>>(self) -> T { ... }
}

Required Methods§

Source

fn simd_eq(self, rhs: impl SimdInto<Self, S>) -> Self::Mask

Source

fn simd_lt(self, rhs: impl SimdInto<Self, S>) -> Self::Mask

Source

fn simd_le(self, rhs: impl SimdInto<Self, S>) -> Self::Mask

Source

fn simd_ge(self, rhs: impl SimdInto<Self, S>) -> Self::Mask

Source

fn simd_gt(self, rhs: impl SimdInto<Self, S>) -> Self::Mask

Source

fn zip_low(self, rhs: impl SimdInto<Self, S>) -> Self

Source

fn zip_high(self, rhs: impl SimdInto<Self, S>) -> Self

Source

fn unzip_low(self, rhs: impl SimdInto<Self, S>) -> Self

Source

fn unzip_high(self, rhs: impl SimdInto<Self, S>) -> Self

Source

fn min(self, rhs: impl SimdInto<Self, S>) -> Self

Source

fn max(self, rhs: impl SimdInto<Self, S>) -> Self

Provided Methods§

Source

fn to_float<T: SimdCvtFloat<Self>>(self) -> T

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<S: Simd> SimdInt<i8, S> for i8x16<S>

Source§

impl<S: Simd> SimdInt<i8, S> for i8x32<S>

Source§

impl<S: Simd> SimdInt<i8, S> for i8x64<S>

Source§

impl<S: Simd> SimdInt<i16, S> for i16x8<S>

Source§

impl<S: Simd> SimdInt<i16, S> for i16x16<S>

Source§

impl<S: Simd> SimdInt<i16, S> for i16x32<S>

Source§

impl<S: Simd> SimdInt<i32, S> for i32x4<S>

Source§

impl<S: Simd> SimdInt<i32, S> for i32x8<S>

Source§

impl<S: Simd> SimdInt<i32, S> for i32x16<S>

Source§

impl<S: Simd> SimdInt<u8, S> for u8x16<S>

Source§

impl<S: Simd> SimdInt<u8, S> for u8x32<S>

Source§

impl<S: Simd> SimdInt<u8, S> for u8x64<S>

Source§

impl<S: Simd> SimdInt<u16, S> for u16x8<S>

Source§

impl<S: Simd> SimdInt<u16, S> for u16x16<S>

Source§

impl<S: Simd> SimdInt<u16, S> for u16x32<S>

Source§

impl<S: Simd> SimdInt<u32, S> for u32x4<S>

Source§

impl<S: Simd> SimdInt<u32, S> for u32x8<S>

Source§

impl<S: Simd> SimdInt<u32, S> for u32x16<S>