Trait faer_core::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: S, a: Self::Group<Self::SimdUnit<S>>, b: Self::Group<Self::SimdUnit<S>> ) -> Self::SimdMask<S> where S: Simd; fn simd_less_than_or_equal<S>( simd: S, a: Self::Group<Self::SimdUnit<S>>, b: Self::Group<Self::SimdUnit<S>> ) -> Self::SimdMask<S> where S: Simd; fn simd_greater_than<S>( simd: S, a: Self::Group<Self::SimdUnit<S>>, b: Self::Group<Self::SimdUnit<S>> ) -> Self::SimdMask<S> where S: Simd; fn simd_greater_than_or_equal<S>( simd: S, a: Self::Group<Self::SimdUnit<S>>, b: Self::Group<Self::SimdUnit<S>> ) -> Self::SimdMask<S> where S: Simd; fn simd_select<S>( simd: S, mask: Self::SimdMask<S>, if_true: Self::Group<Self::SimdUnit<S>>, if_false: Self::Group<Self::SimdUnit<S>> ) -> Self::Group<Self::SimdUnit<S>> where S: Simd; fn simd_index_select<S>( simd: S, mask: Self::SimdMask<S>, if_true: Self::SimdIndex<S>, if_false: Self::SimdIndex<S> ) -> Self::SimdIndex<S> where S: Simd; fn simd_index_seq<S>(simd: S) -> Self::SimdIndex<S> where S: Simd; fn simd_index_splat<S>(simd: S, value: Self::Index) -> Self::SimdIndex<S> where S: Simd; fn simd_index_add<S>( simd: S, a: Self::SimdIndex<S>, b: Self::SimdIndex<S> ) -> Self::SimdIndex<S> where S: Simd;
}
Expand description

Unstable trait containing the operations that a real number type needs to implement.

Required Methods§

source

fn epsilon() -> Option<Self>

source

fn zero_threshold() -> Option<Self>

source

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

source

fn usize_to_index(a: usize) -> Self::Index

source

fn index_to_usize(a: Self::Index) -> usize

source

fn max_index() -> Self::Index

source

fn simd_less_than<S>( simd: S, a: Self::Group<Self::SimdUnit<S>>, b: Self::Group<Self::SimdUnit<S>> ) -> Self::SimdMask<S>
where S: Simd,

source

fn simd_less_than_or_equal<S>( simd: S, a: Self::Group<Self::SimdUnit<S>>, b: Self::Group<Self::SimdUnit<S>> ) -> Self::SimdMask<S>
where S: Simd,

source

fn simd_greater_than<S>( simd: S, a: Self::Group<Self::SimdUnit<S>>, b: Self::Group<Self::SimdUnit<S>> ) -> Self::SimdMask<S>
where S: Simd,

source

fn simd_greater_than_or_equal<S>( simd: S, a: Self::Group<Self::SimdUnit<S>>, b: Self::Group<Self::SimdUnit<S>> ) -> Self::SimdMask<S>
where S: Simd,

source

fn simd_select<S>( simd: S, mask: Self::SimdMask<S>, if_true: Self::Group<Self::SimdUnit<S>>, if_false: Self::Group<Self::SimdUnit<S>> ) -> Self::Group<Self::SimdUnit<S>>
where S: Simd,

source

fn simd_index_select<S>( simd: S, mask: Self::SimdMask<S>, if_true: Self::SimdIndex<S>, if_false: Self::SimdIndex<S> ) -> Self::SimdIndex<S>
where S: Simd,

source

fn simd_index_seq<S>(simd: S) -> Self::SimdIndex<S>
where S: Simd,

source

fn simd_index_splat<S>(simd: S, value: Self::Index) -> Self::SimdIndex<S>
where S: Simd,

source

fn simd_index_add<S>( simd: S, a: Self::SimdIndex<S>, b: Self::SimdIndex<S> ) -> Self::SimdIndex<S>
where S: Simd,

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl RealField for f32

source§

fn epsilon() -> Option<f32>

source§

fn zero_threshold() -> Option<f32>

source§

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

source§

fn usize_to_index(a: usize) -> <f32 as Entity>::Index

source§

fn index_to_usize(a: <f32 as Entity>::Index) -> usize

source§

fn max_index() -> <f32 as Entity>::Index

source§

fn simd_less_than<S>( simd: S, a: <f32 as Entity>::Group<<f32 as Entity>::SimdUnit<S>>, b: <f32 as Entity>::Group<<f32 as Entity>::SimdUnit<S>> ) -> <f32 as Entity>::SimdMask<S>
where S: Simd,

source§

fn simd_less_than_or_equal<S>( simd: S, a: <f32 as Entity>::Group<<f32 as Entity>::SimdUnit<S>>, b: <f32 as Entity>::Group<<f32 as Entity>::SimdUnit<S>> ) -> <f32 as Entity>::SimdMask<S>
where S: Simd,

source§

fn simd_greater_than<S>( simd: S, a: <f32 as Entity>::Group<<f32 as Entity>::SimdUnit<S>>, b: <f32 as Entity>::Group<<f32 as Entity>::SimdUnit<S>> ) -> <f32 as Entity>::SimdMask<S>
where S: Simd,

source§

fn simd_greater_than_or_equal<S>( simd: S, a: <f32 as Entity>::Group<<f32 as Entity>::SimdUnit<S>>, b: <f32 as Entity>::Group<<f32 as Entity>::SimdUnit<S>> ) -> <f32 as Entity>::SimdMask<S>
where S: Simd,

source§

fn simd_select<S>( simd: S, mask: <f32 as Entity>::SimdMask<S>, if_true: <f32 as Entity>::Group<<f32 as Entity>::SimdUnit<S>>, if_false: <f32 as Entity>::Group<<f32 as Entity>::SimdUnit<S>> ) -> <f32 as Entity>::Group<<f32 as Entity>::SimdUnit<S>>
where S: Simd,

source§

fn simd_index_select<S>( simd: S, mask: <f32 as Entity>::SimdMask<S>, if_true: <f32 as Entity>::SimdIndex<S>, if_false: <f32 as Entity>::SimdIndex<S> ) -> <f32 as Entity>::SimdIndex<S>
where S: Simd,

source§

fn simd_index_seq<S>(simd: S) -> <f32 as Entity>::SimdIndex<S>
where S: Simd,

source§

fn simd_index_splat<S>( simd: S, value: <f32 as Entity>::Index ) -> <f32 as Entity>::SimdIndex<S>
where S: Simd,

source§

fn simd_index_add<S>( simd: S, a: <f32 as Entity>::SimdIndex<S>, b: <f32 as Entity>::SimdIndex<S> ) -> <f32 as Entity>::SimdIndex<S>
where S: Simd,

source§

impl RealField for f64

source§

fn epsilon() -> Option<f64>

source§

fn zero_threshold() -> Option<f64>

source§

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

source§

fn usize_to_index(a: usize) -> <f64 as Entity>::Index

source§

fn index_to_usize(a: <f64 as Entity>::Index) -> usize

source§

fn max_index() -> <f64 as Entity>::Index

source§

fn simd_less_than<S>( simd: S, a: <f64 as Entity>::Group<<f64 as Entity>::SimdUnit<S>>, b: <f64 as Entity>::Group<<f64 as Entity>::SimdUnit<S>> ) -> <f64 as Entity>::SimdMask<S>
where S: Simd,

source§

fn simd_less_than_or_equal<S>( simd: S, a: <f64 as Entity>::Group<<f64 as Entity>::SimdUnit<S>>, b: <f64 as Entity>::Group<<f64 as Entity>::SimdUnit<S>> ) -> <f64 as Entity>::SimdMask<S>
where S: Simd,

source§

fn simd_greater_than<S>( simd: S, a: <f64 as Entity>::Group<<f64 as Entity>::SimdUnit<S>>, b: <f64 as Entity>::Group<<f64 as Entity>::SimdUnit<S>> ) -> <f64 as Entity>::SimdMask<S>
where S: Simd,

source§

fn simd_greater_than_or_equal<S>( simd: S, a: <f64 as Entity>::Group<<f64 as Entity>::SimdUnit<S>>, b: <f64 as Entity>::Group<<f64 as Entity>::SimdUnit<S>> ) -> <f64 as Entity>::SimdMask<S>
where S: Simd,

source§

fn simd_select<S>( simd: S, mask: <f64 as Entity>::SimdMask<S>, if_true: <f64 as Entity>::Group<<f64 as Entity>::SimdUnit<S>>, if_false: <f64 as Entity>::Group<<f64 as Entity>::SimdUnit<S>> ) -> <f64 as Entity>::Group<<f64 as Entity>::SimdUnit<S>>
where S: Simd,

source§

fn simd_index_select<S>( simd: S, mask: <f64 as Entity>::SimdMask<S>, if_true: <f64 as Entity>::SimdIndex<S>, if_false: <f64 as Entity>::SimdIndex<S> ) -> <f64 as Entity>::SimdIndex<S>
where S: Simd,

source§

fn simd_index_seq<S>(simd: S) -> <f64 as Entity>::SimdIndex<S>
where S: Simd,

source§

fn simd_index_splat<S>( simd: S, value: <f64 as Entity>::Index ) -> <f64 as Entity>::SimdIndex<S>
where S: Simd,

source§

fn simd_index_add<S>( simd: S, a: <f64 as Entity>::SimdIndex<S>, b: <f64 as Entity>::SimdIndex<S> ) -> <f64 as Entity>::SimdIndex<S>
where S: Simd,

Implementors§