Struct faer_core::complex_native::c32
source · #[repr(C)]pub struct c32 {
pub re: f32,
pub im: f32,
}
Expand description
32-bit complex floating point type. See the module-level documentation for more details.
Fields§
§re: f32
Real part.
im: f32
Imaginary part.
Implementations§
source§impl c32
impl c32
sourcepub fn from_polar(r: f32, theta: f32) -> Self
pub fn from_polar(r: f32, theta: f32) -> Self
Create a complex number from polar coordinates.
sourcepub fn to_num_complex(self) -> Complex<f32>
pub fn to_num_complex(self) -> Complex<f32>
Convert the number to a num_complex::Complex32.
pub fn is_nan(self) -> bool
pub fn is_infinite(self) -> bool
pub fn is_finite(self) -> bool
pub fn is_normal(self) -> bool
pub fn recip(self) -> Self
pub fn powi(self, exp: i32) -> Self
pub fn powu(self, exp: u32) -> Self
pub fn powf(self, exp: f32) -> Self
pub fn powc(self, exp: Complex<f32>) -> Self
pub fn sqrt(self) -> Self
pub fn exp(self) -> Self
pub fn exp2(self) -> Self
pub fn expf(self, base: f32) -> Self
pub fn ln(self) -> Self
pub fn log(self, base: f32) -> Self
pub fn log2(self) -> Self
pub fn log10(self) -> Self
pub fn cbrt(self) -> Self
pub fn sin(self) -> Self
pub fn cos(self) -> Self
pub fn tan(self) -> Self
pub fn asin(self) -> Self
pub fn acos(self) -> Self
pub fn atan(self) -> Self
pub fn sinh(self) -> Self
pub fn cosh(self) -> Self
pub fn tanh(self) -> Self
pub fn asinh(self) -> Self
pub fn acosh(self) -> Self
pub fn atanh(self) -> Self
pub fn abs(self) -> f32
pub fn arg(self) -> f32
Trait Implementations§
source§impl AddAssign<c32conj> for c32
impl AddAssign<c32conj> for c32
source§fn add_assign(&mut self, rhs: c32conj)
fn add_assign(&mut self, rhs: c32conj)
Performs the
+=
operation. Read moresource§impl AddAssign<f32> for c32
impl AddAssign<f32> for c32
source§fn add_assign(&mut self, rhs: f32)
fn add_assign(&mut self, rhs: f32)
Performs the
+=
operation. Read moresource§impl AddAssign for c32
impl AddAssign for c32
source§fn add_assign(&mut self, rhs: c32)
fn add_assign(&mut self, rhs: c32)
Performs the
+=
operation. Read moresource§impl ComplexField for c32
impl ComplexField for c32
type Real = f32
type Simd = Arch
type ScalarSimd = NoSimd
type PortableSimd = Arch
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_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_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_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_simd_splat_unit<S: Simd>(simd: S, unit: Self::Unit) -> Self::SimdUnit<S>
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_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_reduce_add<S: Simd>(simd: S, values: SimdGroupFor<Self, S>) -> Self
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>
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_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_simd_rotate_left<S: Simd>( simd: S, values: SimdGroupFor<Self, S>, amount: usize ) -> SimdGroupFor<Self, 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: 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,
source§impl Conjugate for c32
impl Conjugate for c32
§type Conj = c32conj
type Conj = c32conj
Must have the same layout as
Self
, and Conj::Unit
must have the same layout as Unit
.§type Canonical = c32
type Canonical = c32
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.
source§impl DivAssign<c32conj> for c32
impl DivAssign<c32conj> for c32
source§fn div_assign(&mut self, rhs: c32conj)
fn div_assign(&mut self, rhs: c32conj)
Performs the
/=
operation. Read moresource§impl DivAssign<f32> for c32
impl DivAssign<f32> for c32
source§fn div_assign(&mut self, rhs: f32)
fn div_assign(&mut self, rhs: f32)
Performs the
/=
operation. Read moresource§impl DivAssign for c32
impl DivAssign for c32
source§fn div_assign(&mut self, rhs: c32)
fn div_assign(&mut self, rhs: c32)
Performs the
/=
operation. Read moresource§impl Entity for c32
impl Entity for c32
type Unit = c32
type Index = u32
type SimdUnit<S: Simd> = <S as Simd>::c32s
type SimdMask<S: Simd> = <S as Simd>::m32s
type SimdIndex<S: Simd> = <S as Simd>::u32s
type Group = IdentityGroup
type Iter<I: Iterator> = I
type PrefixUnit<'a, S: Simd> = Prefix<'a, Complex<f32>, S, <S as Simd>::m32s>
type SuffixUnit<'a, S: Simd> = Suffix<'a, Complex<f32>, S, <S as Simd>::m32s>
type PrefixMutUnit<'a, S: Simd> = PrefixMut<'a, Complex<f32>, S, <S as Simd>::m32s>
type SuffixMutUnit<'a, S: Simd> = SuffixMut<'a, Complex<f32>, S, <S as Simd>::m32s>
const N_COMPONENTS: usize = 1usize
const UNIT: GroupCopyFor<Self, ()> = ()
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_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_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_into_iter<I: IntoIterator>( iter: GroupFor<Self, I> ) -> Self::Iter<I::IntoIter>
fn faer_map<T, U>( group: <Self::Group as ForType>::FaerOf<T>, f: impl FnMut(T) -> U ) -> <Self::Group as ForType>::FaerOf<U>
fn faer_unzip2<T>( zipped: <Self::Group as ForType>::FaerOf<[T; 2]> ) -> [<Self::Group as ForType>::FaerOf<T>; 2]
fn faer_unzip4<T>( zipped: <Self::Group as ForType>::FaerOf<[T; 4]> ) -> [<Self::Group as ForType>::FaerOf<T>; 4]
fn faer_unzip8<T>( zipped: <Self::Group as ForType>::FaerOf<[T; 8]> ) -> [<Self::Group as ForType>::FaerOf<T>; 8]
fn faer_as_arrays<const N: usize, T>( group: <Self::Group as ForType>::FaerOf<&[T]> ) -> (<Self::Group as ForType>::FaerOf<&[[T; N]]>, <Self::Group as ForType>::FaerOf<&[T]>)
fn faer_as_arrays_mut<const N: usize, T>( group: <Self::Group as ForType>::FaerOf<&mut [T]> ) -> (<Self::Group as ForType>::FaerOf<&mut [[T; N]]>, <Self::Group as ForType>::FaerOf<&mut [T]>)
fn faer_deref<T>(
group: <Self::Group as ForType>::FaerOf<&T>
) -> <Self::Group as ForType>::FaerOf<T>where
T: Copy,
fn faer_rb<'short, T>(
value: <Self::Group as ForType>::FaerOf<&'short T>
) -> <Self::Group as ForType>::FaerOf<<T as Reborrow<'short>>::Target>where
T: Reborrow<'short>,
fn faer_rb_mut<'short, T>(
value: <Self::Group as ForType>::FaerOf<&'short mut T>
) -> <Self::Group as ForType>::FaerOf<<T as ReborrowMut<'short>>::Target>where
T: ReborrowMut<'short>,
fn faer_into_const<T>(
value: <Self::Group as ForType>::FaerOf<T>
) -> <Self::Group as ForType>::FaerOf<<T as IntoConst>::Target>where
T: IntoConst,
fn faer_copy<T>(
x: &<Self::Group as ForType>::FaerOf<T>
) -> <Self::Group as ForType>::FaerOf<T>where
T: Copy,
source§impl MulAssign<c32conj> for c32
impl MulAssign<c32conj> for c32
source§fn mul_assign(&mut self, rhs: c32conj)
fn mul_assign(&mut self, rhs: c32conj)
Performs the
*=
operation. Read moresource§impl MulAssign<f32> for c32
impl MulAssign<f32> for c32
source§fn mul_assign(&mut self, rhs: f32)
fn mul_assign(&mut self, rhs: f32)
Performs the
*=
operation. Read moresource§impl MulAssign for c32
impl MulAssign for c32
source§fn mul_assign(&mut self, rhs: c32)
fn mul_assign(&mut self, rhs: c32)
Performs the
*=
operation. Read moresource§impl Num for c32
impl Num for c32
type FromStrRadixErr = ParseComplexError<<f32 as Num>::FromStrRadixErr>
source§fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>
fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>
Convert from a string and radix (typically
2..=36
). Read moresource§impl RemAssign<c32conj> for c32
impl RemAssign<c32conj> for c32
source§fn rem_assign(&mut self, rhs: c32conj)
fn rem_assign(&mut self, rhs: c32conj)
Performs the
%=
operation. Read moresource§impl RemAssign<f32> for c32
impl RemAssign<f32> for c32
source§fn rem_assign(&mut self, rhs: f32)
fn rem_assign(&mut self, rhs: f32)
Performs the
%=
operation. Read moresource§impl RemAssign for c32
impl RemAssign for c32
source§fn rem_assign(&mut self, rhs: c32)
fn rem_assign(&mut self, rhs: c32)
Performs the
%=
operation. Read moresource§impl SubAssign<c32conj> for c32
impl SubAssign<c32conj> for c32
source§fn sub_assign(&mut self, rhs: c32conj)
fn sub_assign(&mut self, rhs: c32conj)
Performs the
-=
operation. Read moresource§impl SubAssign<f32> for c32
impl SubAssign<f32> for c32
source§fn sub_assign(&mut self, rhs: f32)
fn sub_assign(&mut self, rhs: f32)
Performs the
-=
operation. Read moresource§impl SubAssign for c32
impl SubAssign for c32
source§fn sub_assign(&mut self, rhs: c32)
fn sub_assign(&mut self, rhs: c32)
Performs the
-=
operation. Read moreimpl Copy for c32
impl Pod for c32
impl StructuralPartialEq for c32
Auto Trait Implementations§
impl RefUnwindSafe for c32
impl Send for c32
impl Sync for c32
impl Unpin for c32
impl UnwindSafe for c32
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,
§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
.