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§
sourcefn fast_ceil(self) -> Self
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.
sourcefn fast_floor(self) -> Self
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.
sourcefn fast_round(self) -> Self
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.
sourcefn mul_add(self, a: Self, b: Self) -> Self
fn mul_add(self, a: Self, b: Self) -> Self
Element-wise multiply add. This performs Self * A + B
sourcefn mul_sub(self, a: Self, b: Self) -> Self
fn mul_sub(self, a: Self, b: Self) -> Self
Element-wise multiply subtract. This performs Self * A - B
sourcefn neg_mul_add(self, a: Self, b: Self) -> Self
fn neg_mul_add(self, a: Self, b: Self) -> Self
Element-wise negative multiply add. This performs -(Self * A) + B
sourcefn neg_mul_sub(self, a: Self, b: Self) -> Self
fn neg_mul_sub(self, a: Self, b: Self) -> Self
Element-wise negative multiply subtract. This performs -(Self * A) - B