extendr_api::prelude::modules::core

Trait ComplexField

pub trait ComplexField:
    Entity
    + Conjugate<Canonical = Self>
    + Neg<Output = Self>
    + Add<Output = Self>
    + Sub<Output = Self>
    + Mul<Output = Self>
    + AddAssign
    + SubAssign
    + MulAssign {
    type Real: RealField;
    type Simd: SimdCtx;
    type ScalarSimd: SimdCtx;
    type PortableSimd: SimdCtx;

Show 54 methods // Required methods fn faer_from_f64(value: f64) -> Self; fn faer_add(self, rhs: Self) -> Self; fn faer_sub(self, rhs: Self) -> Self; fn faer_mul(self, rhs: Self) -> Self; fn faer_neg(self) -> Self; fn faer_inv(self) -> Self; fn faer_conj(self) -> Self; fn faer_sqrt(self) -> Self; fn faer_scale_real(self, rhs: Self::Real) -> Self; fn faer_scale_power_of_two(self, rhs: Self::Real) -> Self; fn faer_score(self) -> Self::Real; fn faer_abs(self) -> Self::Real; fn faer_abs2(self) -> Self::Real; fn faer_nan() -> Self; fn faer_from_real(real: Self::Real) -> Self; fn faer_real(self) -> Self::Real; fn faer_imag(self) -> Self::Real; fn faer_zero() -> Self; fn faer_one() -> Self; fn faer_align_offset<S>( simd: S, ptr: *const Self::Unit, len: usize, ) -> Offset<Self::SimdMask<S>> where S: Simd; fn faer_slice_as_aligned_simd<S>( simd: S, slice: &[Self::Unit], offset: Offset<Self::SimdMask<S>>, ) -> (Self::PrefixUnit<'_, S>, &[Self::SimdUnit<S>], Self::SuffixUnit<'_, S>) where S: Simd; fn faer_slice_as_aligned_simd_mut<S>( simd: S, slice: &mut [Self::Unit], offset: Offset<Self::SimdMask<S>>, ) -> (Self::PrefixMutUnit<'_, S>, &mut [Self::SimdUnit<S>], Self::SuffixMutUnit<'_, S>) where S: Simd; fn faer_slice_as_simd<S>( slice: &[Self::Unit], ) -> (&[Self::SimdUnit<S>], &[Self::Unit]) where S: Simd; fn faer_slice_as_simd_mut<S>( slice: &mut [Self::Unit], ) -> (&mut [Self::SimdUnit<S>], &mut [Self::Unit]) where S: Simd; fn faer_partial_load_unit<S>( simd: S, slice: &[Self::Unit], ) -> Self::SimdUnit<S> where S: Simd; fn faer_partial_store_unit<S>( simd: S, slice: &mut [Self::Unit], values: Self::SimdUnit<S>, ) where S: Simd; fn faer_partial_load_last_unit<S>( simd: S, slice: &[Self::Unit], ) -> Self::SimdUnit<S> where S: Simd; fn faer_partial_store_last_unit<S>( simd: S, slice: &mut [Self::Unit], values: Self::SimdUnit<S>, ) where S: Simd; fn faer_simd_splat_unit<S>(simd: S, unit: Self::Unit) -> Self::SimdUnit<S> where S: Simd; fn faer_simd_scalar_mul<S>(simd: S, lhs: Self, rhs: Self) -> Self where S: Simd; fn faer_simd_scalar_conj_mul<S>(simd: S, lhs: Self, rhs: Self) -> Self where S: Simd; fn faer_simd_scalar_mul_adde<S>( simd: S, lhs: Self, rhs: Self, acc: Self, ) -> Self where S: Simd; fn faer_simd_scalar_conj_mul_adde<S>( simd: S, lhs: Self, rhs: Self, acc: Self, ) -> Self where S: Simd; fn faer_simd_neg<S>( simd: S, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd; fn faer_simd_conj<S>( simd: S, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd; fn faer_simd_rotate_left<S>( simd: S, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, amount: usize, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd; fn faer_simd_add<S>( simd: S, lhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd; fn faer_simd_sub<S>( simd: S, lhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd; fn faer_simd_mul<S>( simd: S, lhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd; fn faer_simd_scale_real<S>( simd: S, lhs: <<Self::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<Self::Real as Entity>::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd; fn faer_simd_conj_mul<S>( simd: S, lhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd; fn faer_simd_mul_adde<S>( simd: S, lhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, acc: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd; fn faer_simd_conj_mul_adde<S>( simd: S, lhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, acc: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd; fn faer_simd_abs2_adde<S>( simd: S, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, acc: <<Self::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<Self::Real as Entity>::SimdUnit<S>>, ) -> <<Self::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<Self::Real as Entity>::SimdUnit<S>> where S: Simd; fn faer_simd_abs2<S>( simd: S, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <<Self::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<Self::Real as Entity>::SimdUnit<S>> where S: Simd; fn faer_simd_score<S>( simd: S, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <<Self::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<Self::Real as Entity>::SimdUnit<S>> where S: Simd; // Provided methods fn faer_is_nan(&self) -> bool { ... } fn faer_is_finite(&self) -> bool { ... } fn faer_partial_load<S>( simd: S, slice: <Self::Group as ForType>::FaerOf<&[Self::Unit]>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd { ... } fn faer_partial_store<S>( simd: S, slice: <Self::Group as ForType>::FaerOf<&mut [Self::Unit]>, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) where S: Simd { ... } fn faer_partial_load_last<S>( simd: S, slice: <Self::Group as ForType>::FaerOf<&[Self::Unit]>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd { ... } fn faer_partial_store_last<S>( simd: S, slice: <Self::Group as ForType>::FaerOf<&mut [Self::Unit]>, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) where S: Simd { ... } fn faer_simd_splat<S>( simd: S, value: Self, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>> where S: Simd { ... } fn faer_simd_reduce_add<S>( simd: S, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> Self where S: Simd { ... }
}
Expand description

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

Required Associated Types§

type Real: RealField

type Simd: SimdCtx

type ScalarSimd: SimdCtx

type PortableSimd: SimdCtx

Required Methods§

fn faer_from_f64(value: f64) -> Self

Converts value from f64 to Self.
The conversion may be lossy when converting to a type with less precision.

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

Returns self + rhs.

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

Returns self - rhs.

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

Returns self * rhs.

fn faer_neg(self) -> Self

Returns -self.

fn faer_inv(self) -> Self

Returns 1.0/self.

fn faer_conj(self) -> Self

Returns conjugate(self).

fn faer_sqrt(self) -> Self

Returns the square root of self.

fn faer_scale_real(self, rhs: Self::Real) -> Self

Returns the input, scaled by rhs.

fn faer_scale_power_of_two(self, rhs: Self::Real) -> Self

Returns the input, scaled by rhs.

fn faer_score(self) -> Self::Real

Returns either the norm or squared norm of the number.

An implementation may choose either, so long as it chooses consistently.

fn faer_abs(self) -> Self::Real

Returns the absolute value of self.

fn faer_abs2(self) -> Self::Real

Returns the squared absolute value of self.

fn faer_nan() -> Self

Returns a NaN value.

fn faer_from_real(real: Self::Real) -> Self

Returns a complex number whose real part is equal to real, and a zero imaginary part.

fn faer_real(self) -> Self::Real

Returns the real part.

fn faer_imag(self) -> Self::Real

Returns the imaginary part.

fn faer_zero() -> Self

Returns 0.0.

fn faer_one() -> Self

Returns 1.0.

fn faer_align_offset<S>( simd: S, ptr: *const Self::Unit, len: usize, ) -> Offset<Self::SimdMask<S>>
where S: Simd,

fn faer_slice_as_aligned_simd<S>( simd: S, slice: &[Self::Unit], offset: Offset<Self::SimdMask<S>>, ) -> (Self::PrefixUnit<'_, S>, &[Self::SimdUnit<S>], Self::SuffixUnit<'_, S>)
where S: Simd,

fn faer_slice_as_aligned_simd_mut<S>( simd: S, slice: &mut [Self::Unit], offset: Offset<Self::SimdMask<S>>, ) -> (Self::PrefixMutUnit<'_, S>, &mut [Self::SimdUnit<S>], Self::SuffixMutUnit<'_, S>)
where S: Simd,

fn faer_slice_as_simd<S>( slice: &[Self::Unit], ) -> (&[Self::SimdUnit<S>], &[Self::Unit])
where S: Simd,

fn faer_slice_as_simd_mut<S>( slice: &mut [Self::Unit], ) -> (&mut [Self::SimdUnit<S>], &mut [Self::Unit])
where S: Simd,

fn faer_partial_load_unit<S>(simd: S, slice: &[Self::Unit]) -> Self::SimdUnit<S>
where S: Simd,

fn faer_partial_store_unit<S>( simd: S, slice: &mut [Self::Unit], values: Self::SimdUnit<S>, )
where S: Simd,

fn faer_partial_load_last_unit<S>( simd: S, slice: &[Self::Unit], ) -> Self::SimdUnit<S>
where S: Simd,

fn faer_partial_store_last_unit<S>( simd: S, slice: &mut [Self::Unit], values: Self::SimdUnit<S>, )
where S: Simd,

fn faer_simd_splat_unit<S>(simd: S, unit: Self::Unit) -> Self::SimdUnit<S>
where S: Simd,

fn faer_simd_scalar_mul<S>(simd: S, lhs: Self, rhs: Self) -> Self
where S: Simd,

fn faer_simd_scalar_conj_mul<S>(simd: S, lhs: Self, rhs: Self) -> Self
where S: Simd,

fn faer_simd_scalar_mul_adde<S>( simd: S, lhs: Self, rhs: Self, acc: Self, ) -> Self
where S: Simd,

fn faer_simd_scalar_conj_mul_adde<S>( simd: S, lhs: Self, rhs: Self, acc: Self, ) -> Self
where S: Simd,

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

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

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

fn faer_simd_add<S>( simd: S, lhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>
where S: Simd,

fn faer_simd_sub<S>( simd: S, lhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>
where S: Simd,

fn faer_simd_mul<S>( simd: S, lhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>
where S: Simd,

fn faer_simd_scale_real<S>( simd: S, lhs: <<Self::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<Self::Real as Entity>::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>
where S: Simd,

fn faer_simd_conj_mul<S>( simd: S, lhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>
where S: Simd,

fn faer_simd_mul_adde<S>( simd: S, lhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, acc: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>
where S: Simd,

fn faer_simd_conj_mul_adde<S>( simd: S, lhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, rhs: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, acc: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>
where S: Simd,

fn faer_simd_abs2_adde<S>( simd: S, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, acc: <<Self::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<Self::Real as Entity>::SimdUnit<S>>, ) -> <<Self::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<Self::Real as Entity>::SimdUnit<S>>
where S: Simd,

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

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

Provided Methods§

fn faer_is_nan(&self) -> bool

Returns true if self is a NaN value, or false otherwise.

fn faer_is_finite(&self) -> bool

Returns true if self is a NaN value, or false otherwise.

fn faer_partial_load<S>( simd: S, slice: <Self::Group as ForType>::FaerOf<&[Self::Unit]>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>
where S: Simd,

fn faer_partial_store<S>( simd: S, slice: <Self::Group as ForType>::FaerOf<&mut [Self::Unit]>, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, )
where S: Simd,

fn faer_partial_load_last<S>( simd: S, slice: <Self::Group as ForType>::FaerOf<&[Self::Unit]>, ) -> <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>
where S: Simd,

fn faer_partial_store_last<S>( simd: S, slice: <Self::Group as ForType>::FaerOf<&mut [Self::Unit]>, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, )
where S: Simd,

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

fn faer_simd_reduce_add<S>( simd: S, values: <Self::Group as ForCopyType>::FaerOfCopy<Self::SimdUnit<S>>, ) -> Self
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 ComplexField for f32

§

type Real = f32

§

type Simd = Arch

§

type ScalarSimd = NoSimd

§

type PortableSimd = Arch

§

fn faer_from_f64(value: f64) -> f32

§

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

§

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

§

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

§

fn faer_neg(self) -> f32

§

fn faer_inv(self) -> f32

§

fn faer_conj(self) -> f32

§

fn faer_sqrt(self) -> f32

§

fn faer_scale_real(self, rhs: <f32 as ComplexField>::Real) -> f32

§

fn faer_scale_power_of_two(self, rhs: <f32 as ComplexField>::Real) -> f32

§

fn faer_score(self) -> <f32 as ComplexField>::Real

§

fn faer_abs(self) -> <f32 as ComplexField>::Real

§

fn faer_abs2(self) -> <f32 as ComplexField>::Real

§

fn faer_nan() -> f32

§

fn faer_from_real(real: <f32 as ComplexField>::Real) -> f32

§

fn faer_real(self) -> <f32 as ComplexField>::Real

§

fn faer_imag(self) -> <f32 as ComplexField>::Real

§

fn faer_zero() -> f32

§

fn faer_one() -> f32

§

fn faer_align_offset<S>( simd: S, ptr: *const <f32 as Entity>::Unit, len: usize, ) -> Offset<<f32 as Entity>::SimdMask<S>>
where S: Simd,

§

fn faer_slice_as_aligned_simd<S>( simd: S, slice: &[<f32 as Entity>::Unit], offset: Offset<<f32 as Entity>::SimdMask<S>>, ) -> (Prefix<'_, <f32 as Entity>::Unit, S, <f32 as Entity>::SimdMask<S>>, &[<f32 as Entity>::SimdUnit<S>], Suffix<'_, <f32 as Entity>::Unit, S, <f32 as Entity>::SimdMask<S>>)
where S: Simd,

§

fn faer_slice_as_aligned_simd_mut<S>( simd: S, slice: &mut [<f32 as Entity>::Unit], offset: Offset<<f32 as Entity>::SimdMask<S>>, ) -> (PrefixMut<'_, <f32 as Entity>::Unit, S, <f32 as Entity>::SimdMask<S>>, &mut [<f32 as Entity>::SimdUnit<S>], SuffixMut<'_, <f32 as Entity>::Unit, S, <f32 as Entity>::SimdMask<S>>)
where S: Simd,

§

fn faer_slice_as_simd<S>( slice: &[<f32 as Entity>::Unit], ) -> (&[<f32 as Entity>::SimdUnit<S>], &[<f32 as Entity>::Unit])
where S: Simd,

§

fn faer_slice_as_simd_mut<S>( slice: &mut [<f32 as Entity>::Unit], ) -> (&mut [<f32 as Entity>::SimdUnit<S>], &mut [<f32 as Entity>::Unit])
where S: Simd,

§

fn faer_partial_load_last_unit<S>( simd: S, slice: &[<f32 as Entity>::Unit], ) -> <f32 as Entity>::SimdUnit<S>
where S: Simd,

§

fn faer_partial_store_last_unit<S>( simd: S, slice: &mut [<f32 as Entity>::Unit], values: <f32 as Entity>::SimdUnit<S>, )
where S: Simd,

§

fn faer_partial_load_unit<S>( simd: S, slice: &[<f32 as Entity>::Unit], ) -> <f32 as Entity>::SimdUnit<S>
where S: Simd,

§

fn faer_partial_store_unit<S>( simd: S, slice: &mut [<f32 as Entity>::Unit], values: <f32 as Entity>::SimdUnit<S>, )
where S: Simd,

§

fn faer_simd_splat_unit<S>( simd: S, unit: <f32 as Entity>::Unit, ) -> <f32 as Entity>::SimdUnit<S>
where S: Simd,

§

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

§

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

§

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

§

fn faer_simd_add<S>( simd: S, lhs: <<f32 as Entity>::Group as ForCopyType>::FaerOfCopy<<f32 as Entity>::SimdUnit<S>>, rhs: <<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_sub<S>( simd: S, lhs: <<f32 as Entity>::Group as ForCopyType>::FaerOfCopy<<f32 as Entity>::SimdUnit<S>>, rhs: <<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_mul<S>( simd: S, lhs: <<f32 as Entity>::Group as ForCopyType>::FaerOfCopy<<f32 as Entity>::SimdUnit<S>>, rhs: <<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_scale_real<S>( simd: S, lhs: <<<f32 as ComplexField>::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<<f32 as ComplexField>::Real as Entity>::SimdUnit<S>>, rhs: <<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_conj_mul<S>( simd: S, lhs: <<f32 as Entity>::Group as ForCopyType>::FaerOfCopy<<f32 as Entity>::SimdUnit<S>>, rhs: <<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_mul_adde<S>( simd: S, lhs: <<f32 as Entity>::Group as ForCopyType>::FaerOfCopy<<f32 as Entity>::SimdUnit<S>>, rhs: <<f32 as Entity>::Group as ForCopyType>::FaerOfCopy<<f32 as Entity>::SimdUnit<S>>, acc: <<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_conj_mul_adde<S>( simd: S, lhs: <<f32 as Entity>::Group as ForCopyType>::FaerOfCopy<<f32 as Entity>::SimdUnit<S>>, rhs: <<f32 as Entity>::Group as ForCopyType>::FaerOfCopy<<f32 as Entity>::SimdUnit<S>>, acc: <<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_reduce_add<S>( simd: S, values: <<f32 as Entity>::Group as ForCopyType>::FaerOfCopy<<f32 as Entity>::SimdUnit<S>>, ) -> f32
where S: Simd,

§

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

§

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

§

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

§

fn faer_simd_scalar_mul<S>(simd: S, lhs: f32, rhs: f32) -> f32
where S: Simd,

§

fn faer_simd_scalar_conj_mul<S>(simd: S, lhs: f32, rhs: f32) -> f32
where S: Simd,

§

fn faer_simd_scalar_mul_adde<S>(simd: S, lhs: f32, rhs: f32, acc: f32) -> f32
where S: Simd,

§

fn faer_simd_scalar_conj_mul_adde<S>( simd: S, lhs: f32, rhs: f32, acc: f32, ) -> f32
where S: Simd,

§

impl ComplexField for f64

§

type Real = f64

§

type Simd = Arch

§

type ScalarSimd = NoSimd

§

type PortableSimd = Arch

§

fn faer_from_f64(value: f64) -> f64

§

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

§

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

§

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

§

fn faer_neg(self) -> f64

§

fn faer_inv(self) -> f64

§

fn faer_conj(self) -> f64

§

fn faer_sqrt(self) -> f64

§

fn faer_scale_real(self, rhs: <f64 as ComplexField>::Real) -> f64

§

fn faer_scale_power_of_two(self, rhs: <f64 as ComplexField>::Real) -> f64

§

fn faer_score(self) -> <f64 as ComplexField>::Real

§

fn faer_abs(self) -> <f64 as ComplexField>::Real

§

fn faer_abs2(self) -> <f64 as ComplexField>::Real

§

fn faer_nan() -> f64

§

fn faer_from_real(real: <f64 as ComplexField>::Real) -> f64

§

fn faer_real(self) -> <f64 as ComplexField>::Real

§

fn faer_imag(self) -> <f64 as ComplexField>::Real

§

fn faer_zero() -> f64

§

fn faer_one() -> f64

§

fn faer_align_offset<S>( simd: S, ptr: *const <f64 as Entity>::Unit, len: usize, ) -> Offset<<f64 as Entity>::SimdMask<S>>
where S: Simd,

§

fn faer_slice_as_aligned_simd<S>( simd: S, slice: &[<f64 as Entity>::Unit], offset: Offset<<f64 as Entity>::SimdMask<S>>, ) -> (Prefix<'_, <f64 as Entity>::Unit, S, <f64 as Entity>::SimdMask<S>>, &[<f64 as Entity>::SimdUnit<S>], Suffix<'_, <f64 as Entity>::Unit, S, <f64 as Entity>::SimdMask<S>>)
where S: Simd,

§

fn faer_slice_as_aligned_simd_mut<S>( simd: S, slice: &mut [<f64 as Entity>::Unit], offset: Offset<<f64 as Entity>::SimdMask<S>>, ) -> (PrefixMut<'_, <f64 as Entity>::Unit, S, <f64 as Entity>::SimdMask<S>>, &mut [<f64 as Entity>::SimdUnit<S>], SuffixMut<'_, <f64 as Entity>::Unit, S, <f64 as Entity>::SimdMask<S>>)
where S: Simd,

§

fn faer_slice_as_simd<S>( slice: &[<f64 as Entity>::Unit], ) -> (&[<f64 as Entity>::SimdUnit<S>], &[<f64 as Entity>::Unit])
where S: Simd,

§

fn faer_slice_as_simd_mut<S>( slice: &mut [<f64 as Entity>::Unit], ) -> (&mut [<f64 as Entity>::SimdUnit<S>], &mut [<f64 as Entity>::Unit])
where S: Simd,

§

fn faer_partial_load_last_unit<S>( simd: S, slice: &[<f64 as Entity>::Unit], ) -> <f64 as Entity>::SimdUnit<S>
where S: Simd,

§

fn faer_partial_store_last_unit<S>( simd: S, slice: &mut [<f64 as Entity>::Unit], values: <f64 as Entity>::SimdUnit<S>, )
where S: Simd,

§

fn faer_partial_load_unit<S>( simd: S, slice: &[<f64 as Entity>::Unit], ) -> <f64 as Entity>::SimdUnit<S>
where S: Simd,

§

fn faer_partial_store_unit<S>( simd: S, slice: &mut [<f64 as Entity>::Unit], values: <f64 as Entity>::SimdUnit<S>, )
where S: Simd,

§

fn faer_simd_splat_unit<S>( simd: S, unit: <f64 as Entity>::Unit, ) -> <f64 as Entity>::SimdUnit<S>
where S: Simd,

§

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

§

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

§

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

§

fn faer_simd_add<S>( simd: S, lhs: <<f64 as Entity>::Group as ForCopyType>::FaerOfCopy<<f64 as Entity>::SimdUnit<S>>, rhs: <<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_sub<S>( simd: S, lhs: <<f64 as Entity>::Group as ForCopyType>::FaerOfCopy<<f64 as Entity>::SimdUnit<S>>, rhs: <<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_mul<S>( simd: S, lhs: <<f64 as Entity>::Group as ForCopyType>::FaerOfCopy<<f64 as Entity>::SimdUnit<S>>, rhs: <<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_scale_real<S>( simd: S, lhs: <<<f64 as ComplexField>::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<<f64 as ComplexField>::Real as Entity>::SimdUnit<S>>, rhs: <<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_conj_mul<S>( simd: S, lhs: <<f64 as Entity>::Group as ForCopyType>::FaerOfCopy<<f64 as Entity>::SimdUnit<S>>, rhs: <<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_mul_adde<S>( simd: S, lhs: <<f64 as Entity>::Group as ForCopyType>::FaerOfCopy<<f64 as Entity>::SimdUnit<S>>, rhs: <<f64 as Entity>::Group as ForCopyType>::FaerOfCopy<<f64 as Entity>::SimdUnit<S>>, acc: <<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_conj_mul_adde<S>( simd: S, lhs: <<f64 as Entity>::Group as ForCopyType>::FaerOfCopy<<f64 as Entity>::SimdUnit<S>>, rhs: <<f64 as Entity>::Group as ForCopyType>::FaerOfCopy<<f64 as Entity>::SimdUnit<S>>, acc: <<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_reduce_add<S>( simd: S, values: <<f64 as Entity>::Group as ForCopyType>::FaerOfCopy<<f64 as Entity>::SimdUnit<S>>, ) -> f64
where S: Simd,

§

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

§

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

§

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

§

fn faer_simd_scalar_mul<S>(simd: S, lhs: f64, rhs: f64) -> f64
where S: Simd,

§

fn faer_simd_scalar_conj_mul<S>(simd: S, lhs: f64, rhs: f64) -> f64
where S: Simd,

§

fn faer_simd_scalar_mul_adde<S>(simd: S, lhs: f64, rhs: f64, acc: f64) -> f64
where S: Simd,

§

fn faer_simd_scalar_conj_mul_adde<S>( simd: S, lhs: f64, rhs: f64, acc: f64, ) -> f64
where S: Simd,

§

impl<E> ComplexField for Complex<E>
where E: RealField,

§

type Real = E

§

type Simd = <E as ComplexField>::Simd

§

type ScalarSimd = <E as ComplexField>::ScalarSimd

§

type PortableSimd = <E as ComplexField>::PortableSimd

§

fn faer_from_f64(value: f64) -> Complex<E>

§

fn faer_add(self, rhs: Complex<E>) -> Complex<E>

§

fn faer_sub(self, rhs: Complex<E>) -> Complex<E>

§

fn faer_mul(self, rhs: Complex<E>) -> Complex<E>

§

fn faer_neg(self) -> Complex<E>

§

fn faer_inv(self) -> Complex<E>

§

fn faer_conj(self) -> Complex<E>

§

fn faer_sqrt(self) -> Complex<E>

§

fn faer_scale_real(self, rhs: <Complex<E> as ComplexField>::Real) -> Complex<E>

§

fn faer_scale_power_of_two( self, rhs: <Complex<E> as ComplexField>::Real, ) -> Complex<E>

§

fn faer_score(self) -> <Complex<E> as ComplexField>::Real

§

fn faer_abs(self) -> <Complex<E> as ComplexField>::Real

§

fn faer_abs2(self) -> <Complex<E> as ComplexField>::Real

§

fn faer_nan() -> Complex<E>

§

fn faer_from_real(real: <Complex<E> as ComplexField>::Real) -> Complex<E>

§

fn faer_real(self) -> <Complex<E> as ComplexField>::Real

§

fn faer_imag(self) -> <Complex<E> as ComplexField>::Real

§

fn faer_zero() -> Complex<E>

§

fn faer_one() -> Complex<E>

§

fn faer_align_offset<S>( simd: S, ptr: *const <Complex<E> as Entity>::Unit, len: usize, ) -> Offset<<Complex<E> as Entity>::SimdMask<S>>
where S: Simd,

§

fn faer_slice_as_aligned_simd<S>( simd: S, slice: &[<Complex<E> as Entity>::Unit], offset: Offset<<Complex<E> as Entity>::SimdMask<S>>, ) -> (<Complex<E> as Entity>::PrefixUnit<'_, S>, &[<Complex<E> as Entity>::SimdUnit<S>], <Complex<E> as Entity>::SuffixUnit<'_, S>)
where S: Simd,

§

fn faer_slice_as_aligned_simd_mut<S>( simd: S, slice: &mut [<Complex<E> as Entity>::Unit], offset: Offset<<Complex<E> as Entity>::SimdMask<S>>, ) -> (<Complex<E> as Entity>::PrefixMutUnit<'_, S>, &mut [<Complex<E> as Entity>::SimdUnit<S>], <Complex<E> as Entity>::SuffixMutUnit<'_, S>)
where S: Simd,

§

fn faer_slice_as_simd<S>( slice: &[<Complex<E> as Entity>::Unit], ) -> (&[<Complex<E> as Entity>::SimdUnit<S>], &[<Complex<E> as Entity>::Unit])
where S: Simd,

§

fn faer_slice_as_simd_mut<S>( slice: &mut [<Complex<E> as Entity>::Unit], ) -> (&mut [<Complex<E> as Entity>::SimdUnit<S>], &mut [<Complex<E> as Entity>::Unit])
where S: Simd,

§

fn faer_partial_load_last_unit<S>( simd: S, slice: &[<Complex<E> as Entity>::Unit], ) -> <Complex<E> as Entity>::SimdUnit<S>
where S: Simd,

§

fn faer_partial_store_last_unit<S>( simd: S, slice: &mut [<Complex<E> as Entity>::Unit], values: <Complex<E> as Entity>::SimdUnit<S>, )
where S: Simd,

§

fn faer_partial_load_unit<S>( simd: S, slice: &[<Complex<E> as Entity>::Unit], ) -> <Complex<E> as Entity>::SimdUnit<S>
where S: Simd,

§

fn faer_partial_store_unit<S>( simd: S, slice: &mut [<Complex<E> as Entity>::Unit], values: <Complex<E> as Entity>::SimdUnit<S>, )
where S: Simd,

§

fn faer_simd_splat_unit<S>( simd: S, unit: <Complex<E> as Entity>::Unit, ) -> <Complex<E> as Entity>::SimdUnit<S>
where S: Simd,

§

fn faer_simd_neg<S>( simd: S, values: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, ) -> <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>
where S: Simd,

§

fn faer_simd_conj<S>( simd: S, values: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, ) -> <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>
where S: Simd,

§

fn faer_simd_rotate_left<S>( simd: S, values: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, amount: usize, ) -> <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>
where S: Simd,

§

fn faer_simd_add<S>( simd: S, lhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, rhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, ) -> <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>
where S: Simd,

§

fn faer_simd_sub<S>( simd: S, lhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, rhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, ) -> <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>
where S: Simd,

§

fn faer_simd_scalar_mul<S>( simd: S, lhs: Complex<E>, rhs: Complex<E>, ) -> Complex<E>
where S: Simd,

§

fn faer_simd_scalar_mul_adde<S>( simd: S, lhs: Complex<E>, rhs: Complex<E>, acc: Complex<E>, ) -> Complex<E>
where S: Simd,

§

fn faer_simd_scalar_conj_mul_adde<S>( simd: S, lhs: Complex<E>, rhs: Complex<E>, acc: Complex<E>, ) -> Complex<E>
where S: Simd,

§

fn faer_simd_scalar_conj_mul<S>( simd: S, lhs: Complex<E>, rhs: Complex<E>, ) -> Complex<E>
where S: Simd,

§

fn faer_simd_mul<S>( simd: S, lhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, rhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, ) -> <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>
where S: Simd,

§

fn faer_simd_scale_real<S>( simd: S, lhs: <<<Complex<E> as ComplexField>::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<<Complex<E> as ComplexField>::Real as Entity>::SimdUnit<S>>, rhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, ) -> <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>
where S: Simd,

§

fn faer_simd_conj_mul<S>( simd: S, lhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, rhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, ) -> <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>
where S: Simd,

§

fn faer_simd_mul_adde<S>( simd: S, lhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, rhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, acc: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, ) -> <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>
where S: Simd,

§

fn faer_simd_conj_mul_adde<S>( simd: S, lhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, rhs: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, acc: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, ) -> <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>
where S: Simd,

§

fn faer_simd_abs2_adde<S>( simd: S, values: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, acc: <<<Complex<E> as ComplexField>::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<<Complex<E> as ComplexField>::Real as Entity>::SimdUnit<S>>, ) -> <<<Complex<E> as ComplexField>::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<<Complex<E> as ComplexField>::Real as Entity>::SimdUnit<S>>
where S: Simd,

§

fn faer_simd_abs2<S>( simd: S, values: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, ) -> <<<Complex<E> as ComplexField>::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<<Complex<E> as ComplexField>::Real as Entity>::SimdUnit<S>>
where S: Simd,

§

fn faer_simd_score<S>( simd: S, values: <<Complex<E> as Entity>::Group as ForCopyType>::FaerOfCopy<<Complex<E> as Entity>::SimdUnit<S>>, ) -> <<<Complex<E> as ComplexField>::Real as Entity>::Group as ForCopyType>::FaerOfCopy<<<Complex<E> as ComplexField>::Real as Entity>::SimdUnit<S>>
where S: Simd,

Implementors§

§

impl ComplexField for c32

§

type Real = f32

§

type Simd = Arch

§

type ScalarSimd = NoSimd

§

type PortableSimd = Arch

§

impl ComplexField for c64

§

type Real = f64

§

type Simd = Arch

§

type ScalarSimd = NoSimd

§

type PortableSimd = Arch

§

impl ComplexField for Symbolic

§

type Real = Symbolic

§

type Simd = NoSimd

§

type ScalarSimd = NoSimd

§

type PortableSimd = NoSimd