RealField

Trait RealField 

Source
pub trait RealField:
    ComplexField<Real = Self>
    + PartialOrd
    + Num
    + NumAssignOps {
Show 21 methods // Required methods fn faer_epsilon() -> Self; fn faer_zero_threshold() -> 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) -> IndexFor<Self>; fn faer_index_to_usize(a: IndexFor<Self>) -> usize; fn faer_max_index() -> IndexFor<Self>; fn faer_simd_less_than<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>; fn faer_simd_less_than_or_equal<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>; fn faer_simd_greater_than<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>; fn faer_simd_greater_than_or_equal<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>; fn faer_simd_select<S: Simd>( simd: S, mask: SimdMaskFor<Self, S>, if_true: SimdGroupFor<Self, S>, if_false: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>; fn faer_simd_index_select<S: Simd>( simd: S, mask: SimdMaskFor<Self, S>, if_true: SimdIndexFor<Self, S>, if_false: SimdIndexFor<Self, S>, ) -> SimdIndexFor<Self, S>; fn faer_simd_index_seq<S: Simd>(simd: S) -> SimdIndexFor<Self, S>; fn faer_simd_index_splat<S: Simd>( simd: S, value: IndexFor<Self>, ) -> SimdIndexFor<Self, S>; fn faer_simd_index_add<S: Simd>( simd: S, a: SimdIndexFor<Self, S>, b: SimdIndexFor<Self, S>, ) -> SimdIndexFor<Self, S>; fn faer_simd_index_rotate_left<S: Simd>( simd: S, values: SimdIndexFor<Self, S>, amount: usize, ) -> SimdIndexFor<Self, S>; fn faer_simd_abs<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>;
}
Expand description

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

Required Methods§

Source

fn faer_epsilon() -> Self

Source

fn faer_zero_threshold() -> 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) -> IndexFor<Self>

Source

fn faer_index_to_usize(a: IndexFor<Self>) -> usize

Source

fn faer_max_index() -> IndexFor<Self>

Source

fn faer_simd_less_than<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>

Source

fn faer_simd_less_than_or_equal<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>

Source

fn faer_simd_greater_than<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>

Source

fn faer_simd_greater_than_or_equal<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>

Source

fn faer_simd_select<S: Simd>( simd: S, mask: SimdMaskFor<Self, S>, if_true: SimdGroupFor<Self, S>, if_false: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source

fn faer_simd_index_select<S: Simd>( simd: S, mask: SimdMaskFor<Self, S>, if_true: SimdIndexFor<Self, S>, if_false: SimdIndexFor<Self, S>, ) -> SimdIndexFor<Self, S>

Source

fn faer_simd_index_seq<S: Simd>(simd: S) -> SimdIndexFor<Self, S>

Source

fn faer_simd_index_splat<S: Simd>( simd: S, value: IndexFor<Self>, ) -> SimdIndexFor<Self, S>

Source

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

Source

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

Source

fn faer_simd_abs<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

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() -> Self

Source§

fn faer_zero_threshold() -> Self

Source§

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

Source§

fn faer_usize_to_index(a: usize) -> IndexFor<Self>

Source§

fn faer_index_to_usize(a: IndexFor<Self>) -> usize

Source§

fn faer_max_index() -> IndexFor<Self>

Source§

fn faer_simd_less_than<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>

Source§

fn faer_simd_less_than_or_equal<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>

Source§

fn faer_simd_greater_than<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>

Source§

fn faer_simd_greater_than_or_equal<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>

Source§

fn faer_simd_select<S: Simd>( simd: S, mask: SimdMaskFor<Self, S>, if_true: SimdGroupFor<Self, S>, if_false: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_index_select<S: Simd>( simd: S, mask: SimdMaskFor<Self, S>, if_true: SimdIndexFor<Self, S>, if_false: SimdIndexFor<Self, S>, ) -> SimdIndexFor<Self, S>

Source§

fn faer_simd_index_seq<S: Simd>(simd: S) -> SimdIndexFor<Self, S>

Source§

fn faer_simd_index_splat<S: Simd>( simd: S, value: IndexFor<Self>, ) -> SimdIndexFor<Self, S>

Source§

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

Source§

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

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_simd_abs<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

impl RealField for f64

Source§

fn faer_epsilon() -> Self

Source§

fn faer_zero_threshold() -> Self

Source§

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

Source§

fn faer_usize_to_index(a: usize) -> IndexFor<Self>

Source§

fn faer_index_to_usize(a: IndexFor<Self>) -> usize

Source§

fn faer_max_index() -> IndexFor<Self>

Source§

fn faer_simd_less_than<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>

Source§

fn faer_simd_less_than_or_equal<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>

Source§

fn faer_simd_greater_than<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>

Source§

fn faer_simd_greater_than_or_equal<S: Simd>( simd: S, a: SimdGroupFor<Self, S>, b: SimdGroupFor<Self, S>, ) -> SimdMaskFor<Self, S>

Source§

fn faer_simd_select<S: Simd>( simd: S, mask: SimdMaskFor<Self, S>, if_true: SimdGroupFor<Self, S>, if_false: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_index_select<S: Simd>( simd: S, mask: SimdMaskFor<Self, S>, if_true: SimdIndexFor<Self, S>, if_false: SimdIndexFor<Self, S>, ) -> SimdIndexFor<Self, S>

Source§

fn faer_simd_index_seq<S: Simd>(simd: S) -> SimdIndexFor<Self, S>

Source§

fn faer_simd_index_splat<S: Simd>( simd: S, value: IndexFor<Self>, ) -> SimdIndexFor<Self, S>

Source§

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

Source§

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

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_simd_abs<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Implementors§