Trait faer_entity::RealField
source · pub trait RealField: ComplexField<Real = Self> + PartialOrd {
Show 15 methods
// Required methods
fn epsilon() -> Option<Self>;
fn zero_threshold() -> Option<Self>;
fn div(self, rhs: Self) -> Self;
fn usize_to_index(a: usize) -> Self::Index;
fn index_to_usize(a: Self::Index) -> usize;
fn max_index() -> Self::Index;
fn simd_less_than<S: Simd>(
simd: S,
a: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>,
b: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>
) -> Self::SimdMask<S>;
fn simd_less_than_or_equal<S: Simd>(
simd: S,
a: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>,
b: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>
) -> Self::SimdMask<S>;
fn simd_greater_than<S: Simd>(
simd: S,
a: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>,
b: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>
) -> Self::SimdMask<S>;
fn simd_greater_than_or_equal<S: Simd>(
simd: S,
a: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>,
b: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>
) -> Self::SimdMask<S>;
fn simd_select<S: Simd>(
simd: S,
mask: Self::SimdMask<S>,
if_true: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>,
if_false: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>
) -> <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>;
fn simd_index_select<S: Simd>(
simd: S,
mask: Self::SimdMask<S>,
if_true: Self::SimdIndex<S>,
if_false: Self::SimdIndex<S>
) -> Self::SimdIndex<S>;
fn simd_index_seq<S: Simd>(simd: S) -> Self::SimdIndex<S>;
fn simd_index_splat<S: Simd>(
simd: S,
value: Self::Index
) -> Self::SimdIndex<S>;
fn simd_index_add<S: Simd>(
simd: S,
a: Self::SimdIndex<S>,
b: Self::SimdIndex<S>
) -> Self::SimdIndex<S>;
}Expand description
Unstable trait containing the operations that a real number type needs to implement.
Required Methods§
fn epsilon() -> Option<Self>
fn zero_threshold() -> Option<Self>
fn div(self, rhs: Self) -> Self
fn usize_to_index(a: usize) -> Self::Index
fn index_to_usize(a: Self::Index) -> usize
fn max_index() -> Self::Index
fn simd_less_than<S: Simd>( simd: S, a: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>, b: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>> ) -> Self::SimdMask<S>
fn simd_less_than_or_equal<S: Simd>( simd: S, a: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>, b: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>> ) -> Self::SimdMask<S>
fn simd_greater_than<S: Simd>( simd: S, a: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>, b: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>> ) -> Self::SimdMask<S>
fn simd_greater_than_or_equal<S: Simd>( simd: S, a: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>, b: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>> ) -> Self::SimdMask<S>
fn simd_select<S: Simd>( simd: S, mask: Self::SimdMask<S>, if_true: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>, if_false: <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>> ) -> <Self as Entity>::Group<<Self as Entity>::SimdUnit<S>>
fn simd_index_select<S: Simd>( simd: S, mask: Self::SimdMask<S>, if_true: Self::SimdIndex<S>, if_false: Self::SimdIndex<S> ) -> Self::SimdIndex<S>
fn simd_index_seq<S: Simd>(simd: S) -> Self::SimdIndex<S>
fn simd_index_splat<S: Simd>(simd: S, value: Self::Index) -> Self::SimdIndex<S>
fn simd_index_add<S: Simd>( simd: S, a: Self::SimdIndex<S>, b: Self::SimdIndex<S> ) -> Self::SimdIndex<S>
Object Safety§
This trait is not object safe.