Trait RealField

Source
pub trait RealField: ComplexField<Real = Self> + PartialOrd {
Show 21 methods // Required methods fn faer_epsilon() -> Option<Self>; fn faer_zero_threshold() -> Option<Self>; fn faer_min_positive() -> Self; fn faer_min_positive_inv() -> Self; fn faer_min_positive_sqrt() -> Self; fn faer_min_positive_sqrt_inv() -> Self; fn faer_div(self, rhs: Self) -> Self; fn faer_usize_to_index(a: usize) -> Self::Index; fn faer_index_to_usize(a: Self::Index) -> usize; fn faer_max_index() -> Self::Index; fn faer_simd_less_than<S>( simd: S, a: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, b: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> Self::SimdMask<S> where S: Simd; fn faer_simd_less_than_or_equal<S>( simd: S, a: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, b: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> Self::SimdMask<S> where S: Simd; fn faer_simd_greater_than<S>( simd: S, a: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, b: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> Self::SimdMask<S> where S: Simd; fn faer_simd_greater_than_or_equal<S>( simd: S, a: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, b: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> Self::SimdMask<S> where S: Simd; fn faer_simd_select<S>( simd: S, mask: Self::SimdMask<S>, if_true: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, if_false: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd; fn faer_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 faer_simd_index_seq<S>(simd: S) -> Self::SimdIndex<S> where S: Simd; fn faer_simd_index_splat<S>( simd: S, value: Self::Index, ) -> Self::SimdIndex<S> where S: Simd; fn faer_simd_index_add<S>( simd: S, a: Self::SimdIndex<S>, b: Self::SimdIndex<S>, ) -> Self::SimdIndex<S> where S: Simd; fn faer_simd_index_rotate_left<S>( simd: S, values: Self::SimdIndex<S>, amount: usize, ) -> Self::SimdIndex<S> where S: Simd; fn faer_simd_abs<S>( simd: S, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd;
}
Expand description

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

Required Methods§

Source

fn faer_epsilon() -> Option<Self>

Source

fn faer_zero_threshold() -> Option<Self>

Source

fn faer_min_positive() -> Self

Source

fn faer_min_positive_inv() -> Self

Source

fn faer_min_positive_sqrt() -> Self

Source

fn faer_min_positive_sqrt_inv() -> Self

Source

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

Source

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

Source

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

Source

fn faer_max_index() -> Self::Index

Source

fn faer_simd_less_than<S>( simd: S, a: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, b: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> Self::SimdMask<S>
where S: Simd,

Source

fn faer_simd_less_than_or_equal<S>( simd: S, a: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, b: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> Self::SimdMask<S>
where S: Simd,

Source

fn faer_simd_greater_than<S>( simd: S, a: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, b: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> Self::SimdMask<S>
where S: Simd,

Source

fn faer_simd_greater_than_or_equal<S>( simd: S, a: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, b: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> Self::SimdMask<S>
where S: Simd,

Source

fn faer_simd_select<S>( simd: S, mask: Self::SimdMask<S>, if_true: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, if_false: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>
where S: Simd,

Source

fn faer_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 faer_simd_index_seq<S>(simd: S) -> Self::SimdIndex<S>
where S: Simd,

Source

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

Source

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

Source

fn faer_simd_index_rotate_left<S>( simd: S, values: Self::SimdIndex<S>, amount: usize, ) -> Self::SimdIndex<S>
where S: Simd,

Source

fn faer_simd_abs<S>( simd: S, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>
where S: Simd,

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.

Implementations on Foreign Types§

Source§

impl RealField for f32

Source§

fn faer_epsilon() -> Option<f32>

Source§

fn faer_zero_threshold() -> Option<f32>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

fn faer_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 faer_simd_index_seq<S>(simd: S) -> <f32 as Entity>::SimdIndex<S>
where S: Simd,

Source§

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

Source§

fn faer_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§

fn faer_simd_index_rotate_left<S>( simd: S, values: <f32 as Entity>::SimdIndex<S>, amount: usize, ) -> <f32 as Entity>::SimdIndex<S>
where S: Simd,

Source§

fn faer_min_positive() -> f32

Source§

fn faer_min_positive_inv() -> f32

Source§

fn faer_min_positive_sqrt() -> f32

Source§

fn faer_min_positive_sqrt_inv() -> f32

Source§

fn faer_simd_abs<S>( simd: S, values: <<f32 as Entity>::Group as ForCopyType>::FaerOfCopy<<f32 as Entity>::SimdUnit<S>>, ) -> <<f32 as Entity>::Group as ForCopyType>::FaerOfCopy<<f32 as Entity>::SimdUnit<S>>
where S: Simd,

Source§

impl RealField for f64

Source§

fn faer_epsilon() -> Option<f64>

Source§

fn faer_zero_threshold() -> Option<f64>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

fn faer_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 faer_simd_index_seq<S>(simd: S) -> <f64 as Entity>::SimdIndex<S>
where S: Simd,

Source§

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

Source§

fn faer_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,

Source§

fn faer_simd_index_rotate_left<S>( simd: S, values: <f64 as Entity>::SimdIndex<S>, amount: usize, ) -> <f64 as Entity>::SimdIndex<S>
where S: Simd,

Source§

fn faer_min_positive() -> f64

Source§

fn faer_min_positive_inv() -> f64

Source§

fn faer_min_positive_sqrt() -> f64

Source§

fn faer_min_positive_sqrt_inv() -> f64

Source§

fn faer_simd_abs<S>( simd: S, values: <<f64 as Entity>::Group as ForCopyType>::FaerOfCopy<<f64 as Entity>::SimdUnit<S>>, ) -> <<f64 as Entity>::Group as ForCopyType>::FaerOfCopy<<f64 as Entity>::SimdUnit<S>>
where S: Simd,

Implementors§