Trait SimdFloat

Source
pub trait SimdFloat<Element: SimdElement, S: Simd>:
    SimdBase<Element, S>
    + Neg<Output = Self>
    + Add<Output = Self>
    + Add<Element, Output = Self>
    + Sub<Output = Self>
    + Sub<Element, Output = Self>
    + Mul<Output = Self>
    + Mul<Element, Output = Self>
    + Div<Output = Self>
    + Div<Element, Output = Self> {
Show 22 methods // Required methods fn abs(self) -> Self; fn sqrt(self) -> Self; fn copysign(self, rhs: impl SimdInto<Self, S>) -> Self; 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 max(self, rhs: impl SimdInto<Self, S>) -> Self; fn max_precise(self, rhs: impl SimdInto<Self, S>) -> Self; fn min(self, rhs: impl SimdInto<Self, S>) -> Self; fn min_precise(self, rhs: impl SimdInto<Self, S>) -> Self; fn madd( self, op1: impl SimdInto<Self, S>, op2: impl SimdInto<Self, S>, ) -> Self; fn msub( self, op1: impl SimdInto<Self, S>, op2: impl SimdInto<Self, S>, ) -> Self; fn floor(self) -> Self; fn fract(self) -> Self; fn trunc(self) -> Self; // Provided method fn to_int<T: SimdCvtTruncate<Self>>(self) -> T { ... }
}

Required Methods§

Source

fn abs(self) -> Self

Source

fn sqrt(self) -> Self

Source

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

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 max(self, rhs: impl SimdInto<Self, S>) -> Self

Source

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

Source

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

Source

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

Source

fn madd(self, op1: impl SimdInto<Self, S>, op2: impl SimdInto<Self, S>) -> Self

Source

fn msub(self, op1: impl SimdInto<Self, S>, op2: impl SimdInto<Self, S>) -> Self

Source

fn floor(self) -> Self

Source

fn fract(self) -> Self

Source

fn trunc(self) -> Self

Provided Methods§

Source

fn to_int<T: SimdCvtTruncate<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> SimdFloat<f32, S> for f32x4<S>

Source§

impl<S: Simd> SimdFloat<f32, S> for f32x8<S>

Source§

impl<S: Simd> SimdFloat<f32, S> for f32x16<S>

Source§

impl<S: Simd> SimdFloat<f64, S> for f64x2<S>

Source§

impl<S: Simd> SimdFloat<f64, S> for f64x4<S>

Source§

impl<S: Simd> SimdFloat<f64, S> for f64x8<S>