pub struct Symbolic;Implementations§
Trait Implementations§
Source§impl AddAssign for Symbolic
impl AddAssign for Symbolic
Source§fn add_assign(&mut self, _: Self)
fn add_assign(&mut self, _: Self)
Performs the
+= operation. Read moreSource§impl ComplexField for Symbolic
impl ComplexField for Symbolic
type Real = Symbolic
type Simd = NoSimd
type ScalarSimd = NoSimd
type PortableSimd = NoSimd
Source§fn faer_from_f64(_value: f64) -> Self
fn faer_from_f64(_value: f64) -> Self
Converts
The conversion may be lossy when converting to a type with less precision.
value from f64 to Self.The conversion may be lossy when converting to a type with less precision.
Source§fn faer_scale_real(self, _rhs: Self::Real) -> Self
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
fn faer_scale_power_of_two(self, _rhs: Self::Real) -> Self
Returns the input, scaled by
rhs.Source§fn faer_score(self) -> Self::Real
fn faer_score(self) -> Self::Real
Returns either the norm or squared norm of the number. Read more
Source§fn faer_from_real(_real: Self::Real) -> Self
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_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: &[Self::Unit], ) -> (&[Self::SimdUnit<S>], &[Self::Unit])
fn faer_slice_as_simd_mut<S: Simd>( slice: &mut [Self::Unit], ) -> (&mut [Self::SimdUnit<S>], &mut [Self::Unit])
fn faer_partial_load_unit<S: Simd>( _simd: S, _slice: &[Self::Unit], ) -> Self::SimdUnit<S>
fn faer_partial_store_unit<S: Simd>( _simd: S, _slice: &mut [Self::Unit], _values: Self::SimdUnit<S>, )
fn faer_partial_load_last_unit<S: Simd>( _simd: S, _slice: &[Self::Unit], ) -> Self::SimdUnit<S>
fn faer_partial_store_last_unit<S: Simd>( _simd: S, _slice: &mut [Self::Unit], _values: Self::SimdUnit<S>, )
fn faer_simd_splat_unit<S: Simd>( _simd: S, _unit: Self::Unit, ) -> Self::SimdUnit<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>
Source§fn faer_is_nan(&self) -> bool
fn faer_is_nan(&self) -> bool
Returns true if
self is a NaN value, or false otherwise.Source§fn faer_is_finite(&self) -> bool
fn faer_is_finite(&self) -> bool
Returns true if
self is a NaN value, or false otherwise.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
Source§impl Conjugate for Symbolic
impl Conjugate for Symbolic
Source§type Conj = Symbolic
type Conj = Symbolic
Must have the same layout as
Self, and Conj::Unit must have the same layout as Unit.Source§type Canonical = Symbolic
type Canonical = Symbolic
Must have the same layout as
Self, and Canonical::Unit must have the same layout as
Unit.Source§fn canonicalize(self) -> Self::Canonical
fn canonicalize(self) -> Self::Canonical
Performs the implicit conjugation operation on the given value, returning the canonical
form.
const IS_CANONICAL: bool = true
Source§impl DivAssign for Symbolic
impl DivAssign for Symbolic
Source§fn div_assign(&mut self, _: Self)
fn div_assign(&mut self, _: Self)
Performs the
/= operation. Read moreSource§impl Entity for Symbolic
impl Entity for Symbolic
const N_COMPONENTS: usize = 1usize
const UNIT: GroupCopyFor<Self, ()> = ()
type Unit = Symbolic
type Index = usize
type SimdUnit<S: Simd> = Symbolic
type SimdMask<S: Simd> = bool
type SimdIndex<S: Simd> = usize
type Group = IdentityGroup
type Iter<I: Iterator> = I
type PrefixUnit<'a, S: Simd> = &'a [Symbolic]
type SuffixUnit<'a, S: Simd> = &'a [Symbolic]
type PrefixMutUnit<'a, S: Simd> = &'a mut [Symbolic]
type SuffixMutUnit<'a, S: Simd> = &'a mut [Symbolic]
fn faer_first<T>(group: GroupFor<Self, T>) -> T
fn faer_from_units(group: GroupFor<Self, Self::Unit>) -> Self
fn faer_into_units(self) -> GroupFor<Self, Self::Unit>
fn faer_as_ref<T>(group: &GroupFor<Self, T>) -> GroupFor<Self, &T>
fn faer_as_mut<T>(group: &mut GroupFor<Self, T>) -> GroupFor<Self, &mut T>
fn faer_as_ptr<T>(group: *mut GroupFor<Self, T>) -> GroupFor<Self, *mut T>
fn faer_map_impl<T, U>( group: GroupFor<Self, T>, f: &mut impl FnMut(T) -> U, ) -> GroupFor<Self, U>
fn faer_zip<T, U>( first: GroupFor<Self, T>, second: GroupFor<Self, U>, ) -> GroupFor<Self, (T, U)>
fn faer_unzip<T, U>( zipped: GroupFor<Self, (T, U)>, ) -> (GroupFor<Self, T>, GroupFor<Self, U>)
fn faer_map_with_context<Ctx, T, U>( ctx: Ctx, group: GroupFor<Self, T>, f: &mut impl FnMut(Ctx, T) -> (Ctx, U), ) -> (Ctx, GroupFor<Self, U>)
fn faer_into_iter<I: IntoIterator>( iter: GroupFor<Self, I>, ) -> Self::Iter<I::IntoIter>
const IS_REAL: bool = true
fn faer_map<T, U>( group: GroupFor<Self, T>, f: impl FnMut(T) -> U, ) -> GroupFor<Self, U>
fn faer_unzip2<T>(zipped: GroupFor<Self, [T; 2]>) -> [GroupFor<Self, T>; 2]
fn faer_unzip4<T>(zipped: GroupFor<Self, [T; 4]>) -> [GroupFor<Self, T>; 4]
fn faer_unzip8<T>(zipped: GroupFor<Self, [T; 8]>) -> [GroupFor<Self, T>; 8]
fn faer_as_arrays<const N: usize, T>( group: GroupFor<Self, &[T]>, ) -> (GroupFor<Self, &[[T; N]]>, GroupFor<Self, &[T]>)
fn faer_as_arrays_mut<const N: usize, T>( group: GroupFor<Self, &mut [T]>, ) -> (GroupFor<Self, &mut [[T; N]]>, GroupFor<Self, &mut [T]>)
fn faer_deref<T: Copy>(group: GroupFor<Self, &T>) -> GroupFor<Self, T>
fn faer_rb<'short, T: Reborrow<'short>>( value: GroupFor<Self, &'short T>, ) -> GroupFor<Self, T::Target>
fn faer_rb_mut<'short, T: ReborrowMut<'short>>( value: GroupFor<Self, &'short mut T>, ) -> GroupFor<Self, T::Target>
fn faer_into_const<T: IntoConst>( value: GroupFor<Self, T>, ) -> GroupFor<Self, T::Target>
fn faer_copy<T: Copy>(x: &GroupFor<Self, T>) -> GroupFor<Self, T>
Source§impl MulAssign for Symbolic
impl MulAssign for Symbolic
Source§fn mul_assign(&mut self, _: Self)
fn mul_assign(&mut self, _: Self)
Performs the
*= operation. Read moreSource§impl Num for Symbolic
impl Num for Symbolic
type FromStrRadixErr = ()
Source§fn from_str_radix(_: &str, _: u32) -> Result<Self, Self::FromStrRadixErr>
fn from_str_radix(_: &str, _: u32) -> Result<Self, Self::FromStrRadixErr>
Convert from a string and radix (typically
2..=36). Read moreSource§impl Ord for Symbolic
impl Ord for Symbolic
Source§impl PartialOrd for Symbolic
impl PartialOrd for Symbolic
Source§impl RealField for Symbolic
impl RealField for Symbolic
fn faer_epsilon() -> Self
fn faer_zero_threshold() -> 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>( _simd: S, _a: SimdGroupFor<Self, S>, _b: SimdGroupFor<Self, S>, ) -> Self::SimdMask<S>
fn faer_simd_less_than_or_equal<S: Simd>( _simd: S, _a: SimdGroupFor<Self, S>, _b: SimdGroupFor<Self, S>, ) -> Self::SimdMask<S>
fn faer_simd_greater_than<S: Simd>( _simd: S, _a: SimdGroupFor<Self, S>, _b: SimdGroupFor<Self, S>, ) -> Self::SimdMask<S>
fn faer_simd_greater_than_or_equal<S: Simd>( _simd: S, _a: SimdGroupFor<Self, S>, _b: SimdGroupFor<Self, S>, ) -> Self::SimdMask<S>
fn faer_simd_select<S: Simd>( _simd: S, _mask: Self::SimdMask<S>, _if_true: SimdGroupFor<Self, S>, _if_false: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>
fn faer_simd_index_select<S: Simd>( _simd: S, mask: Self::SimdMask<S>, if_true: Self::SimdIndex<S>, if_false: Self::SimdIndex<S>, ) -> Self::SimdIndex<S>
fn faer_simd_index_seq<S: Simd>(_simd: S) -> Self::SimdIndex<S>
fn faer_simd_index_splat<S: Simd>( _simd: S, value: Self::Index, ) -> Self::SimdIndex<S>
fn faer_simd_index_add<S: Simd>( _simd: S, a: Self::SimdIndex<S>, b: Self::SimdIndex<S>, ) -> Self::SimdIndex<S>
fn faer_simd_index_rotate_left<S: Simd>( _simd: S, values: SimdIndexFor<Self, S>, _amount: usize, ) -> SimdIndexFor<Self, S>
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_simd_abs<S: Simd>( _simd: S, _values: SimdGroupFor<Self, S>, ) -> SimdGroupFor<Self, S>
Source§impl RemAssign for Symbolic
impl RemAssign for Symbolic
Source§fn rem_assign(&mut self, _: Self)
fn rem_assign(&mut self, _: Self)
Performs the
%= operation. Read moreSource§impl SubAssign for Symbolic
impl SubAssign for Symbolic
Source§fn sub_assign(&mut self, _: Self)
fn sub_assign(&mut self, _: Self)
Performs the
-= operation. Read moreimpl Copy for Symbolic
impl Eq for Symbolic
impl Pod for Symbolic
impl StructuralPartialEq for Symbolic
Auto Trait Implementations§
impl Freeze for Symbolic
impl RefUnwindSafe for Symbolic
impl Send for Symbolic
impl Sync for Symbolic
impl Unpin for Symbolic
impl UnwindSafe for Symbolic
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
If this function returns true, then it must be valid to reinterpret
bits
as &Self.