Trait simdeez::SimdFloat

source ·
pub trait SimdFloat: SimdBaseOps + Div<Self, Output = Self> + DivAssign<Self> + Div<Self::Scalar, Output = Self> + DivAssign<Self::Scalar> {
Show 14 methods // Required methods fn div(self, rhs: Self) -> Self; fn ceil(self) -> Self; fn floor(self) -> Self; fn round(self) -> Self; fn fast_ceil(self) -> Self; fn fast_floor(self) -> Self; fn fast_round(self) -> Self; fn mul_add(self, a: Self, b: Self) -> Self; fn mul_sub(self, a: Self, b: Self) -> Self; fn neg_mul_add(self, a: Self, b: Self) -> Self; fn neg_mul_sub(self, a: Self, b: Self) -> Self; fn sqrt(self) -> Self; fn rsqrt(self) -> Self; fn from_f64(value: f64) -> Self;
}
Expand description

Operations shared by f32 and f64 floating point types

Required Methods§

source

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

Element-wise divide between two vectors

source

fn ceil(self) -> Self

Element-wise ceilings between two vectors

source

fn floor(self) -> Self

Element-wise floors between two vectors

source

fn round(self) -> Self

Element-wise rounds between two vectors

source

fn fast_ceil(self) -> Self

Alternative element-wise ceilings between two vectors. When using Sse2, this uses a faster version of ceiling that only works on floating point values small enough to fit in an i32. This is a big performance boost if you don’t need a complete ceiling.

source

fn fast_floor(self) -> Self

Alternative element-wise floors between two vectors. When using Sse2, this uses a faster version of floor that only works on floating point values small enough to fit in an i32. This is a big performance boost if you don’t need a complete floor.

source

fn fast_round(self) -> Self

Alternative element-wise rounds between two vectors. When using Sse2, this uses a faster version of round that only works on floating point values small enough to fit in an i32. This is a big performance boost if you don’t need a complete round.

source

fn mul_add(self, a: Self, b: Self) -> Self

Element-wise multiply add. This performs Self * A + B

source

fn mul_sub(self, a: Self, b: Self) -> Self

Element-wise multiply subtract. This performs Self * A - B

source

fn neg_mul_add(self, a: Self, b: Self) -> Self

Element-wise negative multiply add. This performs -(Self * A) + B

source

fn neg_mul_sub(self, a: Self, b: Self) -> Self

Element-wise negative multiply subtract. This performs -(Self * A) - B

source

fn sqrt(self) -> Self

Element-wise square root

source

fn rsqrt(self) -> Self

Element-wise approximate inverse square root

source

fn from_f64(value: f64) -> Self

Implementors§