extendr_api::prelude::modules::core

Trait RealField

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) -> 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§

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) -> 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,

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§

§

impl RealField for f32

§

fn faer_epsilon() -> f32

§

fn faer_zero_threshold() -> f32

§

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

§

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

§

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

§

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

§

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,

§

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,

§

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,

§

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,

§

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,

§

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,

§

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

§

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

§

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,

§

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,

§

fn faer_min_positive() -> f32

§

fn faer_min_positive_inv() -> f32

§

fn faer_min_positive_sqrt() -> f32

§

fn faer_min_positive_sqrt_inv() -> f32

§

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,

§

impl RealField for f64

§

fn faer_epsilon() -> f64

§

fn faer_zero_threshold() -> f64

§

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

§

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

§

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

§

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

§

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,

§

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,

§

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,

§

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,

§

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,

§

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,

§

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

§

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

§

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,

§

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,

§

fn faer_min_positive() -> f64

§

fn faer_min_positive_inv() -> f64

§

fn faer_min_positive_sqrt() -> f64

§

fn faer_min_positive_sqrt_inv() -> f64

§

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§

§

impl RealField for Symbolic