faer_entity

Trait ComplexField

Source
pub trait ComplexField:
    Entity
    + Conjugate<Canonical = Self>
    + Neg<Output = Self>
    + Add<Self, Output = Self>
    + Sub<Self, Output = Self>
    + Mul<Self, Output = Self>
    + AddAssign<Self>
    + SubAssign<Self>
    + MulAssign<Self> {
    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>( simd: S, ptr: *const UnitFor<Self>, len: usize, ) -> Offset<SimdMaskFor<Self, S>>; fn faer_slice_as_aligned_simd<S: Simd>( simd: S, slice: &[UnitFor<Self>], offset: Offset<SimdMaskFor<Self, S>>, ) -> (Self::PrefixUnit<'_, S>, &[SimdUnitFor<Self, S>], Self::SuffixUnit<'_, S>); fn faer_slice_as_aligned_simd_mut<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], offset: Offset<SimdMaskFor<Self, S>>, ) -> (Self::PrefixMutUnit<'_, S>, &mut [SimdUnitFor<Self, S>], Self::SuffixMutUnit<'_, S>); fn faer_slice_as_simd<S: Simd>( slice: &[UnitFor<Self>], ) -> (&[SimdUnitFor<Self, S>], &[UnitFor<Self>]); fn faer_slice_as_simd_mut<S: Simd>( slice: &mut [UnitFor<Self>], ) -> (&mut [SimdUnitFor<Self, S>], &mut [UnitFor<Self>]); fn faer_partial_load_unit<S: Simd>( simd: S, slice: &[UnitFor<Self>], ) -> SimdUnitFor<Self, S>; fn faer_partial_store_unit<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], values: SimdUnitFor<Self, S>, ); fn faer_partial_load_last_unit<S: Simd>( simd: S, slice: &[UnitFor<Self>], ) -> SimdUnitFor<Self, S>; fn faer_partial_store_last_unit<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], values: SimdUnitFor<Self, S>, ); fn faer_simd_splat_unit<S: Simd>( simd: S, unit: UnitFor<Self>, ) -> SimdUnitFor<Self, S>; fn faer_simd_scalar_mul<S: Simd>(simd: S, lhs: Self, rhs: Self) -> Self; fn faer_simd_scalar_conj_mul<S: Simd>(simd: S, lhs: Self, rhs: Self) -> Self; fn faer_simd_scalar_mul_adde<S: Simd>( simd: S, lhs: Self, rhs: Self, acc: Self, ) -> Self; fn faer_simd_scalar_conj_mul_adde<S: Simd>( simd: S, lhs: Self, rhs: Self, acc: Self, ) -> Self; fn faer_simd_neg<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>; fn faer_simd_conj<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>; fn faer_simd_rotate_left<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, amount: usize, ) -> SimdGroupFor<Self, S>; fn faer_simd_add<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>; fn faer_simd_sub<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>; fn faer_simd_mul<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>; fn faer_simd_scale_real<S: Simd>( simd: S, lhs: SimdGroupFor<Self::Real, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>; fn faer_simd_conj_mul<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>; fn faer_simd_mul_adde<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>; fn faer_simd_conj_mul_adde<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>; fn faer_simd_abs2_adde<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self::Real, S>, ) -> SimdGroupFor<Self::Real, S>; fn faer_simd_abs2<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self::Real, S>; fn faer_simd_score<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self::Real, S>; // Provided methods fn faer_is_nan(&self) -> bool { ... } fn faer_is_finite(&self) -> bool { ... } fn faer_partial_load<S: Simd>( simd: S, slice: GroupFor<Self, &[UnitFor<Self>]>, ) -> SimdGroupFor<Self, S> { ... } fn faer_partial_store<S: Simd>( simd: S, slice: GroupFor<Self, &mut [UnitFor<Self>]>, values: SimdGroupFor<Self, S>, ) { ... } fn faer_partial_load_last<S: Simd>( simd: S, slice: GroupFor<Self, &[UnitFor<Self>]>, ) -> SimdGroupFor<Self, S> { ... } fn faer_partial_store_last<S: Simd>( simd: S, slice: GroupFor<Self, &mut [UnitFor<Self>]>, values: SimdGroupFor<Self, S>, ) { ... } fn faer_simd_splat<S: Simd>(simd: S, value: Self) -> SimdGroupFor<Self, S> { ... } fn faer_simd_reduce_add<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, ) -> Self { ... }
}
Expand description

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

Required Associated Types§

Required Methods§

Source

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.

Source

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

Returns self + rhs.

Source

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

Returns self - rhs.

Source

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

Returns self * rhs.

Source

fn faer_neg(self) -> Self

Returns -self.

Source

fn faer_inv(self) -> Self

Returns 1.0/self.

Source

fn faer_conj(self) -> Self

Returns conjugate(self).

Source

fn faer_sqrt(self) -> Self

Returns the square root of self.

Source

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

Returns the input, scaled by rhs.

Source

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

Returns the input, scaled by rhs.

Source

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.

Source

fn faer_abs(self) -> Self::Real

Returns the absolute value of self.

Source

fn faer_abs2(self) -> Self::Real

Returns the squared absolute value of self.

Source

fn faer_nan() -> Self

Returns a NaN value.

Source

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

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

Source

fn faer_real(self) -> Self::Real

Returns the real part.

Source

fn faer_imag(self) -> Self::Real

Returns the imaginary part.

Source

fn faer_zero() -> Self

Returns 0.0.

Source

fn faer_one() -> Self

Returns 1.0.

Source

fn faer_align_offset<S: Simd>( simd: S, ptr: *const UnitFor<Self>, len: usize, ) -> Offset<SimdMaskFor<Self, S>>

Source

fn faer_slice_as_aligned_simd<S: Simd>( simd: S, slice: &[UnitFor<Self>], offset: Offset<SimdMaskFor<Self, S>>, ) -> (Self::PrefixUnit<'_, S>, &[SimdUnitFor<Self, S>], Self::SuffixUnit<'_, S>)

Source

fn faer_slice_as_aligned_simd_mut<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], offset: Offset<SimdMaskFor<Self, S>>, ) -> (Self::PrefixMutUnit<'_, S>, &mut [SimdUnitFor<Self, S>], Self::SuffixMutUnit<'_, S>)

Source

fn faer_slice_as_simd<S: Simd>( slice: &[UnitFor<Self>], ) -> (&[SimdUnitFor<Self, S>], &[UnitFor<Self>])

Source

fn faer_slice_as_simd_mut<S: Simd>( slice: &mut [UnitFor<Self>], ) -> (&mut [SimdUnitFor<Self, S>], &mut [UnitFor<Self>])

Source

fn faer_partial_load_unit<S: Simd>( simd: S, slice: &[UnitFor<Self>], ) -> SimdUnitFor<Self, S>

Source

fn faer_partial_store_unit<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], values: SimdUnitFor<Self, S>, )

Source

fn faer_partial_load_last_unit<S: Simd>( simd: S, slice: &[UnitFor<Self>], ) -> SimdUnitFor<Self, S>

Source

fn faer_partial_store_last_unit<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], values: SimdUnitFor<Self, S>, )

Source

fn faer_simd_splat_unit<S: Simd>( simd: S, unit: UnitFor<Self>, ) -> SimdUnitFor<Self, S>

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

fn faer_simd_rotate_left<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, amount: usize, ) -> SimdGroupFor<Self, S>

Source

fn faer_simd_add<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source

fn faer_simd_sub<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source

fn faer_simd_mul<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source

fn faer_simd_scale_real<S: Simd>( simd: S, lhs: SimdGroupFor<Self::Real, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source

fn faer_simd_conj_mul<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source

fn faer_simd_mul_adde<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source

fn faer_simd_conj_mul_adde<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source

fn faer_simd_abs2_adde<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self::Real, S>, ) -> SimdGroupFor<Self::Real, S>

Source

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

Source

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

Provided Methods§

Source

fn faer_is_nan(&self) -> bool

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

Source

fn faer_is_finite(&self) -> bool

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

Source

fn faer_partial_load<S: Simd>( simd: S, slice: GroupFor<Self, &[UnitFor<Self>]>, ) -> SimdGroupFor<Self, S>

Source

fn faer_partial_store<S: Simd>( simd: S, slice: GroupFor<Self, &mut [UnitFor<Self>]>, values: SimdGroupFor<Self, S>, )

Source

fn faer_partial_load_last<S: Simd>( simd: S, slice: GroupFor<Self, &[UnitFor<Self>]>, ) -> SimdGroupFor<Self, S>

Source

fn faer_partial_store_last<S: Simd>( simd: S, slice: GroupFor<Self, &mut [UnitFor<Self>]>, values: SimdGroupFor<Self, S>, )

Source

fn faer_simd_splat<S: Simd>(simd: S, value: Self) -> SimdGroupFor<Self, S>

Source

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

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 ComplexField for f32

Source§

type Real = f32

Source§

type Simd = Arch

Source§

type ScalarSimd = NoSimd

Source§

type PortableSimd = Arch

Source§

fn faer_from_f64(value: f64) -> Self

Source§

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

Source§

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

Source§

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

Source§

fn faer_neg(self) -> Self

Source§

fn faer_inv(self) -> Self

Source§

fn faer_conj(self) -> Self

Source§

fn faer_sqrt(self) -> Self

Source§

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

Source§

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

Source§

fn faer_score(self) -> Self::Real

Source§

fn faer_abs(self) -> Self::Real

Source§

fn faer_abs2(self) -> Self::Real

Source§

fn faer_nan() -> Self

Source§

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

Source§

fn faer_real(self) -> Self::Real

Source§

fn faer_imag(self) -> Self::Real

Source§

fn faer_zero() -> Self

Source§

fn faer_one() -> Self

Source§

fn faer_align_offset<S: Simd>( simd: S, ptr: *const UnitFor<Self>, len: usize, ) -> Offset<SimdMaskFor<Self, S>>

Source§

fn faer_slice_as_aligned_simd<S: Simd>( simd: S, slice: &[UnitFor<Self>], offset: Offset<SimdMaskFor<Self, S>>, ) -> (Prefix<'_, UnitFor<Self>, S, SimdMaskFor<Self, S>>, &[SimdUnitFor<Self, S>], Suffix<'_, UnitFor<Self>, S, SimdMaskFor<Self, S>>)

Source§

fn faer_slice_as_aligned_simd_mut<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], offset: Offset<SimdMaskFor<Self, S>>, ) -> (PrefixMut<'_, UnitFor<Self>, S, SimdMaskFor<Self, S>>, &mut [SimdUnitFor<Self, S>], SuffixMut<'_, UnitFor<Self>, S, SimdMaskFor<Self, S>>)

Source§

fn faer_slice_as_simd<S: Simd>( slice: &[UnitFor<Self>], ) -> (&[SimdUnitFor<Self, S>], &[UnitFor<Self>])

Source§

fn faer_slice_as_simd_mut<S: Simd>( slice: &mut [UnitFor<Self>], ) -> (&mut [SimdUnitFor<Self, S>], &mut [UnitFor<Self>])

Source§

fn faer_partial_load_last_unit<S: Simd>( simd: S, slice: &[UnitFor<Self>], ) -> SimdUnitFor<Self, S>

Source§

fn faer_partial_store_last_unit<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], values: SimdUnitFor<Self, S>, )

Source§

fn faer_partial_load_unit<S: Simd>( simd: S, slice: &[UnitFor<Self>], ) -> SimdUnitFor<Self, S>

Source§

fn faer_partial_store_unit<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], values: SimdUnitFor<Self, S>, )

Source§

fn faer_simd_splat_unit<S: Simd>( simd: S, unit: UnitFor<Self>, ) -> SimdUnitFor<Self, S>

Source§

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

Source§

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

Source§

fn faer_simd_rotate_left<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, amount: usize, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_add<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_sub<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_mul<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_scale_real<S: Simd>( simd: S, lhs: SimdGroupFor<Self::Real, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_conj_mul<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_mul_adde<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_conj_mul_adde<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

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

Source§

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

Source§

fn faer_simd_abs2_adde<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self::Real, S>, ) -> SimdGroupFor<Self::Real, S>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl ComplexField for f64

Source§

type Real = f64

Source§

type Simd = Arch

Source§

type ScalarSimd = NoSimd

Source§

type PortableSimd = Arch

Source§

fn faer_from_f64(value: f64) -> Self

Source§

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

Source§

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

Source§

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

Source§

fn faer_neg(self) -> Self

Source§

fn faer_inv(self) -> Self

Source§

fn faer_conj(self) -> Self

Source§

fn faer_sqrt(self) -> Self

Source§

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

Source§

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

Source§

fn faer_score(self) -> Self::Real

Source§

fn faer_abs(self) -> Self::Real

Source§

fn faer_abs2(self) -> Self::Real

Source§

fn faer_nan() -> Self

Source§

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

Source§

fn faer_real(self) -> Self::Real

Source§

fn faer_imag(self) -> Self::Real

Source§

fn faer_zero() -> Self

Source§

fn faer_one() -> Self

Source§

fn faer_align_offset<S: Simd>( simd: S, ptr: *const UnitFor<Self>, len: usize, ) -> Offset<SimdMaskFor<Self, S>>

Source§

fn faer_slice_as_aligned_simd<S: Simd>( simd: S, slice: &[UnitFor<Self>], offset: Offset<SimdMaskFor<Self, S>>, ) -> (Prefix<'_, UnitFor<Self>, S, SimdMaskFor<Self, S>>, &[SimdUnitFor<Self, S>], Suffix<'_, UnitFor<Self>, S, SimdMaskFor<Self, S>>)

Source§

fn faer_slice_as_aligned_simd_mut<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], offset: Offset<SimdMaskFor<Self, S>>, ) -> (PrefixMut<'_, UnitFor<Self>, S, SimdMaskFor<Self, S>>, &mut [SimdUnitFor<Self, S>], SuffixMut<'_, UnitFor<Self>, S, SimdMaskFor<Self, S>>)

Source§

fn faer_slice_as_simd<S: Simd>( slice: &[UnitFor<Self>], ) -> (&[SimdUnitFor<Self, S>], &[UnitFor<Self>])

Source§

fn faer_slice_as_simd_mut<S: Simd>( slice: &mut [UnitFor<Self>], ) -> (&mut [SimdUnitFor<Self, S>], &mut [UnitFor<Self>])

Source§

fn faer_partial_load_last_unit<S: Simd>( simd: S, slice: &[UnitFor<Self>], ) -> SimdUnitFor<Self, S>

Source§

fn faer_partial_store_last_unit<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], values: SimdUnitFor<Self, S>, )

Source§

fn faer_partial_load_unit<S: Simd>( simd: S, slice: &[UnitFor<Self>], ) -> SimdUnitFor<Self, S>

Source§

fn faer_partial_store_unit<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], values: SimdUnitFor<Self, S>, )

Source§

fn faer_simd_splat_unit<S: Simd>( simd: S, unit: UnitFor<Self>, ) -> SimdUnitFor<Self, S>

Source§

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

Source§

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

Source§

fn faer_simd_rotate_left<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, amount: usize, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_add<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_sub<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_mul<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_scale_real<S: Simd>( simd: S, lhs: SimdGroupFor<Self::Real, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_conj_mul<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_mul_adde<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_conj_mul_adde<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

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

Source§

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

Source§

fn faer_simd_abs2_adde<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self::Real, S>, ) -> SimdGroupFor<Self::Real, S>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

type Real = E

Source§

type Simd = <E as ComplexField>::Simd

Source§

type ScalarSimd = <E as ComplexField>::ScalarSimd

Source§

type PortableSimd = <E as ComplexField>::PortableSimd

Source§

fn faer_from_f64(value: f64) -> Self

Source§

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

Source§

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

Source§

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

Source§

fn faer_neg(self) -> Self

Source§

fn faer_inv(self) -> Self

Source§

fn faer_conj(self) -> Self

Source§

fn faer_sqrt(self) -> Self

Source§

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

Source§

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

Source§

fn faer_score(self) -> Self::Real

Source§

fn faer_abs(self) -> Self::Real

Source§

fn faer_abs2(self) -> Self::Real

Source§

fn faer_nan() -> Self

Source§

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

Source§

fn faer_real(self) -> Self::Real

Source§

fn faer_imag(self) -> Self::Real

Source§

fn faer_zero() -> Self

Source§

fn faer_one() -> Self

Source§

fn faer_align_offset<S: Simd>( simd: S, ptr: *const UnitFor<Self>, len: usize, ) -> Offset<SimdMaskFor<Self, S>>

Source§

fn faer_slice_as_aligned_simd<S: Simd>( simd: S, slice: &[UnitFor<Self>], offset: Offset<SimdMaskFor<Self, S>>, ) -> (Self::PrefixUnit<'_, S>, &[SimdUnitFor<Self, S>], Self::SuffixUnit<'_, S>)

Source§

fn faer_slice_as_aligned_simd_mut<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], offset: Offset<SimdMaskFor<Self, S>>, ) -> (Self::PrefixMutUnit<'_, S>, &mut [SimdUnitFor<Self, S>], Self::SuffixMutUnit<'_, S>)

Source§

fn faer_slice_as_simd<S: Simd>( slice: &[UnitFor<Self>], ) -> (&[SimdUnitFor<Self, S>], &[UnitFor<Self>])

Source§

fn faer_slice_as_simd_mut<S: Simd>( slice: &mut [UnitFor<Self>], ) -> (&mut [SimdUnitFor<Self, S>], &mut [UnitFor<Self>])

Source§

fn faer_partial_load_last_unit<S: Simd>( simd: S, slice: &[UnitFor<Self>], ) -> SimdUnitFor<Self, S>

Source§

fn faer_partial_store_last_unit<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], values: SimdUnitFor<Self, S>, )

Source§

fn faer_partial_load_unit<S: Simd>( simd: S, slice: &[UnitFor<Self>], ) -> SimdUnitFor<Self, S>

Source§

fn faer_partial_store_unit<S: Simd>( simd: S, slice: &mut [UnitFor<Self>], values: SimdUnitFor<Self, S>, )

Source§

fn faer_simd_splat_unit<S: Simd>( simd: S, unit: UnitFor<Self>, ) -> SimdUnitFor<Self, S>

Source§

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

Source§

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

Source§

fn faer_simd_rotate_left<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, amount: usize, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_add<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_sub<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

fn faer_simd_mul<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_scale_real<S: Simd>( simd: S, lhs: SimdGroupFor<Self::Real, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_conj_mul<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_mul_adde<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_conj_mul_adde<S: Simd>( simd: S, lhs: SimdGroupFor<Self, S>, rhs: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>

Source§

fn faer_simd_abs2_adde<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, acc: SimdGroupFor<Self::Real, S>, ) -> SimdGroupFor<Self::Real, S>

Source§

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

Source§

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

Implementors§