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
fn from_f64(value: f64) -> Self
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.