#[repr(C)]pub struct Complex<T> {
pub re: T,
pub im: T,
}
Expand description
A complex number in Cartesian form.
Representation and Foreign Function Interface Compatibility
Complex<T>
is memory layout compatible with an array [T; 2]
.
Note that Complex<F>
where F is a floating point type is only memory
layout compatible with C’s complex types, not necessarily calling
convention compatible. This means that for FFI you can only pass
Complex<F>
behind a pointer, not as a value.
Examples
Example of extern function declaration.
use num_complex::Complex;
use std::os::raw::c_int;
extern "C" {
fn zaxpy_(n: *const c_int, alpha: *const Complex<f64>,
x: *const Complex<f64>, incx: *const c_int,
y: *mut Complex<f64>, incy: *const c_int);
}
Fields
re: T
Real portion of the complex number
im: T
Imaginary portion of the complex number
Implementations
sourceimpl<T> Complex<T> where
T: Clone + Num,
impl<T> Complex<T> where
T: Clone + Num,
sourceimpl<T> Complex<T> where
T: Clone + Signed,
impl<T> Complex<T> where
T: Clone + Signed,
sourcepub fn l1_norm(&self) -> T
pub fn l1_norm(&self) -> T
Returns the L1 norm |re| + |im|
– the Manhattan distance from the origin.
Trait Implementations
sourceimpl<'a, T> AddAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
impl<'a, T> AddAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
sourcefn add_assign(&mut self, other: &Complex<T>)
fn add_assign(&mut self, other: &Complex<T>)
Performs the +=
operation. Read more
sourceimpl<'a, T> AddAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
impl<'a, T> AddAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
sourcefn add_assign(&mut self, other: &T)
fn add_assign(&mut self, other: &T)
Performs the +=
operation. Read more
sourceimpl<T> AddAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
impl<T> AddAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
sourcefn add_assign(&mut self, other: Complex<T>)
fn add_assign(&mut self, other: Complex<T>)
Performs the +=
operation. Read more
sourceimpl<T> AddAssign<T> for Complex<T> where
T: Clone + NumAssign,
impl<T> AddAssign<T> for Complex<T> where
T: Clone + NumAssign,
sourcefn add_assign(&mut self, other: T)
fn add_assign(&mut self, other: T)
Performs the +=
operation. Read more
sourceimpl<T, U> AsPrimitive<U> for Complex<T> where
T: AsPrimitive<U>,
U: 'static + Copy,
impl<T, U> AsPrimitive<U> for Complex<T> where
T: AsPrimitive<U>,
U: 'static + Copy,
sourceimpl<N> ComplexField for Complex<N> where
N: RealField + PartialOrd<N>,
impl<N> ComplexField for Complex<N> where
N: RealField + PartialOrd<N>,
sourcefn ln(self) -> Complex<N>
fn ln(self) -> Complex<N>
Computes the principal value of natural logarithm of self
.
This function has one branch cut:
(-∞, 0]
, continuous from above.
The branch satisfies -π ≤ arg(ln(z)) ≤ π
.
sourcefn sqrt(self) -> Complex<N>
fn sqrt(self) -> Complex<N>
Computes the principal value of the square root of self
.
This function has one branch cut:
(-∞, 0)
, continuous from above.
The branch satisfies -π/2 ≤ arg(sqrt(z)) ≤ π/2
.
sourcefn powf(self, exp: <Complex<N> as ComplexField>::RealField) -> Complex<N>
fn powf(self, exp: <Complex<N> as ComplexField>::RealField) -> Complex<N>
Raises self
to a floating point power.
sourcefn log(self, base: N) -> Complex<N>
fn log(self, base: N) -> Complex<N>
Returns the logarithm of self
with respect to an arbitrary base.
sourcefn asin(self) -> Complex<N>
fn asin(self) -> Complex<N>
Computes the principal value of the inverse sine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Re(asin(z)) ≤ π/2
.
sourcefn acos(self) -> Complex<N>
fn acos(self) -> Complex<N>
Computes the principal value of the inverse cosine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies 0 ≤ Re(acos(z)) ≤ π
.
sourcefn atan(self) -> Complex<N>
fn atan(self) -> Complex<N>
Computes the principal value of the inverse tangent of self
.
This function has two branch cuts:
(-∞i, -i]
, continuous from the left.[i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Re(atan(z)) ≤ π/2
.
sourcefn asinh(self) -> Complex<N>
fn asinh(self) -> Complex<N>
Computes the principal value of inverse hyperbolic sine of self
.
This function has two branch cuts:
(-∞i, -i)
, continuous from the left.(i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Im(asinh(z)) ≤ π/2
.
sourcefn acosh(self) -> Complex<N>
fn acosh(self) -> Complex<N>
Computes the principal value of inverse hyperbolic cosine of self
.
This function has one branch cut:
(-∞, 1)
, continuous from above.
The branch satisfies -π ≤ Im(acosh(z)) ≤ π
and 0 ≤ Re(acosh(z)) < ∞
.
sourcefn atanh(self) -> Complex<N>
fn atanh(self) -> Complex<N>
Computes the principal value of inverse hyperbolic tangent of self
.
This function has two branch cuts:
(-∞, -1]
, continuous from above.[1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Im(atanh(z)) ≤ π/2
.
type RealField = N
sourcefn from_real(re: <Complex<N> as ComplexField>::RealField) -> Complex<N>
fn from_real(re: <Complex<N> as ComplexField>::RealField) -> Complex<N>
Builds a pure-real complex number from the given value.
sourcefn real(self) -> <Complex<N> as ComplexField>::RealField
fn real(self) -> <Complex<N> as ComplexField>::RealField
The real part of this complex number.
sourcefn imaginary(self) -> <Complex<N> as ComplexField>::RealField
fn imaginary(self) -> <Complex<N> as ComplexField>::RealField
The imaginary part of this complex number.
sourcefn argument(self) -> <Complex<N> as ComplexField>::RealField
fn argument(self) -> <Complex<N> as ComplexField>::RealField
The argument of this complex number.
sourcefn modulus(self) -> <Complex<N> as ComplexField>::RealField
fn modulus(self) -> <Complex<N> as ComplexField>::RealField
The modulus of this complex number.
sourcefn modulus_squared(self) -> <Complex<N> as ComplexField>::RealField
fn modulus_squared(self) -> <Complex<N> as ComplexField>::RealField
The squared modulus of this complex number.
sourcefn norm1(self) -> <Complex<N> as ComplexField>::RealField
fn norm1(self) -> <Complex<N> as ComplexField>::RealField
The sum of the absolute value of this complex number’s real and imaginary part.
fn recip(self) -> Complex<N>
fn conjugate(self) -> Complex<N>
sourcefn scale(self, factor: <Complex<N> as ComplexField>::RealField) -> Complex<N>
fn scale(self, factor: <Complex<N> as ComplexField>::RealField) -> Complex<N>
Multiplies this complex number by factor
.
sourcefn unscale(self, factor: <Complex<N> as ComplexField>::RealField) -> Complex<N>
fn unscale(self, factor: <Complex<N> as ComplexField>::RealField) -> Complex<N>
Divides this complex number by factor
.
fn floor(self) -> Complex<N>
fn ceil(self) -> Complex<N>
fn round(self) -> Complex<N>
fn trunc(self) -> Complex<N>
fn fract(self) -> Complex<N>
fn mul_add(self, a: Complex<N>, b: Complex<N>) -> Complex<N>
sourcefn abs(self) -> <Complex<N> as ComplexField>::RealField
fn abs(self) -> <Complex<N> as ComplexField>::RealField
The absolute value of this complex number: self / self.signum()
. Read more
fn exp2(self) -> Complex<N>
fn exp_m1(self) -> Complex<N>
fn ln_1p(self) -> Complex<N>
fn log2(self) -> Complex<N>
fn log10(self) -> Complex<N>
fn cbrt(self) -> Complex<N>
fn powi(self, n: i32) -> Complex<N>
fn is_finite(&self) -> bool
fn try_sqrt(self) -> Option<Complex<N>>
sourcefn hypot(self, b: Complex<N>) -> <Complex<N> as ComplexField>::RealField
fn hypot(self, b: Complex<N>) -> <Complex<N> as ComplexField>::RealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn sin_cos(self) -> (Complex<N>, Complex<N>)
fn sinh_cosh(self) -> (Complex<N>, Complex<N>)
sourcefn to_polar(self) -> (Self::RealField, Self::RealField)
fn to_polar(self) -> (Self::RealField, Self::RealField)
The polar form of this complex number: (modulus, arg)
sourcefn to_exp(self) -> (Self::RealField, Self)
fn to_exp(self) -> (Self::RealField, Self)
The exponential form of this complex number: (modulus, e^{i arg})
fn sinhc(self) -> Self
fn coshc(self) -> Self
sourceimpl<'de, T> Deserialize<'de> for Complex<T> where
T: Deserialize<'de> + Num + Clone,
impl<'de, T> Deserialize<'de> for Complex<T> where
T: Deserialize<'de> + Num + Clone,
sourcefn deserialize<D>(
deserializer: D
) -> Result<Complex<T>, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D
) -> Result<Complex<T>, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<'a, T> DivAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
impl<'a, T> DivAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
sourcefn div_assign(&mut self, other: &Complex<T>)
fn div_assign(&mut self, other: &Complex<T>)
Performs the /=
operation. Read more
sourceimpl<'a, T> DivAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
impl<'a, T> DivAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
sourcefn div_assign(&mut self, other: &T)
fn div_assign(&mut self, other: &T)
Performs the /=
operation. Read more
sourceimpl<T> DivAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
impl<T> DivAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
sourcefn div_assign(&mut self, other: Complex<T>)
fn div_assign(&mut self, other: Complex<T>)
Performs the /=
operation. Read more
sourceimpl<T> DivAssign<T> for Complex<T> where
T: Clone + NumAssign,
impl<T> DivAssign<T> for Complex<T> where
T: Clone + NumAssign,
sourcefn div_assign(&mut self, other: T)
fn div_assign(&mut self, other: T)
Performs the /=
operation. Read more
sourceimpl<T> FromPrimitive for Complex<T> where
T: FromPrimitive + Num,
impl<T> FromPrimitive for Complex<T> where
T: FromPrimitive + Num,
sourcefn from_usize(n: usize) -> Option<Complex<T>>
fn from_usize(n: usize) -> Option<Complex<T>>
Converts a usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_isize(n: isize) -> Option<Complex<T>>
fn from_isize(n: isize) -> Option<Complex<T>>
Converts an isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u8(n: u8) -> Option<Complex<T>>
fn from_u8(n: u8) -> Option<Complex<T>>
Converts an u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u16(n: u16) -> Option<Complex<T>>
fn from_u16(n: u16) -> Option<Complex<T>>
Converts an u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u32(n: u32) -> Option<Complex<T>>
fn from_u32(n: u32) -> Option<Complex<T>>
Converts an u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u64(n: u64) -> Option<Complex<T>>
fn from_u64(n: u64) -> Option<Complex<T>>
Converts an u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i8(n: i8) -> Option<Complex<T>>
fn from_i8(n: i8) -> Option<Complex<T>>
Converts an i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i16(n: i16) -> Option<Complex<T>>
fn from_i16(n: i16) -> Option<Complex<T>>
Converts an i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i32(n: i32) -> Option<Complex<T>>
fn from_i32(n: i32) -> Option<Complex<T>>
Converts an i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i64(n: i64) -> Option<Complex<T>>
fn from_i64(n: i64) -> Option<Complex<T>>
Converts an i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_u128(n: u128) -> Option<Complex<T>>
fn from_u128(n: u128) -> Option<Complex<T>>
Converts an u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourcefn from_i128(n: i128) -> Option<Complex<T>>
fn from_i128(n: i128) -> Option<Complex<T>>
Converts an i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read more
sourceimpl<'a, 'b, T> MulAdd<&'b Complex<T>, &'a Complex<T>> for &'a Complex<T> where
T: Clone + Num + MulAdd<T, T, Output = T>,
impl<'a, 'b, T> MulAdd<&'b Complex<T>, &'a Complex<T>> for &'a Complex<T> where
T: Clone + Num + MulAdd<T, T, Output = T>,
sourceimpl<T> MulAdd<Complex<T>, Complex<T>> for Complex<T> where
T: Clone + Num + MulAdd<T, T, Output = T>,
impl<T> MulAdd<Complex<T>, Complex<T>> for Complex<T> where
T: Clone + Num + MulAdd<T, T, Output = T>,
sourceimpl<'a, 'b, T> MulAddAssign<&'a Complex<T>, &'b Complex<T>> for Complex<T> where
T: Clone + NumAssign + MulAddAssign<T, T>,
impl<'a, 'b, T> MulAddAssign<&'a Complex<T>, &'b Complex<T>> for Complex<T> where
T: Clone + NumAssign + MulAddAssign<T, T>,
sourcefn mul_add_assign(&mut self, other: &Complex<T>, add: &Complex<T>)
fn mul_add_assign(&mut self, other: &Complex<T>, add: &Complex<T>)
Performs the fused multiply-add operation.
sourceimpl<T> MulAddAssign<Complex<T>, Complex<T>> for Complex<T> where
T: Clone + NumAssign + MulAddAssign<T, T>,
impl<T> MulAddAssign<Complex<T>, Complex<T>> for Complex<T> where
T: Clone + NumAssign + MulAddAssign<T, T>,
sourcefn mul_add_assign(&mut self, other: Complex<T>, add: Complex<T>)
fn mul_add_assign(&mut self, other: Complex<T>, add: Complex<T>)
Performs the fused multiply-add operation.
sourceimpl<'a, T> MulAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
impl<'a, T> MulAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
sourcefn mul_assign(&mut self, other: &Complex<T>)
fn mul_assign(&mut self, other: &Complex<T>)
Performs the *=
operation. Read more
sourceimpl<'a, T> MulAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
impl<'a, T> MulAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
sourcefn mul_assign(&mut self, other: &T)
fn mul_assign(&mut self, other: &T)
Performs the *=
operation. Read more
sourceimpl<T> MulAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
impl<T> MulAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
sourcefn mul_assign(&mut self, other: Complex<T>)
fn mul_assign(&mut self, other: Complex<T>)
Performs the *=
operation. Read more
sourceimpl<T> MulAssign<T> for Complex<T> where
T: Clone + NumAssign,
impl<T> MulAssign<T> for Complex<T> where
T: Clone + NumAssign,
sourcefn mul_assign(&mut self, other: T)
fn mul_assign(&mut self, other: T)
Performs the *=
operation. Read more
sourceimpl<T: SimdRealField> Normed for Complex<T>
impl<T: SimdRealField> Normed for Complex<T>
type Norm = <T as SimdComplexField>::SimdRealField
type Norm = <T as SimdComplexField>::SimdRealField
The type of the norm.
sourcefn norm(&self) -> T::SimdRealField
fn norm(&self) -> T::SimdRealField
Computes the norm.
sourcefn norm_squared(&self) -> T::SimdRealField
fn norm_squared(&self) -> T::SimdRealField
Computes the squared norm.
sourcefn unscale_mut(&mut self, n: Self::Norm)
fn unscale_mut(&mut self, n: Self::Norm)
Divides self
by n.
sourceimpl<T> Num for Complex<T> where
T: Num + Clone,
impl<T> Num for Complex<T> where
T: Num + Clone,
sourcefn from_str_radix(
s: &str,
radix: u32
) -> Result<Complex<T>, <Complex<T> as Num>::FromStrRadixErr>
fn from_str_radix(
s: &str,
radix: u32
) -> Result<Complex<T>, <Complex<T> as Num>::FromStrRadixErr>
Parses a +/- bi
; ai +/- b
; a
; or bi
where a
and b
are of type T
radix
must be <= 18; larger radix would include i and j as digits,
which cannot be supported.
The conversion returns an error if 18 <= radix <= 36; it panics if radix > 36.
The elements of T
are parsed using Num::from_str_radix
too, and errors
(or panics) from that are reflected here as well.
type FromStrRadixErr = ParseComplexError<<T as Num>::FromStrRadixErr>
sourceimpl<'a, T> RemAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
impl<'a, T> RemAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
sourcefn rem_assign(&mut self, other: &Complex<T>)
fn rem_assign(&mut self, other: &Complex<T>)
Performs the %=
operation. Read more
sourceimpl<'a, T> RemAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
impl<'a, T> RemAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
sourcefn rem_assign(&mut self, other: &T)
fn rem_assign(&mut self, other: &T)
Performs the %=
operation. Read more
sourceimpl<T> RemAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
impl<T> RemAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
sourcefn rem_assign(&mut self, modulus: Complex<T>)
fn rem_assign(&mut self, modulus: Complex<T>)
Performs the %=
operation. Read more
sourceimpl<T> RemAssign<T> for Complex<T> where
T: Clone + NumAssign,
impl<T> RemAssign<T> for Complex<T> where
T: Clone + NumAssign,
sourcefn rem_assign(&mut self, other: T)
fn rem_assign(&mut self, other: T)
Performs the %=
operation. Read more
sourceimpl<T> Serialize for Complex<T> where
T: Serialize,
impl<T> Serialize for Complex<T> where
T: Serialize,
sourcefn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
sourceimpl SimdComplexField for Complex<AutoSimd<[f64; 8]>>
impl SimdComplexField for Complex<AutoSimd<[f64; 8]>>
sourcefn simd_exp(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_exp(self) -> Complex<AutoSimd<[f64; 8]>>
Computes e^(self)
, where e
is the base of the natural logarithm.
sourcefn simd_ln(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_ln(self) -> Complex<AutoSimd<[f64; 8]>>
Computes the principal value of natural logarithm of self
.
This function has one branch cut:
(-∞, 0]
, continuous from above.
The branch satisfies -π ≤ arg(ln(z)) ≤ π
.
sourcefn simd_sqrt(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_sqrt(self) -> Complex<AutoSimd<[f64; 8]>>
Computes the principal value of the square root of self
.
This function has one branch cut:
(-∞, 0)
, continuous from above.
The branch satisfies -π/2 ≤ arg(sqrt(z)) ≤ π/2
.
sourcefn simd_powf(
self,
exp: <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 8]>>
fn simd_powf(
self,
exp: <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 8]>>
Raises self
to a floating point power.
sourcefn simd_log(self, base: AutoSimd<[f64; 8]>) -> Complex<AutoSimd<[f64; 8]>>
fn simd_log(self, base: AutoSimd<[f64; 8]>) -> Complex<AutoSimd<[f64; 8]>>
Returns the logarithm of self
with respect to an arbitrary base.
sourcefn simd_powc(
self,
exp: Complex<AutoSimd<[f64; 8]>>
) -> Complex<AutoSimd<[f64; 8]>>
fn simd_powc(
self,
exp: Complex<AutoSimd<[f64; 8]>>
) -> Complex<AutoSimd<[f64; 8]>>
Raises self
to a complex power.
sourcefn simd_asin(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_asin(self) -> Complex<AutoSimd<[f64; 8]>>
Computes the principal value of the inverse sine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Re(asin(z)) ≤ π/2
.
sourcefn simd_acos(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_acos(self) -> Complex<AutoSimd<[f64; 8]>>
Computes the principal value of the inverse cosine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies 0 ≤ Re(acos(z)) ≤ π
.
sourcefn simd_atan(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_atan(self) -> Complex<AutoSimd<[f64; 8]>>
Computes the principal value of the inverse tangent of self
.
This function has two branch cuts:
(-∞i, -i]
, continuous from the left.[i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Re(atan(z)) ≤ π/2
.
sourcefn simd_asinh(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_asinh(self) -> Complex<AutoSimd<[f64; 8]>>
Computes the principal value of inverse hyperbolic sine of self
.
This function has two branch cuts:
(-∞i, -i)
, continuous from the left.(i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Im(asinh(z)) ≤ π/2
.
sourcefn simd_acosh(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_acosh(self) -> Complex<AutoSimd<[f64; 8]>>
Computes the principal value of inverse hyperbolic cosine of self
.
This function has one branch cut:
(-∞, 1)
, continuous from above.
The branch satisfies -π ≤ Im(acosh(z)) ≤ π
and 0 ≤ Re(acosh(z)) < ∞
.
sourcefn simd_atanh(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_atanh(self) -> Complex<AutoSimd<[f64; 8]>>
Computes the principal value of inverse hyperbolic tangent of self
.
This function has two branch cuts:
(-∞, -1]
, continuous from above.[1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Im(atanh(z)) ≤ π/2
.
type SimdRealField = AutoSimd<[f64; 8]>
type SimdRealField = AutoSimd<[f64; 8]>
Type of the coefficients of a complex number.
sourcefn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdValue>::Element
fn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdValue>::Element
Computes the sum of all the lanes of self
.
sourcefn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdValue>::Element
fn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdValue>::Element
Computes the product of all the lanes of self
.
sourcefn from_simd_real(
re: <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 8]>>
fn from_simd_real(
re: <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 8]>>
Builds a pure-real complex number from the given value.
sourcefn simd_real(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
fn simd_real(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
The real part of this complex number.
sourcefn simd_imaginary(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
fn simd_imaginary(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
The imaginary part of this complex number.
sourcefn simd_argument(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
fn simd_argument(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
The argument of this complex number.
sourcefn simd_modulus(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
fn simd_modulus(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
The modulus of this complex number.
sourcefn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
fn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
The squared modulus of this complex number.
sourcefn simd_norm1(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
fn simd_norm1(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
The sum of the absolute value of this complex number’s real and imaginary part.
fn simd_recip(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_conjugate(self) -> Complex<AutoSimd<[f64; 8]>>
sourcefn simd_scale(
self,
factor: <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 8]>>
fn simd_scale(
self,
factor: <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 8]>>
Multiplies this complex number by factor
.
sourcefn simd_unscale(
self,
factor: <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 8]>>
fn simd_unscale(
self,
factor: <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 8]>>
Divides this complex number by factor
.
fn simd_floor(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_ceil(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_round(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_trunc(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_fract(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_mul_add(
self,
a: Complex<AutoSimd<[f64; 8]>>,
b: Complex<AutoSimd<[f64; 8]>>
) -> Complex<AutoSimd<[f64; 8]>>
sourcefn simd_abs(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
fn simd_abs(
self
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
The absolute value of this complex number: self / self.signum()
. Read more
fn simd_exp2(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_exp_m1(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_ln_1p(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_log2(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_log10(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_cbrt(self) -> Complex<AutoSimd<[f64; 8]>>
fn simd_powi(self, n: i32) -> Complex<AutoSimd<[f64; 8]>>
sourcefn simd_hypot(
self,
b: Complex<AutoSimd<[f64; 8]>>
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
fn simd_hypot(
self,
b: Complex<AutoSimd<[f64; 8]>>
) -> <Complex<AutoSimd<[f64; 8]>> as SimdComplexField>::SimdRealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn simd_sin_cos(
self
) -> (Complex<AutoSimd<[f64; 8]>>, Complex<AutoSimd<[f64; 8]>>)
fn simd_sinh_cosh(
self
) -> (Complex<AutoSimd<[f64; 8]>>, Complex<AutoSimd<[f64; 8]>>)
sourcefn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
The polar form of this complex number: (modulus, arg)
sourcefn simd_to_exp(self) -> (Self::SimdRealField, Self)
fn simd_to_exp(self) -> (Self::SimdRealField, Self)
The exponential form of this complex number: (modulus, e^{i arg})
sourcefn simd_signum(self) -> Self
fn simd_signum(self) -> Self
The exponential part of this complex number: self / self.modulus()
fn simd_sinhc(self) -> Self
fn simd_coshc(self) -> Self
sourceimpl SimdComplexField for Complex<AutoSimd<[f64; 4]>>
impl SimdComplexField for Complex<AutoSimd<[f64; 4]>>
sourcefn simd_exp(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_exp(self) -> Complex<AutoSimd<[f64; 4]>>
Computes e^(self)
, where e
is the base of the natural logarithm.
sourcefn simd_ln(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_ln(self) -> Complex<AutoSimd<[f64; 4]>>
Computes the principal value of natural logarithm of self
.
This function has one branch cut:
(-∞, 0]
, continuous from above.
The branch satisfies -π ≤ arg(ln(z)) ≤ π
.
sourcefn simd_sqrt(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_sqrt(self) -> Complex<AutoSimd<[f64; 4]>>
Computes the principal value of the square root of self
.
This function has one branch cut:
(-∞, 0)
, continuous from above.
The branch satisfies -π/2 ≤ arg(sqrt(z)) ≤ π/2
.
sourcefn simd_powf(
self,
exp: <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 4]>>
fn simd_powf(
self,
exp: <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 4]>>
Raises self
to a floating point power.
sourcefn simd_log(self, base: AutoSimd<[f64; 4]>) -> Complex<AutoSimd<[f64; 4]>>
fn simd_log(self, base: AutoSimd<[f64; 4]>) -> Complex<AutoSimd<[f64; 4]>>
Returns the logarithm of self
with respect to an arbitrary base.
sourcefn simd_powc(
self,
exp: Complex<AutoSimd<[f64; 4]>>
) -> Complex<AutoSimd<[f64; 4]>>
fn simd_powc(
self,
exp: Complex<AutoSimd<[f64; 4]>>
) -> Complex<AutoSimd<[f64; 4]>>
Raises self
to a complex power.
sourcefn simd_asin(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_asin(self) -> Complex<AutoSimd<[f64; 4]>>
Computes the principal value of the inverse sine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Re(asin(z)) ≤ π/2
.
sourcefn simd_acos(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_acos(self) -> Complex<AutoSimd<[f64; 4]>>
Computes the principal value of the inverse cosine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies 0 ≤ Re(acos(z)) ≤ π
.
sourcefn simd_atan(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_atan(self) -> Complex<AutoSimd<[f64; 4]>>
Computes the principal value of the inverse tangent of self
.
This function has two branch cuts:
(-∞i, -i]
, continuous from the left.[i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Re(atan(z)) ≤ π/2
.
sourcefn simd_asinh(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_asinh(self) -> Complex<AutoSimd<[f64; 4]>>
Computes the principal value of inverse hyperbolic sine of self
.
This function has two branch cuts:
(-∞i, -i)
, continuous from the left.(i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Im(asinh(z)) ≤ π/2
.
sourcefn simd_acosh(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_acosh(self) -> Complex<AutoSimd<[f64; 4]>>
Computes the principal value of inverse hyperbolic cosine of self
.
This function has one branch cut:
(-∞, 1)
, continuous from above.
The branch satisfies -π ≤ Im(acosh(z)) ≤ π
and 0 ≤ Re(acosh(z)) < ∞
.
sourcefn simd_atanh(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_atanh(self) -> Complex<AutoSimd<[f64; 4]>>
Computes the principal value of inverse hyperbolic tangent of self
.
This function has two branch cuts:
(-∞, -1]
, continuous from above.[1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Im(atanh(z)) ≤ π/2
.
type SimdRealField = AutoSimd<[f64; 4]>
type SimdRealField = AutoSimd<[f64; 4]>
Type of the coefficients of a complex number.
sourcefn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdValue>::Element
fn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdValue>::Element
Computes the sum of all the lanes of self
.
sourcefn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdValue>::Element
fn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdValue>::Element
Computes the product of all the lanes of self
.
sourcefn from_simd_real(
re: <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 4]>>
fn from_simd_real(
re: <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 4]>>
Builds a pure-real complex number from the given value.
sourcefn simd_real(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
fn simd_real(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
The real part of this complex number.
sourcefn simd_imaginary(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
fn simd_imaginary(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
The imaginary part of this complex number.
sourcefn simd_argument(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
fn simd_argument(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
The argument of this complex number.
sourcefn simd_modulus(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
fn simd_modulus(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
The modulus of this complex number.
sourcefn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
fn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
The squared modulus of this complex number.
sourcefn simd_norm1(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
fn simd_norm1(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
The sum of the absolute value of this complex number’s real and imaginary part.
fn simd_recip(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_conjugate(self) -> Complex<AutoSimd<[f64; 4]>>
sourcefn simd_scale(
self,
factor: <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 4]>>
fn simd_scale(
self,
factor: <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 4]>>
Multiplies this complex number by factor
.
sourcefn simd_unscale(
self,
factor: <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 4]>>
fn simd_unscale(
self,
factor: <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 4]>>
Divides this complex number by factor
.
fn simd_floor(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_ceil(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_round(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_trunc(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_fract(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_mul_add(
self,
a: Complex<AutoSimd<[f64; 4]>>,
b: Complex<AutoSimd<[f64; 4]>>
) -> Complex<AutoSimd<[f64; 4]>>
sourcefn simd_abs(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
fn simd_abs(
self
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
The absolute value of this complex number: self / self.signum()
. Read more
fn simd_exp2(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_exp_m1(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_ln_1p(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_log2(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_log10(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_cbrt(self) -> Complex<AutoSimd<[f64; 4]>>
fn simd_powi(self, n: i32) -> Complex<AutoSimd<[f64; 4]>>
sourcefn simd_hypot(
self,
b: Complex<AutoSimd<[f64; 4]>>
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
fn simd_hypot(
self,
b: Complex<AutoSimd<[f64; 4]>>
) -> <Complex<AutoSimd<[f64; 4]>> as SimdComplexField>::SimdRealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn simd_sin_cos(
self
) -> (Complex<AutoSimd<[f64; 4]>>, Complex<AutoSimd<[f64; 4]>>)
fn simd_sinh_cosh(
self
) -> (Complex<AutoSimd<[f64; 4]>>, Complex<AutoSimd<[f64; 4]>>)
sourcefn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
The polar form of this complex number: (modulus, arg)
sourcefn simd_to_exp(self) -> (Self::SimdRealField, Self)
fn simd_to_exp(self) -> (Self::SimdRealField, Self)
The exponential form of this complex number: (modulus, e^{i arg})
sourcefn simd_signum(self) -> Self
fn simd_signum(self) -> Self
The exponential part of this complex number: self / self.modulus()
fn simd_sinhc(self) -> Self
fn simd_coshc(self) -> Self
sourceimpl SimdComplexField for Complex<WideF32x8>
impl SimdComplexField for Complex<WideF32x8>
sourcefn simd_exp(self) -> Complex<WideF32x8>
fn simd_exp(self) -> Complex<WideF32x8>
Computes e^(self)
, where e
is the base of the natural logarithm.
sourcefn simd_ln(self) -> Complex<WideF32x8>
fn simd_ln(self) -> Complex<WideF32x8>
Computes the principal value of natural logarithm of self
.
This function has one branch cut:
(-∞, 0]
, continuous from above.
The branch satisfies -π ≤ arg(ln(z)) ≤ π
.
sourcefn simd_sqrt(self) -> Complex<WideF32x8>
fn simd_sqrt(self) -> Complex<WideF32x8>
Computes the principal value of the square root of self
.
This function has one branch cut:
(-∞, 0)
, continuous from above.
The branch satisfies -π/2 ≤ arg(sqrt(z)) ≤ π/2
.
sourcefn simd_powf(
self,
exp: <Complex<WideF32x8> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x8>
fn simd_powf(
self,
exp: <Complex<WideF32x8> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x8>
Raises self
to a floating point power.
sourcefn simd_log(self, base: WideF32x8) -> Complex<WideF32x8>
fn simd_log(self, base: WideF32x8) -> Complex<WideF32x8>
Returns the logarithm of self
with respect to an arbitrary base.
sourcefn simd_powc(self, exp: Complex<WideF32x8>) -> Complex<WideF32x8>
fn simd_powc(self, exp: Complex<WideF32x8>) -> Complex<WideF32x8>
Raises self
to a complex power.
sourcefn simd_asin(self) -> Complex<WideF32x8>
fn simd_asin(self) -> Complex<WideF32x8>
Computes the principal value of the inverse sine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Re(asin(z)) ≤ π/2
.
sourcefn simd_acos(self) -> Complex<WideF32x8>
fn simd_acos(self) -> Complex<WideF32x8>
Computes the principal value of the inverse cosine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies 0 ≤ Re(acos(z)) ≤ π
.
sourcefn simd_atan(self) -> Complex<WideF32x8>
fn simd_atan(self) -> Complex<WideF32x8>
Computes the principal value of the inverse tangent of self
.
This function has two branch cuts:
(-∞i, -i]
, continuous from the left.[i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Re(atan(z)) ≤ π/2
.
sourcefn simd_asinh(self) -> Complex<WideF32x8>
fn simd_asinh(self) -> Complex<WideF32x8>
Computes the principal value of inverse hyperbolic sine of self
.
This function has two branch cuts:
(-∞i, -i)
, continuous from the left.(i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Im(asinh(z)) ≤ π/2
.
sourcefn simd_acosh(self) -> Complex<WideF32x8>
fn simd_acosh(self) -> Complex<WideF32x8>
Computes the principal value of inverse hyperbolic cosine of self
.
This function has one branch cut:
(-∞, 1)
, continuous from above.
The branch satisfies -π ≤ Im(acosh(z)) ≤ π
and 0 ≤ Re(acosh(z)) < ∞
.
sourcefn simd_atanh(self) -> Complex<WideF32x8>
fn simd_atanh(self) -> Complex<WideF32x8>
Computes the principal value of inverse hyperbolic tangent of self
.
This function has two branch cuts:
(-∞, -1]
, continuous from above.[1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Im(atanh(z)) ≤ π/2
.
type SimdRealField = WideF32x8
type SimdRealField = WideF32x8
Type of the coefficients of a complex number.
sourcefn simd_horizontal_sum(self) -> <Complex<WideF32x8> as SimdValue>::Element
fn simd_horizontal_sum(self) -> <Complex<WideF32x8> as SimdValue>::Element
Computes the sum of all the lanes of self
.
sourcefn simd_horizontal_product(self) -> <Complex<WideF32x8> as SimdValue>::Element
fn simd_horizontal_product(self) -> <Complex<WideF32x8> as SimdValue>::Element
Computes the product of all the lanes of self
.
sourcefn from_simd_real(
re: <Complex<WideF32x8> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x8>
fn from_simd_real(
re: <Complex<WideF32x8> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x8>
Builds a pure-real complex number from the given value.
sourcefn simd_real(self) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
fn simd_real(self) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
The real part of this complex number.
sourcefn simd_imaginary(
self
) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
fn simd_imaginary(
self
) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
The imaginary part of this complex number.
sourcefn simd_argument(
self
) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
fn simd_argument(
self
) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
The argument of this complex number.
sourcefn simd_modulus(self) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
fn simd_modulus(self) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
The modulus of this complex number.
sourcefn simd_modulus_squared(
self
) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
fn simd_modulus_squared(
self
) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
The squared modulus of this complex number.
sourcefn simd_norm1(self) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
fn simd_norm1(self) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
The sum of the absolute value of this complex number’s real and imaginary part.
fn simd_recip(self) -> Complex<WideF32x8>
fn simd_conjugate(self) -> Complex<WideF32x8>
sourcefn simd_scale(
self,
factor: <Complex<WideF32x8> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x8>
fn simd_scale(
self,
factor: <Complex<WideF32x8> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x8>
Multiplies this complex number by factor
.
sourcefn simd_unscale(
self,
factor: <Complex<WideF32x8> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x8>
fn simd_unscale(
self,
factor: <Complex<WideF32x8> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x8>
Divides this complex number by factor
.
fn simd_floor(self) -> Complex<WideF32x8>
fn simd_ceil(self) -> Complex<WideF32x8>
fn simd_round(self) -> Complex<WideF32x8>
fn simd_trunc(self) -> Complex<WideF32x8>
fn simd_fract(self) -> Complex<WideF32x8>
fn simd_mul_add(
self,
a: Complex<WideF32x8>,
b: Complex<WideF32x8>
) -> Complex<WideF32x8>
sourcefn simd_abs(self) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
fn simd_abs(self) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
The absolute value of this complex number: self / self.signum()
. Read more
fn simd_exp2(self) -> Complex<WideF32x8>
fn simd_exp_m1(self) -> Complex<WideF32x8>
fn simd_ln_1p(self) -> Complex<WideF32x8>
fn simd_log2(self) -> Complex<WideF32x8>
fn simd_log10(self) -> Complex<WideF32x8>
fn simd_cbrt(self) -> Complex<WideF32x8>
fn simd_powi(self, n: i32) -> Complex<WideF32x8>
sourcefn simd_hypot(
self,
b: Complex<WideF32x8>
) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
fn simd_hypot(
self,
b: Complex<WideF32x8>
) -> <Complex<WideF32x8> as SimdComplexField>::SimdRealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn simd_sin_cos(self) -> (Complex<WideF32x8>, Complex<WideF32x8>)
fn simd_sinh_cosh(self) -> (Complex<WideF32x8>, Complex<WideF32x8>)
sourcefn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
The polar form of this complex number: (modulus, arg)
sourcefn simd_to_exp(self) -> (Self::SimdRealField, Self)
fn simd_to_exp(self) -> (Self::SimdRealField, Self)
The exponential form of this complex number: (modulus, e^{i arg})
sourcefn simd_signum(self) -> Self
fn simd_signum(self) -> Self
The exponential part of this complex number: self / self.modulus()
fn simd_sinhc(self) -> Self
fn simd_coshc(self) -> Self
sourceimpl SimdComplexField for Complex<AutoSimd<[f32; 2]>>
impl SimdComplexField for Complex<AutoSimd<[f32; 2]>>
sourcefn simd_exp(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_exp(self) -> Complex<AutoSimd<[f32; 2]>>
Computes e^(self)
, where e
is the base of the natural logarithm.
sourcefn simd_ln(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_ln(self) -> Complex<AutoSimd<[f32; 2]>>
Computes the principal value of natural logarithm of self
.
This function has one branch cut:
(-∞, 0]
, continuous from above.
The branch satisfies -π ≤ arg(ln(z)) ≤ π
.
sourcefn simd_sqrt(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_sqrt(self) -> Complex<AutoSimd<[f32; 2]>>
Computes the principal value of the square root of self
.
This function has one branch cut:
(-∞, 0)
, continuous from above.
The branch satisfies -π/2 ≤ arg(sqrt(z)) ≤ π/2
.
sourcefn simd_powf(
self,
exp: <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 2]>>
fn simd_powf(
self,
exp: <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 2]>>
Raises self
to a floating point power.
sourcefn simd_log(self, base: AutoSimd<[f32; 2]>) -> Complex<AutoSimd<[f32; 2]>>
fn simd_log(self, base: AutoSimd<[f32; 2]>) -> Complex<AutoSimd<[f32; 2]>>
Returns the logarithm of self
with respect to an arbitrary base.
sourcefn simd_powc(
self,
exp: Complex<AutoSimd<[f32; 2]>>
) -> Complex<AutoSimd<[f32; 2]>>
fn simd_powc(
self,
exp: Complex<AutoSimd<[f32; 2]>>
) -> Complex<AutoSimd<[f32; 2]>>
Raises self
to a complex power.
sourcefn simd_asin(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_asin(self) -> Complex<AutoSimd<[f32; 2]>>
Computes the principal value of the inverse sine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Re(asin(z)) ≤ π/2
.
sourcefn simd_acos(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_acos(self) -> Complex<AutoSimd<[f32; 2]>>
Computes the principal value of the inverse cosine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies 0 ≤ Re(acos(z)) ≤ π
.
sourcefn simd_atan(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_atan(self) -> Complex<AutoSimd<[f32; 2]>>
Computes the principal value of the inverse tangent of self
.
This function has two branch cuts:
(-∞i, -i]
, continuous from the left.[i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Re(atan(z)) ≤ π/2
.
sourcefn simd_asinh(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_asinh(self) -> Complex<AutoSimd<[f32; 2]>>
Computes the principal value of inverse hyperbolic sine of self
.
This function has two branch cuts:
(-∞i, -i)
, continuous from the left.(i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Im(asinh(z)) ≤ π/2
.
sourcefn simd_acosh(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_acosh(self) -> Complex<AutoSimd<[f32; 2]>>
Computes the principal value of inverse hyperbolic cosine of self
.
This function has one branch cut:
(-∞, 1)
, continuous from above.
The branch satisfies -π ≤ Im(acosh(z)) ≤ π
and 0 ≤ Re(acosh(z)) < ∞
.
sourcefn simd_atanh(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_atanh(self) -> Complex<AutoSimd<[f32; 2]>>
Computes the principal value of inverse hyperbolic tangent of self
.
This function has two branch cuts:
(-∞, -1]
, continuous from above.[1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Im(atanh(z)) ≤ π/2
.
type SimdRealField = AutoSimd<[f32; 2]>
type SimdRealField = AutoSimd<[f32; 2]>
Type of the coefficients of a complex number.
sourcefn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdValue>::Element
fn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdValue>::Element
Computes the sum of all the lanes of self
.
sourcefn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdValue>::Element
fn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdValue>::Element
Computes the product of all the lanes of self
.
sourcefn from_simd_real(
re: <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 2]>>
fn from_simd_real(
re: <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 2]>>
Builds a pure-real complex number from the given value.
sourcefn simd_real(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
fn simd_real(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
The real part of this complex number.
sourcefn simd_imaginary(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
fn simd_imaginary(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
The imaginary part of this complex number.
sourcefn simd_argument(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
fn simd_argument(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
The argument of this complex number.
sourcefn simd_modulus(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
fn simd_modulus(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
The modulus of this complex number.
sourcefn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
fn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
The squared modulus of this complex number.
sourcefn simd_norm1(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
fn simd_norm1(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
The sum of the absolute value of this complex number’s real and imaginary part.
fn simd_recip(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_conjugate(self) -> Complex<AutoSimd<[f32; 2]>>
sourcefn simd_scale(
self,
factor: <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 2]>>
fn simd_scale(
self,
factor: <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 2]>>
Multiplies this complex number by factor
.
sourcefn simd_unscale(
self,
factor: <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 2]>>
fn simd_unscale(
self,
factor: <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 2]>>
Divides this complex number by factor
.
fn simd_floor(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_ceil(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_round(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_trunc(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_fract(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_mul_add(
self,
a: Complex<AutoSimd<[f32; 2]>>,
b: Complex<AutoSimd<[f32; 2]>>
) -> Complex<AutoSimd<[f32; 2]>>
sourcefn simd_abs(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
fn simd_abs(
self
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
The absolute value of this complex number: self / self.signum()
. Read more
fn simd_exp2(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_exp_m1(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_ln_1p(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_log2(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_log10(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_cbrt(self) -> Complex<AutoSimd<[f32; 2]>>
fn simd_powi(self, n: i32) -> Complex<AutoSimd<[f32; 2]>>
sourcefn simd_hypot(
self,
b: Complex<AutoSimd<[f32; 2]>>
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
fn simd_hypot(
self,
b: Complex<AutoSimd<[f32; 2]>>
) -> <Complex<AutoSimd<[f32; 2]>> as SimdComplexField>::SimdRealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn simd_sin_cos(
self
) -> (Complex<AutoSimd<[f32; 2]>>, Complex<AutoSimd<[f32; 2]>>)
fn simd_sinh_cosh(
self
) -> (Complex<AutoSimd<[f32; 2]>>, Complex<AutoSimd<[f32; 2]>>)
sourcefn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
The polar form of this complex number: (modulus, arg)
sourcefn simd_to_exp(self) -> (Self::SimdRealField, Self)
fn simd_to_exp(self) -> (Self::SimdRealField, Self)
The exponential form of this complex number: (modulus, e^{i arg})
sourcefn simd_signum(self) -> Self
fn simd_signum(self) -> Self
The exponential part of this complex number: self / self.modulus()
fn simd_sinhc(self) -> Self
fn simd_coshc(self) -> Self
sourceimpl SimdComplexField for Complex<WideF64x4>
impl SimdComplexField for Complex<WideF64x4>
sourcefn simd_exp(self) -> Complex<WideF64x4>
fn simd_exp(self) -> Complex<WideF64x4>
Computes e^(self)
, where e
is the base of the natural logarithm.
sourcefn simd_ln(self) -> Complex<WideF64x4>
fn simd_ln(self) -> Complex<WideF64x4>
Computes the principal value of natural logarithm of self
.
This function has one branch cut:
(-∞, 0]
, continuous from above.
The branch satisfies -π ≤ arg(ln(z)) ≤ π
.
sourcefn simd_sqrt(self) -> Complex<WideF64x4>
fn simd_sqrt(self) -> Complex<WideF64x4>
Computes the principal value of the square root of self
.
This function has one branch cut:
(-∞, 0)
, continuous from above.
The branch satisfies -π/2 ≤ arg(sqrt(z)) ≤ π/2
.
sourcefn simd_powf(
self,
exp: <Complex<WideF64x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF64x4>
fn simd_powf(
self,
exp: <Complex<WideF64x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF64x4>
Raises self
to a floating point power.
sourcefn simd_log(self, base: WideF64x4) -> Complex<WideF64x4>
fn simd_log(self, base: WideF64x4) -> Complex<WideF64x4>
Returns the logarithm of self
with respect to an arbitrary base.
sourcefn simd_powc(self, exp: Complex<WideF64x4>) -> Complex<WideF64x4>
fn simd_powc(self, exp: Complex<WideF64x4>) -> Complex<WideF64x4>
Raises self
to a complex power.
sourcefn simd_asin(self) -> Complex<WideF64x4>
fn simd_asin(self) -> Complex<WideF64x4>
Computes the principal value of the inverse sine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Re(asin(z)) ≤ π/2
.
sourcefn simd_acos(self) -> Complex<WideF64x4>
fn simd_acos(self) -> Complex<WideF64x4>
Computes the principal value of the inverse cosine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies 0 ≤ Re(acos(z)) ≤ π
.
sourcefn simd_atan(self) -> Complex<WideF64x4>
fn simd_atan(self) -> Complex<WideF64x4>
Computes the principal value of the inverse tangent of self
.
This function has two branch cuts:
(-∞i, -i]
, continuous from the left.[i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Re(atan(z)) ≤ π/2
.
sourcefn simd_asinh(self) -> Complex<WideF64x4>
fn simd_asinh(self) -> Complex<WideF64x4>
Computes the principal value of inverse hyperbolic sine of self
.
This function has two branch cuts:
(-∞i, -i)
, continuous from the left.(i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Im(asinh(z)) ≤ π/2
.
sourcefn simd_acosh(self) -> Complex<WideF64x4>
fn simd_acosh(self) -> Complex<WideF64x4>
Computes the principal value of inverse hyperbolic cosine of self
.
This function has one branch cut:
(-∞, 1)
, continuous from above.
The branch satisfies -π ≤ Im(acosh(z)) ≤ π
and 0 ≤ Re(acosh(z)) < ∞
.
sourcefn simd_atanh(self) -> Complex<WideF64x4>
fn simd_atanh(self) -> Complex<WideF64x4>
Computes the principal value of inverse hyperbolic tangent of self
.
This function has two branch cuts:
(-∞, -1]
, continuous from above.[1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Im(atanh(z)) ≤ π/2
.
type SimdRealField = WideF64x4
type SimdRealField = WideF64x4
Type of the coefficients of a complex number.
sourcefn simd_horizontal_sum(self) -> <Complex<WideF64x4> as SimdValue>::Element
fn simd_horizontal_sum(self) -> <Complex<WideF64x4> as SimdValue>::Element
Computes the sum of all the lanes of self
.
sourcefn simd_horizontal_product(self) -> <Complex<WideF64x4> as SimdValue>::Element
fn simd_horizontal_product(self) -> <Complex<WideF64x4> as SimdValue>::Element
Computes the product of all the lanes of self
.
sourcefn from_simd_real(
re: <Complex<WideF64x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF64x4>
fn from_simd_real(
re: <Complex<WideF64x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF64x4>
Builds a pure-real complex number from the given value.
sourcefn simd_real(self) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
fn simd_real(self) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
The real part of this complex number.
sourcefn simd_imaginary(
self
) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
fn simd_imaginary(
self
) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
The imaginary part of this complex number.
sourcefn simd_argument(
self
) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
fn simd_argument(
self
) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
The argument of this complex number.
sourcefn simd_modulus(self) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
fn simd_modulus(self) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
The modulus of this complex number.
sourcefn simd_modulus_squared(
self
) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
fn simd_modulus_squared(
self
) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
The squared modulus of this complex number.
sourcefn simd_norm1(self) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
fn simd_norm1(self) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
The sum of the absolute value of this complex number’s real and imaginary part.
fn simd_recip(self) -> Complex<WideF64x4>
fn simd_conjugate(self) -> Complex<WideF64x4>
sourcefn simd_scale(
self,
factor: <Complex<WideF64x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF64x4>
fn simd_scale(
self,
factor: <Complex<WideF64x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF64x4>
Multiplies this complex number by factor
.
sourcefn simd_unscale(
self,
factor: <Complex<WideF64x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF64x4>
fn simd_unscale(
self,
factor: <Complex<WideF64x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF64x4>
Divides this complex number by factor
.
fn simd_floor(self) -> Complex<WideF64x4>
fn simd_ceil(self) -> Complex<WideF64x4>
fn simd_round(self) -> Complex<WideF64x4>
fn simd_trunc(self) -> Complex<WideF64x4>
fn simd_fract(self) -> Complex<WideF64x4>
fn simd_mul_add(
self,
a: Complex<WideF64x4>,
b: Complex<WideF64x4>
) -> Complex<WideF64x4>
sourcefn simd_abs(self) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
fn simd_abs(self) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
The absolute value of this complex number: self / self.signum()
. Read more
fn simd_exp2(self) -> Complex<WideF64x4>
fn simd_exp_m1(self) -> Complex<WideF64x4>
fn simd_ln_1p(self) -> Complex<WideF64x4>
fn simd_log2(self) -> Complex<WideF64x4>
fn simd_log10(self) -> Complex<WideF64x4>
fn simd_cbrt(self) -> Complex<WideF64x4>
fn simd_powi(self, n: i32) -> Complex<WideF64x4>
sourcefn simd_hypot(
self,
b: Complex<WideF64x4>
) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
fn simd_hypot(
self,
b: Complex<WideF64x4>
) -> <Complex<WideF64x4> as SimdComplexField>::SimdRealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn simd_sin_cos(self) -> (Complex<WideF64x4>, Complex<WideF64x4>)
fn simd_sinh_cosh(self) -> (Complex<WideF64x4>, Complex<WideF64x4>)
sourcefn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
The polar form of this complex number: (modulus, arg)
sourcefn simd_to_exp(self) -> (Self::SimdRealField, Self)
fn simd_to_exp(self) -> (Self::SimdRealField, Self)
The exponential form of this complex number: (modulus, e^{i arg})
sourcefn simd_signum(self) -> Self
fn simd_signum(self) -> Self
The exponential part of this complex number: self / self.modulus()
fn simd_sinhc(self) -> Self
fn simd_coshc(self) -> Self
sourceimpl SimdComplexField for Complex<WideF32x4>
impl SimdComplexField for Complex<WideF32x4>
sourcefn simd_exp(self) -> Complex<WideF32x4>
fn simd_exp(self) -> Complex<WideF32x4>
Computes e^(self)
, where e
is the base of the natural logarithm.
sourcefn simd_ln(self) -> Complex<WideF32x4>
fn simd_ln(self) -> Complex<WideF32x4>
Computes the principal value of natural logarithm of self
.
This function has one branch cut:
(-∞, 0]
, continuous from above.
The branch satisfies -π ≤ arg(ln(z)) ≤ π
.
sourcefn simd_sqrt(self) -> Complex<WideF32x4>
fn simd_sqrt(self) -> Complex<WideF32x4>
Computes the principal value of the square root of self
.
This function has one branch cut:
(-∞, 0)
, continuous from above.
The branch satisfies -π/2 ≤ arg(sqrt(z)) ≤ π/2
.
sourcefn simd_powf(
self,
exp: <Complex<WideF32x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x4>
fn simd_powf(
self,
exp: <Complex<WideF32x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x4>
Raises self
to a floating point power.
sourcefn simd_log(self, base: WideF32x4) -> Complex<WideF32x4>
fn simd_log(self, base: WideF32x4) -> Complex<WideF32x4>
Returns the logarithm of self
with respect to an arbitrary base.
sourcefn simd_powc(self, exp: Complex<WideF32x4>) -> Complex<WideF32x4>
fn simd_powc(self, exp: Complex<WideF32x4>) -> Complex<WideF32x4>
Raises self
to a complex power.
sourcefn simd_asin(self) -> Complex<WideF32x4>
fn simd_asin(self) -> Complex<WideF32x4>
Computes the principal value of the inverse sine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Re(asin(z)) ≤ π/2
.
sourcefn simd_acos(self) -> Complex<WideF32x4>
fn simd_acos(self) -> Complex<WideF32x4>
Computes the principal value of the inverse cosine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies 0 ≤ Re(acos(z)) ≤ π
.
sourcefn simd_atan(self) -> Complex<WideF32x4>
fn simd_atan(self) -> Complex<WideF32x4>
Computes the principal value of the inverse tangent of self
.
This function has two branch cuts:
(-∞i, -i]
, continuous from the left.[i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Re(atan(z)) ≤ π/2
.
sourcefn simd_asinh(self) -> Complex<WideF32x4>
fn simd_asinh(self) -> Complex<WideF32x4>
Computes the principal value of inverse hyperbolic sine of self
.
This function has two branch cuts:
(-∞i, -i)
, continuous from the left.(i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Im(asinh(z)) ≤ π/2
.
sourcefn simd_acosh(self) -> Complex<WideF32x4>
fn simd_acosh(self) -> Complex<WideF32x4>
Computes the principal value of inverse hyperbolic cosine of self
.
This function has one branch cut:
(-∞, 1)
, continuous from above.
The branch satisfies -π ≤ Im(acosh(z)) ≤ π
and 0 ≤ Re(acosh(z)) < ∞
.
sourcefn simd_atanh(self) -> Complex<WideF32x4>
fn simd_atanh(self) -> Complex<WideF32x4>
Computes the principal value of inverse hyperbolic tangent of self
.
This function has two branch cuts:
(-∞, -1]
, continuous from above.[1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Im(atanh(z)) ≤ π/2
.
type SimdRealField = WideF32x4
type SimdRealField = WideF32x4
Type of the coefficients of a complex number.
sourcefn simd_horizontal_sum(self) -> <Complex<WideF32x4> as SimdValue>::Element
fn simd_horizontal_sum(self) -> <Complex<WideF32x4> as SimdValue>::Element
Computes the sum of all the lanes of self
.
sourcefn simd_horizontal_product(self) -> <Complex<WideF32x4> as SimdValue>::Element
fn simd_horizontal_product(self) -> <Complex<WideF32x4> as SimdValue>::Element
Computes the product of all the lanes of self
.
sourcefn from_simd_real(
re: <Complex<WideF32x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x4>
fn from_simd_real(
re: <Complex<WideF32x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x4>
Builds a pure-real complex number from the given value.
sourcefn simd_real(self) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
fn simd_real(self) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
The real part of this complex number.
sourcefn simd_imaginary(
self
) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
fn simd_imaginary(
self
) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
The imaginary part of this complex number.
sourcefn simd_argument(
self
) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
fn simd_argument(
self
) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
The argument of this complex number.
sourcefn simd_modulus(self) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
fn simd_modulus(self) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
The modulus of this complex number.
sourcefn simd_modulus_squared(
self
) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
fn simd_modulus_squared(
self
) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
The squared modulus of this complex number.
sourcefn simd_norm1(self) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
fn simd_norm1(self) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
The sum of the absolute value of this complex number’s real and imaginary part.
fn simd_recip(self) -> Complex<WideF32x4>
fn simd_conjugate(self) -> Complex<WideF32x4>
sourcefn simd_scale(
self,
factor: <Complex<WideF32x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x4>
fn simd_scale(
self,
factor: <Complex<WideF32x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x4>
Multiplies this complex number by factor
.
sourcefn simd_unscale(
self,
factor: <Complex<WideF32x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x4>
fn simd_unscale(
self,
factor: <Complex<WideF32x4> as SimdComplexField>::SimdRealField
) -> Complex<WideF32x4>
Divides this complex number by factor
.
fn simd_floor(self) -> Complex<WideF32x4>
fn simd_ceil(self) -> Complex<WideF32x4>
fn simd_round(self) -> Complex<WideF32x4>
fn simd_trunc(self) -> Complex<WideF32x4>
fn simd_fract(self) -> Complex<WideF32x4>
fn simd_mul_add(
self,
a: Complex<WideF32x4>,
b: Complex<WideF32x4>
) -> Complex<WideF32x4>
sourcefn simd_abs(self) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
fn simd_abs(self) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
The absolute value of this complex number: self / self.signum()
. Read more
fn simd_exp2(self) -> Complex<WideF32x4>
fn simd_exp_m1(self) -> Complex<WideF32x4>
fn simd_ln_1p(self) -> Complex<WideF32x4>
fn simd_log2(self) -> Complex<WideF32x4>
fn simd_log10(self) -> Complex<WideF32x4>
fn simd_cbrt(self) -> Complex<WideF32x4>
fn simd_powi(self, n: i32) -> Complex<WideF32x4>
sourcefn simd_hypot(
self,
b: Complex<WideF32x4>
) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
fn simd_hypot(
self,
b: Complex<WideF32x4>
) -> <Complex<WideF32x4> as SimdComplexField>::SimdRealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn simd_sin_cos(self) -> (Complex<WideF32x4>, Complex<WideF32x4>)
fn simd_sinh_cosh(self) -> (Complex<WideF32x4>, Complex<WideF32x4>)
sourcefn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
The polar form of this complex number: (modulus, arg)
sourcefn simd_to_exp(self) -> (Self::SimdRealField, Self)
fn simd_to_exp(self) -> (Self::SimdRealField, Self)
The exponential form of this complex number: (modulus, e^{i arg})
sourcefn simd_signum(self) -> Self
fn simd_signum(self) -> Self
The exponential part of this complex number: self / self.modulus()
fn simd_sinhc(self) -> Self
fn simd_coshc(self) -> Self
sourceimpl SimdComplexField for Complex<AutoSimd<[f32; 16]>>
impl SimdComplexField for Complex<AutoSimd<[f32; 16]>>
sourcefn simd_exp(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_exp(self) -> Complex<AutoSimd<[f32; 16]>>
Computes e^(self)
, where e
is the base of the natural logarithm.
sourcefn simd_ln(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_ln(self) -> Complex<AutoSimd<[f32; 16]>>
Computes the principal value of natural logarithm of self
.
This function has one branch cut:
(-∞, 0]
, continuous from above.
The branch satisfies -π ≤ arg(ln(z)) ≤ π
.
sourcefn simd_sqrt(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_sqrt(self) -> Complex<AutoSimd<[f32; 16]>>
Computes the principal value of the square root of self
.
This function has one branch cut:
(-∞, 0)
, continuous from above.
The branch satisfies -π/2 ≤ arg(sqrt(z)) ≤ π/2
.
sourcefn simd_powf(
self,
exp: <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 16]>>
fn simd_powf(
self,
exp: <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 16]>>
Raises self
to a floating point power.
sourcefn simd_log(self, base: AutoSimd<[f32; 16]>) -> Complex<AutoSimd<[f32; 16]>>
fn simd_log(self, base: AutoSimd<[f32; 16]>) -> Complex<AutoSimd<[f32; 16]>>
Returns the logarithm of self
with respect to an arbitrary base.
sourcefn simd_powc(
self,
exp: Complex<AutoSimd<[f32; 16]>>
) -> Complex<AutoSimd<[f32; 16]>>
fn simd_powc(
self,
exp: Complex<AutoSimd<[f32; 16]>>
) -> Complex<AutoSimd<[f32; 16]>>
Raises self
to a complex power.
sourcefn simd_asin(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_asin(self) -> Complex<AutoSimd<[f32; 16]>>
Computes the principal value of the inverse sine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Re(asin(z)) ≤ π/2
.
sourcefn simd_acos(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_acos(self) -> Complex<AutoSimd<[f32; 16]>>
Computes the principal value of the inverse cosine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies 0 ≤ Re(acos(z)) ≤ π
.
sourcefn simd_atan(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_atan(self) -> Complex<AutoSimd<[f32; 16]>>
Computes the principal value of the inverse tangent of self
.
This function has two branch cuts:
(-∞i, -i]
, continuous from the left.[i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Re(atan(z)) ≤ π/2
.
sourcefn simd_asinh(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_asinh(self) -> Complex<AutoSimd<[f32; 16]>>
Computes the principal value of inverse hyperbolic sine of self
.
This function has two branch cuts:
(-∞i, -i)
, continuous from the left.(i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Im(asinh(z)) ≤ π/2
.
sourcefn simd_acosh(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_acosh(self) -> Complex<AutoSimd<[f32; 16]>>
Computes the principal value of inverse hyperbolic cosine of self
.
This function has one branch cut:
(-∞, 1)
, continuous from above.
The branch satisfies -π ≤ Im(acosh(z)) ≤ π
and 0 ≤ Re(acosh(z)) < ∞
.
sourcefn simd_atanh(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_atanh(self) -> Complex<AutoSimd<[f32; 16]>>
Computes the principal value of inverse hyperbolic tangent of self
.
This function has two branch cuts:
(-∞, -1]
, continuous from above.[1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Im(atanh(z)) ≤ π/2
.
type SimdRealField = AutoSimd<[f32; 16]>
type SimdRealField = AutoSimd<[f32; 16]>
Type of the coefficients of a complex number.
sourcefn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdValue>::Element
fn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdValue>::Element
Computes the sum of all the lanes of self
.
sourcefn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdValue>::Element
fn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdValue>::Element
Computes the product of all the lanes of self
.
sourcefn from_simd_real(
re: <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 16]>>
fn from_simd_real(
re: <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 16]>>
Builds a pure-real complex number from the given value.
sourcefn simd_real(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
fn simd_real(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
The real part of this complex number.
sourcefn simd_imaginary(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
fn simd_imaginary(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
The imaginary part of this complex number.
sourcefn simd_argument(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
fn simd_argument(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
The argument of this complex number.
sourcefn simd_modulus(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
fn simd_modulus(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
The modulus of this complex number.
sourcefn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
fn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
The squared modulus of this complex number.
sourcefn simd_norm1(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
fn simd_norm1(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
The sum of the absolute value of this complex number’s real and imaginary part.
fn simd_recip(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_conjugate(self) -> Complex<AutoSimd<[f32; 16]>>
sourcefn simd_scale(
self,
factor: <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 16]>>
fn simd_scale(
self,
factor: <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 16]>>
Multiplies this complex number by factor
.
sourcefn simd_unscale(
self,
factor: <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 16]>>
fn simd_unscale(
self,
factor: <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 16]>>
Divides this complex number by factor
.
fn simd_floor(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_ceil(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_round(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_trunc(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_fract(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_mul_add(
self,
a: Complex<AutoSimd<[f32; 16]>>,
b: Complex<AutoSimd<[f32; 16]>>
) -> Complex<AutoSimd<[f32; 16]>>
sourcefn simd_abs(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
fn simd_abs(
self
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
The absolute value of this complex number: self / self.signum()
. Read more
fn simd_exp2(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_exp_m1(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_ln_1p(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_log2(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_log10(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_cbrt(self) -> Complex<AutoSimd<[f32; 16]>>
fn simd_powi(self, n: i32) -> Complex<AutoSimd<[f32; 16]>>
sourcefn simd_hypot(
self,
b: Complex<AutoSimd<[f32; 16]>>
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
fn simd_hypot(
self,
b: Complex<AutoSimd<[f32; 16]>>
) -> <Complex<AutoSimd<[f32; 16]>> as SimdComplexField>::SimdRealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn simd_sin_cos(
self
) -> (Complex<AutoSimd<[f32; 16]>>, Complex<AutoSimd<[f32; 16]>>)
fn simd_sinh_cosh(
self
) -> (Complex<AutoSimd<[f32; 16]>>, Complex<AutoSimd<[f32; 16]>>)
sourcefn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
The polar form of this complex number: (modulus, arg)
sourcefn simd_to_exp(self) -> (Self::SimdRealField, Self)
fn simd_to_exp(self) -> (Self::SimdRealField, Self)
The exponential form of this complex number: (modulus, e^{i arg})
sourcefn simd_signum(self) -> Self
fn simd_signum(self) -> Self
The exponential part of this complex number: self / self.modulus()
fn simd_sinhc(self) -> Self
fn simd_coshc(self) -> Self
sourceimpl SimdComplexField for Complex<AutoSimd<[f32; 8]>>
impl SimdComplexField for Complex<AutoSimd<[f32; 8]>>
sourcefn simd_exp(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_exp(self) -> Complex<AutoSimd<[f32; 8]>>
Computes e^(self)
, where e
is the base of the natural logarithm.
sourcefn simd_ln(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_ln(self) -> Complex<AutoSimd<[f32; 8]>>
Computes the principal value of natural logarithm of self
.
This function has one branch cut:
(-∞, 0]
, continuous from above.
The branch satisfies -π ≤ arg(ln(z)) ≤ π
.
sourcefn simd_sqrt(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_sqrt(self) -> Complex<AutoSimd<[f32; 8]>>
Computes the principal value of the square root of self
.
This function has one branch cut:
(-∞, 0)
, continuous from above.
The branch satisfies -π/2 ≤ arg(sqrt(z)) ≤ π/2
.
sourcefn simd_powf(
self,
exp: <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 8]>>
fn simd_powf(
self,
exp: <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 8]>>
Raises self
to a floating point power.
sourcefn simd_log(self, base: AutoSimd<[f32; 8]>) -> Complex<AutoSimd<[f32; 8]>>
fn simd_log(self, base: AutoSimd<[f32; 8]>) -> Complex<AutoSimd<[f32; 8]>>
Returns the logarithm of self
with respect to an arbitrary base.
sourcefn simd_powc(
self,
exp: Complex<AutoSimd<[f32; 8]>>
) -> Complex<AutoSimd<[f32; 8]>>
fn simd_powc(
self,
exp: Complex<AutoSimd<[f32; 8]>>
) -> Complex<AutoSimd<[f32; 8]>>
Raises self
to a complex power.
sourcefn simd_asin(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_asin(self) -> Complex<AutoSimd<[f32; 8]>>
Computes the principal value of the inverse sine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Re(asin(z)) ≤ π/2
.
sourcefn simd_acos(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_acos(self) -> Complex<AutoSimd<[f32; 8]>>
Computes the principal value of the inverse cosine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies 0 ≤ Re(acos(z)) ≤ π
.
sourcefn simd_atan(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_atan(self) -> Complex<AutoSimd<[f32; 8]>>
Computes the principal value of the inverse tangent of self
.
This function has two branch cuts:
(-∞i, -i]
, continuous from the left.[i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Re(atan(z)) ≤ π/2
.
sourcefn simd_asinh(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_asinh(self) -> Complex<AutoSimd<[f32; 8]>>
Computes the principal value of inverse hyperbolic sine of self
.
This function has two branch cuts:
(-∞i, -i)
, continuous from the left.(i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Im(asinh(z)) ≤ π/2
.
sourcefn simd_acosh(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_acosh(self) -> Complex<AutoSimd<[f32; 8]>>
Computes the principal value of inverse hyperbolic cosine of self
.
This function has one branch cut:
(-∞, 1)
, continuous from above.
The branch satisfies -π ≤ Im(acosh(z)) ≤ π
and 0 ≤ Re(acosh(z)) < ∞
.
sourcefn simd_atanh(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_atanh(self) -> Complex<AutoSimd<[f32; 8]>>
Computes the principal value of inverse hyperbolic tangent of self
.
This function has two branch cuts:
(-∞, -1]
, continuous from above.[1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Im(atanh(z)) ≤ π/2
.
type SimdRealField = AutoSimd<[f32; 8]>
type SimdRealField = AutoSimd<[f32; 8]>
Type of the coefficients of a complex number.
sourcefn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdValue>::Element
fn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdValue>::Element
Computes the sum of all the lanes of self
.
sourcefn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdValue>::Element
fn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdValue>::Element
Computes the product of all the lanes of self
.
sourcefn from_simd_real(
re: <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 8]>>
fn from_simd_real(
re: <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 8]>>
Builds a pure-real complex number from the given value.
sourcefn simd_real(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
fn simd_real(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
The real part of this complex number.
sourcefn simd_imaginary(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
fn simd_imaginary(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
The imaginary part of this complex number.
sourcefn simd_argument(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
fn simd_argument(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
The argument of this complex number.
sourcefn simd_modulus(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
fn simd_modulus(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
The modulus of this complex number.
sourcefn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
fn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
The squared modulus of this complex number.
sourcefn simd_norm1(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
fn simd_norm1(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
The sum of the absolute value of this complex number’s real and imaginary part.
fn simd_recip(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_conjugate(self) -> Complex<AutoSimd<[f32; 8]>>
sourcefn simd_scale(
self,
factor: <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 8]>>
fn simd_scale(
self,
factor: <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 8]>>
Multiplies this complex number by factor
.
sourcefn simd_unscale(
self,
factor: <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 8]>>
fn simd_unscale(
self,
factor: <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 8]>>
Divides this complex number by factor
.
fn simd_floor(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_ceil(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_round(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_trunc(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_fract(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_mul_add(
self,
a: Complex<AutoSimd<[f32; 8]>>,
b: Complex<AutoSimd<[f32; 8]>>
) -> Complex<AutoSimd<[f32; 8]>>
sourcefn simd_abs(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
fn simd_abs(
self
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
The absolute value of this complex number: self / self.signum()
. Read more
fn simd_exp2(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_exp_m1(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_ln_1p(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_log2(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_log10(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_cbrt(self) -> Complex<AutoSimd<[f32; 8]>>
fn simd_powi(self, n: i32) -> Complex<AutoSimd<[f32; 8]>>
sourcefn simd_hypot(
self,
b: Complex<AutoSimd<[f32; 8]>>
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
fn simd_hypot(
self,
b: Complex<AutoSimd<[f32; 8]>>
) -> <Complex<AutoSimd<[f32; 8]>> as SimdComplexField>::SimdRealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn simd_sin_cos(
self
) -> (Complex<AutoSimd<[f32; 8]>>, Complex<AutoSimd<[f32; 8]>>)
fn simd_sinh_cosh(
self
) -> (Complex<AutoSimd<[f32; 8]>>, Complex<AutoSimd<[f32; 8]>>)
sourcefn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
The polar form of this complex number: (modulus, arg)
sourcefn simd_to_exp(self) -> (Self::SimdRealField, Self)
fn simd_to_exp(self) -> (Self::SimdRealField, Self)
The exponential form of this complex number: (modulus, e^{i arg})
sourcefn simd_signum(self) -> Self
fn simd_signum(self) -> Self
The exponential part of this complex number: self / self.modulus()
fn simd_sinhc(self) -> Self
fn simd_coshc(self) -> Self
sourceimpl SimdComplexField for Complex<AutoSimd<[f32; 4]>>
impl SimdComplexField for Complex<AutoSimd<[f32; 4]>>
sourcefn simd_exp(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_exp(self) -> Complex<AutoSimd<[f32; 4]>>
Computes e^(self)
, where e
is the base of the natural logarithm.
sourcefn simd_ln(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_ln(self) -> Complex<AutoSimd<[f32; 4]>>
Computes the principal value of natural logarithm of self
.
This function has one branch cut:
(-∞, 0]
, continuous from above.
The branch satisfies -π ≤ arg(ln(z)) ≤ π
.
sourcefn simd_sqrt(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_sqrt(self) -> Complex<AutoSimd<[f32; 4]>>
Computes the principal value of the square root of self
.
This function has one branch cut:
(-∞, 0)
, continuous from above.
The branch satisfies -π/2 ≤ arg(sqrt(z)) ≤ π/2
.
sourcefn simd_powf(
self,
exp: <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 4]>>
fn simd_powf(
self,
exp: <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 4]>>
Raises self
to a floating point power.
sourcefn simd_log(self, base: AutoSimd<[f32; 4]>) -> Complex<AutoSimd<[f32; 4]>>
fn simd_log(self, base: AutoSimd<[f32; 4]>) -> Complex<AutoSimd<[f32; 4]>>
Returns the logarithm of self
with respect to an arbitrary base.
sourcefn simd_powc(
self,
exp: Complex<AutoSimd<[f32; 4]>>
) -> Complex<AutoSimd<[f32; 4]>>
fn simd_powc(
self,
exp: Complex<AutoSimd<[f32; 4]>>
) -> Complex<AutoSimd<[f32; 4]>>
Raises self
to a complex power.
sourcefn simd_asin(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_asin(self) -> Complex<AutoSimd<[f32; 4]>>
Computes the principal value of the inverse sine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Re(asin(z)) ≤ π/2
.
sourcefn simd_acos(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_acos(self) -> Complex<AutoSimd<[f32; 4]>>
Computes the principal value of the inverse cosine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies 0 ≤ Re(acos(z)) ≤ π
.
sourcefn simd_atan(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_atan(self) -> Complex<AutoSimd<[f32; 4]>>
Computes the principal value of the inverse tangent of self
.
This function has two branch cuts:
(-∞i, -i]
, continuous from the left.[i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Re(atan(z)) ≤ π/2
.
sourcefn simd_asinh(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_asinh(self) -> Complex<AutoSimd<[f32; 4]>>
Computes the principal value of inverse hyperbolic sine of self
.
This function has two branch cuts:
(-∞i, -i)
, continuous from the left.(i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Im(asinh(z)) ≤ π/2
.
sourcefn simd_acosh(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_acosh(self) -> Complex<AutoSimd<[f32; 4]>>
Computes the principal value of inverse hyperbolic cosine of self
.
This function has one branch cut:
(-∞, 1)
, continuous from above.
The branch satisfies -π ≤ Im(acosh(z)) ≤ π
and 0 ≤ Re(acosh(z)) < ∞
.
sourcefn simd_atanh(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_atanh(self) -> Complex<AutoSimd<[f32; 4]>>
Computes the principal value of inverse hyperbolic tangent of self
.
This function has two branch cuts:
(-∞, -1]
, continuous from above.[1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Im(atanh(z)) ≤ π/2
.
type SimdRealField = AutoSimd<[f32; 4]>
type SimdRealField = AutoSimd<[f32; 4]>
Type of the coefficients of a complex number.
sourcefn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdValue>::Element
fn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdValue>::Element
Computes the sum of all the lanes of self
.
sourcefn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdValue>::Element
fn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdValue>::Element
Computes the product of all the lanes of self
.
sourcefn from_simd_real(
re: <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 4]>>
fn from_simd_real(
re: <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 4]>>
Builds a pure-real complex number from the given value.
sourcefn simd_real(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
fn simd_real(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
The real part of this complex number.
sourcefn simd_imaginary(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
fn simd_imaginary(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
The imaginary part of this complex number.
sourcefn simd_argument(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
fn simd_argument(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
The argument of this complex number.
sourcefn simd_modulus(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
fn simd_modulus(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
The modulus of this complex number.
sourcefn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
fn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
The squared modulus of this complex number.
sourcefn simd_norm1(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
fn simd_norm1(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
The sum of the absolute value of this complex number’s real and imaginary part.
fn simd_recip(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_conjugate(self) -> Complex<AutoSimd<[f32; 4]>>
sourcefn simd_scale(
self,
factor: <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 4]>>
fn simd_scale(
self,
factor: <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 4]>>
Multiplies this complex number by factor
.
sourcefn simd_unscale(
self,
factor: <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 4]>>
fn simd_unscale(
self,
factor: <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f32; 4]>>
Divides this complex number by factor
.
fn simd_floor(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_ceil(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_round(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_trunc(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_fract(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_mul_add(
self,
a: Complex<AutoSimd<[f32; 4]>>,
b: Complex<AutoSimd<[f32; 4]>>
) -> Complex<AutoSimd<[f32; 4]>>
sourcefn simd_abs(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
fn simd_abs(
self
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
The absolute value of this complex number: self / self.signum()
. Read more
fn simd_exp2(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_exp_m1(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_ln_1p(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_log2(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_log10(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_cbrt(self) -> Complex<AutoSimd<[f32; 4]>>
fn simd_powi(self, n: i32) -> Complex<AutoSimd<[f32; 4]>>
sourcefn simd_hypot(
self,
b: Complex<AutoSimd<[f32; 4]>>
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
fn simd_hypot(
self,
b: Complex<AutoSimd<[f32; 4]>>
) -> <Complex<AutoSimd<[f32; 4]>> as SimdComplexField>::SimdRealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn simd_sin_cos(
self
) -> (Complex<AutoSimd<[f32; 4]>>, Complex<AutoSimd<[f32; 4]>>)
fn simd_sinh_cosh(
self
) -> (Complex<AutoSimd<[f32; 4]>>, Complex<AutoSimd<[f32; 4]>>)
sourcefn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
The polar form of this complex number: (modulus, arg)
sourcefn simd_to_exp(self) -> (Self::SimdRealField, Self)
fn simd_to_exp(self) -> (Self::SimdRealField, Self)
The exponential form of this complex number: (modulus, e^{i arg})
sourcefn simd_signum(self) -> Self
fn simd_signum(self) -> Self
The exponential part of this complex number: self / self.modulus()
fn simd_sinhc(self) -> Self
fn simd_coshc(self) -> Self
sourceimpl SimdComplexField for Complex<AutoSimd<[f64; 2]>>
impl SimdComplexField for Complex<AutoSimd<[f64; 2]>>
sourcefn simd_exp(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_exp(self) -> Complex<AutoSimd<[f64; 2]>>
Computes e^(self)
, where e
is the base of the natural logarithm.
sourcefn simd_ln(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_ln(self) -> Complex<AutoSimd<[f64; 2]>>
Computes the principal value of natural logarithm of self
.
This function has one branch cut:
(-∞, 0]
, continuous from above.
The branch satisfies -π ≤ arg(ln(z)) ≤ π
.
sourcefn simd_sqrt(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_sqrt(self) -> Complex<AutoSimd<[f64; 2]>>
Computes the principal value of the square root of self
.
This function has one branch cut:
(-∞, 0)
, continuous from above.
The branch satisfies -π/2 ≤ arg(sqrt(z)) ≤ π/2
.
sourcefn simd_powf(
self,
exp: <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 2]>>
fn simd_powf(
self,
exp: <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 2]>>
Raises self
to a floating point power.
sourcefn simd_log(self, base: AutoSimd<[f64; 2]>) -> Complex<AutoSimd<[f64; 2]>>
fn simd_log(self, base: AutoSimd<[f64; 2]>) -> Complex<AutoSimd<[f64; 2]>>
Returns the logarithm of self
with respect to an arbitrary base.
sourcefn simd_powc(
self,
exp: Complex<AutoSimd<[f64; 2]>>
) -> Complex<AutoSimd<[f64; 2]>>
fn simd_powc(
self,
exp: Complex<AutoSimd<[f64; 2]>>
) -> Complex<AutoSimd<[f64; 2]>>
Raises self
to a complex power.
sourcefn simd_asin(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_asin(self) -> Complex<AutoSimd<[f64; 2]>>
Computes the principal value of the inverse sine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Re(asin(z)) ≤ π/2
.
sourcefn simd_acos(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_acos(self) -> Complex<AutoSimd<[f64; 2]>>
Computes the principal value of the inverse cosine of self
.
This function has two branch cuts:
(-∞, -1)
, continuous from above.(1, ∞)
, continuous from below.
The branch satisfies 0 ≤ Re(acos(z)) ≤ π
.
sourcefn simd_atan(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_atan(self) -> Complex<AutoSimd<[f64; 2]>>
Computes the principal value of the inverse tangent of self
.
This function has two branch cuts:
(-∞i, -i]
, continuous from the left.[i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Re(atan(z)) ≤ π/2
.
sourcefn simd_asinh(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_asinh(self) -> Complex<AutoSimd<[f64; 2]>>
Computes the principal value of inverse hyperbolic sine of self
.
This function has two branch cuts:
(-∞i, -i)
, continuous from the left.(i, ∞i)
, continuous from the right.
The branch satisfies -π/2 ≤ Im(asinh(z)) ≤ π/2
.
sourcefn simd_acosh(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_acosh(self) -> Complex<AutoSimd<[f64; 2]>>
Computes the principal value of inverse hyperbolic cosine of self
.
This function has one branch cut:
(-∞, 1)
, continuous from above.
The branch satisfies -π ≤ Im(acosh(z)) ≤ π
and 0 ≤ Re(acosh(z)) < ∞
.
sourcefn simd_atanh(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_atanh(self) -> Complex<AutoSimd<[f64; 2]>>
Computes the principal value of inverse hyperbolic tangent of self
.
This function has two branch cuts:
(-∞, -1]
, continuous from above.[1, ∞)
, continuous from below.
The branch satisfies -π/2 ≤ Im(atanh(z)) ≤ π/2
.
type SimdRealField = AutoSimd<[f64; 2]>
type SimdRealField = AutoSimd<[f64; 2]>
Type of the coefficients of a complex number.
sourcefn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdValue>::Element
fn simd_horizontal_sum(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdValue>::Element
Computes the sum of all the lanes of self
.
sourcefn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdValue>::Element
fn simd_horizontal_product(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdValue>::Element
Computes the product of all the lanes of self
.
sourcefn from_simd_real(
re: <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 2]>>
fn from_simd_real(
re: <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 2]>>
Builds a pure-real complex number from the given value.
sourcefn simd_real(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
fn simd_real(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
The real part of this complex number.
sourcefn simd_imaginary(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
fn simd_imaginary(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
The imaginary part of this complex number.
sourcefn simd_argument(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
fn simd_argument(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
The argument of this complex number.
sourcefn simd_modulus(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
fn simd_modulus(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
The modulus of this complex number.
sourcefn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
fn simd_modulus_squared(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
The squared modulus of this complex number.
sourcefn simd_norm1(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
fn simd_norm1(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
The sum of the absolute value of this complex number’s real and imaginary part.
fn simd_recip(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_conjugate(self) -> Complex<AutoSimd<[f64; 2]>>
sourcefn simd_scale(
self,
factor: <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 2]>>
fn simd_scale(
self,
factor: <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 2]>>
Multiplies this complex number by factor
.
sourcefn simd_unscale(
self,
factor: <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 2]>>
fn simd_unscale(
self,
factor: <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
) -> Complex<AutoSimd<[f64; 2]>>
Divides this complex number by factor
.
fn simd_floor(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_ceil(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_round(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_trunc(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_fract(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_mul_add(
self,
a: Complex<AutoSimd<[f64; 2]>>,
b: Complex<AutoSimd<[f64; 2]>>
) -> Complex<AutoSimd<[f64; 2]>>
sourcefn simd_abs(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
fn simd_abs(
self
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
The absolute value of this complex number: self / self.signum()
. Read more
fn simd_exp2(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_exp_m1(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_ln_1p(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_log2(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_log10(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_cbrt(self) -> Complex<AutoSimd<[f64; 2]>>
fn simd_powi(self, n: i32) -> Complex<AutoSimd<[f64; 2]>>
sourcefn simd_hypot(
self,
b: Complex<AutoSimd<[f64; 2]>>
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
fn simd_hypot(
self,
b: Complex<AutoSimd<[f64; 2]>>
) -> <Complex<AutoSimd<[f64; 2]>> as SimdComplexField>::SimdRealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn simd_sin_cos(
self
) -> (Complex<AutoSimd<[f64; 2]>>, Complex<AutoSimd<[f64; 2]>>)
fn simd_sinh_cosh(
self
) -> (Complex<AutoSimd<[f64; 2]>>, Complex<AutoSimd<[f64; 2]>>)
sourcefn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
fn simd_to_polar(self) -> (Self::SimdRealField, Self::SimdRealField)
The polar form of this complex number: (modulus, arg)
sourcefn simd_to_exp(self) -> (Self::SimdRealField, Self)
fn simd_to_exp(self) -> (Self::SimdRealField, Self)
The exponential form of this complex number: (modulus, e^{i arg})
sourcefn simd_signum(self) -> Self
fn simd_signum(self) -> Self
The exponential part of this complex number: self / self.modulus()
fn simd_sinhc(self) -> Self
fn simd_coshc(self) -> Self
sourceimpl<N> SimdValue for Complex<N> where
N: SimdValue,
impl<N> SimdValue for Complex<N> where
N: SimdValue,
type Element = Complex<<N as SimdValue>::Element>
type Element = Complex<<N as SimdValue>::Element>
The type of the elements of each lane of this SIMD value.
type SimdBool = <N as SimdValue>::SimdBool
type SimdBool = <N as SimdValue>::SimdBool
Type of the result of comparing two SIMD values like self
.
sourcefn splat(val: <Complex<N> as SimdValue>::Element) -> Complex<N>
fn splat(val: <Complex<N> as SimdValue>::Element) -> Complex<N>
Initializes an SIMD value with each lanes set to val
.
sourcefn extract(&self, i: usize) -> <Complex<N> as SimdValue>::Element
fn extract(&self, i: usize) -> <Complex<N> as SimdValue>::Element
Extracts the i-th lane of self
. Read more
sourceunsafe fn extract_unchecked(
&self,
i: usize
) -> <Complex<N> as SimdValue>::Element
unsafe fn extract_unchecked(
&self,
i: usize
) -> <Complex<N> as SimdValue>::Element
Extracts the i-th lane of self
without bound-checking.
sourcefn replace(&mut self, i: usize, val: <Complex<N> as SimdValue>::Element)
fn replace(&mut self, i: usize, val: <Complex<N> as SimdValue>::Element)
Replaces the i-th lane of self
by val
. Read more
sourceunsafe fn replace_unchecked(
&mut self,
i: usize,
val: <Complex<N> as SimdValue>::Element
)
unsafe fn replace_unchecked(
&mut self,
i: usize,
val: <Complex<N> as SimdValue>::Element
)
Replaces the i-th lane of self
by val
without bound-checking.
sourcefn select(
self,
cond: <Complex<N> as SimdValue>::SimdBool,
other: Complex<N>
) -> Complex<N>
fn select(
self,
cond: <Complex<N> as SimdValue>::SimdBool,
other: Complex<N>
) -> Complex<N>
Merges self
and other
depending on the lanes of cond
. Read more
sourceimpl<'a, T> SubAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
impl<'a, T> SubAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
sourcefn sub_assign(&mut self, other: &Complex<T>)
fn sub_assign(&mut self, other: &Complex<T>)
Performs the -=
operation. Read more
sourceimpl<'a, T> SubAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
impl<'a, T> SubAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
sourcefn sub_assign(&mut self, other: &T)
fn sub_assign(&mut self, other: &T)
Performs the -=
operation. Read more
sourceimpl<T> SubAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
impl<T> SubAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
sourcefn sub_assign(&mut self, other: Complex<T>)
fn sub_assign(&mut self, other: Complex<T>)
Performs the -=
operation. Read more
sourceimpl<T> SubAssign<T> for Complex<T> where
T: Clone + NumAssign,
impl<T> SubAssign<T> for Complex<T> where
T: Clone + NumAssign,
sourcefn sub_assign(&mut self, other: T)
fn sub_assign(&mut self, other: T)
Performs the -=
operation. Read more
sourceimpl<N1, N2> SubsetOf<Complex<N2>> for Complex<N1> where
N2: SupersetOf<N1>,
impl<N1, N2> SubsetOf<Complex<N2>> for Complex<N1> where
N2: SupersetOf<N1>,
sourcefn to_superset(&self) -> Complex<N2>
fn to_superset(&self) -> Complex<N2>
The inclusion map: converts self
to the equivalent element of its superset.
sourcefn from_superset_unchecked(element: &Complex<N2>) -> Complex<N1>
fn from_superset_unchecked(element: &Complex<N2>) -> Complex<N1>
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
sourcefn is_in_subset(c: &Complex<N2>) -> bool
fn is_in_subset(c: &Complex<N2>) -> bool
Checks if element
is actually part of the subset Self
(and can be converted to it).
sourcefn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
sourceimpl<T> ToPrimitive for Complex<T> where
T: ToPrimitive + Num,
impl<T> ToPrimitive for Complex<T> where
T: ToPrimitive + Num,
sourcefn to_usize(&self) -> Option<usize>
fn to_usize(&self) -> Option<usize>
Converts the value of self
to a usize
. If the value cannot be
represented by a usize
, then None
is returned. Read more
sourcefn to_isize(&self) -> Option<isize>
fn to_isize(&self) -> Option<isize>
Converts the value of self
to an isize
. If the value cannot be
represented by an isize
, then None
is returned. Read more
sourcefn to_u8(&self) -> Option<u8>
fn to_u8(&self) -> Option<u8>
Converts the value of self
to a u8
. If the value cannot be
represented by a u8
, then None
is returned. Read more
sourcefn to_u16(&self) -> Option<u16>
fn to_u16(&self) -> Option<u16>
Converts the value of self
to a u16
. If the value cannot be
represented by a u16
, then None
is returned. Read more
sourcefn to_u32(&self) -> Option<u32>
fn to_u32(&self) -> Option<u32>
Converts the value of self
to a u32
. If the value cannot be
represented by a u32
, then None
is returned. Read more
sourcefn to_u64(&self) -> Option<u64>
fn to_u64(&self) -> Option<u64>
Converts the value of self
to a u64
. If the value cannot be
represented by a u64
, then None
is returned. Read more
sourcefn to_i8(&self) -> Option<i8>
fn to_i8(&self) -> Option<i8>
Converts the value of self
to an i8
. If the value cannot be
represented by an i8
, then None
is returned. Read more
sourcefn to_i16(&self) -> Option<i16>
fn to_i16(&self) -> Option<i16>
Converts the value of self
to an i16
. If the value cannot be
represented by an i16
, then None
is returned. Read more
sourcefn to_i32(&self) -> Option<i32>
fn to_i32(&self) -> Option<i32>
Converts the value of self
to an i32
. If the value cannot be
represented by an i32
, then None
is returned. Read more
sourcefn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
Converts the value of self
to an i64
. If the value cannot be
represented by an i64
, then None
is returned. Read more
sourcefn to_u128(&self) -> Option<u128>
fn to_u128(&self) -> Option<u128>
Converts the value of self
to a u128
. If the value cannot be
represented by a u128
(u64
under the default implementation), then
None
is returned. Read more
sourcefn to_i128(&self) -> Option<i128>
fn to_i128(&self) -> Option<i128>
Converts the value of self
to an i128
. If the value cannot be
represented by an i128
(i64
under the default implementation), then
None
is returned. Read more
impl<T> Copy for Complex<T> where
T: Copy,
impl<T> Eq for Complex<T> where
T: Eq,
impl<N> Field for Complex<N> where
N: SimdValue + Clone + NumAssign + ClosedNeg,
impl<N> PrimitiveSimdValue for Complex<N> where
N: PrimitiveSimdValue,
impl<T> StructuralEq for Complex<T>
impl<T> StructuralPartialEq for Complex<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for Complex<T> where
T: RefUnwindSafe,
impl<T> Send for Complex<T> where
T: Send,
impl<T> Sync for Complex<T> where
T: Sync,
impl<T> Unpin for Complex<T> where
T: Unpin,
impl<T> UnwindSafe for Complex<T> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> SimdComplexField for T where
T: ComplexField,
impl<T> SimdComplexField for T where
T: ComplexField,
type SimdRealField = <T as ComplexField>::RealField
type SimdRealField = <T as ComplexField>::RealField
Type of the coefficients of a complex number.
sourcefn from_simd_real(re: <T as SimdComplexField>::SimdRealField) -> T
fn from_simd_real(re: <T as SimdComplexField>::SimdRealField) -> T
Builds a pure-real complex number from the given value.
sourcefn simd_real(self) -> <T as SimdComplexField>::SimdRealField
fn simd_real(self) -> <T as SimdComplexField>::SimdRealField
The real part of this complex number.
sourcefn simd_imaginary(self) -> <T as SimdComplexField>::SimdRealField
fn simd_imaginary(self) -> <T as SimdComplexField>::SimdRealField
The imaginary part of this complex number.
sourcefn simd_modulus(self) -> <T as SimdComplexField>::SimdRealField
fn simd_modulus(self) -> <T as SimdComplexField>::SimdRealField
The modulus of this complex number.
sourcefn simd_modulus_squared(self) -> <T as SimdComplexField>::SimdRealField
fn simd_modulus_squared(self) -> <T as SimdComplexField>::SimdRealField
The squared modulus of this complex number.
sourcefn simd_argument(self) -> <T as SimdComplexField>::SimdRealField
fn simd_argument(self) -> <T as SimdComplexField>::SimdRealField
The argument of this complex number.
sourcefn simd_norm1(self) -> <T as SimdComplexField>::SimdRealField
fn simd_norm1(self) -> <T as SimdComplexField>::SimdRealField
The sum of the absolute value of this complex number’s real and imaginary part.
sourcefn simd_scale(self, factor: <T as SimdComplexField>::SimdRealField) -> T
fn simd_scale(self, factor: <T as SimdComplexField>::SimdRealField) -> T
Multiplies this complex number by factor
.
sourcefn simd_unscale(self, factor: <T as SimdComplexField>::SimdRealField) -> T
fn simd_unscale(self, factor: <T as SimdComplexField>::SimdRealField) -> T
Divides this complex number by factor
.
sourcefn simd_to_polar(
self
) -> (<T as SimdComplexField>::SimdRealField, <T as SimdComplexField>::SimdRealField)
fn simd_to_polar(
self
) -> (<T as SimdComplexField>::SimdRealField, <T as SimdComplexField>::SimdRealField)
The polar form of this complex number: (modulus, arg)
sourcefn simd_to_exp(self) -> (<T as SimdComplexField>::SimdRealField, T)
fn simd_to_exp(self) -> (<T as SimdComplexField>::SimdRealField, T)
The exponential form of this complex number: (modulus, e^{i arg})
sourcefn simd_signum(self) -> T
fn simd_signum(self) -> T
The exponential part of this complex number: self / self.modulus()
fn simd_floor(self) -> T
fn simd_ceil(self) -> T
fn simd_round(self) -> T
fn simd_trunc(self) -> T
fn simd_fract(self) -> T
fn simd_mul_add(self, a: T, b: T) -> T
sourcefn simd_abs(self) -> <T as SimdComplexField>::SimdRealField
fn simd_abs(self) -> <T as SimdComplexField>::SimdRealField
The absolute value of this complex number: self / self.signum()
. Read more
sourcefn simd_hypot(self, other: T) -> <T as SimdComplexField>::SimdRealField
fn simd_hypot(self, other: T) -> <T as SimdComplexField>::SimdRealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn simd_recip(self) -> T
fn simd_conjugate(self) -> T
fn simd_sin(self) -> T
fn simd_cos(self) -> T
fn simd_sin_cos(self) -> (T, T)
fn simd_sinh_cosh(self) -> (T, T)
fn simd_tan(self) -> T
fn simd_asin(self) -> T
fn simd_acos(self) -> T
fn simd_atan(self) -> T
fn simd_sinh(self) -> T
fn simd_cosh(self) -> T
fn simd_tanh(self) -> T
fn simd_asinh(self) -> T
fn simd_acosh(self) -> T
fn simd_atanh(self) -> T
fn simd_sinhc(self) -> T
fn simd_coshc(self) -> T
fn simd_log(self, base: <T as SimdComplexField>::SimdRealField) -> T
fn simd_log2(self) -> T
fn simd_log10(self) -> T
fn simd_ln(self) -> T
fn simd_ln_1p(self) -> T
fn simd_sqrt(self) -> T
fn simd_exp(self) -> T
fn simd_exp2(self) -> T
fn simd_exp_m1(self) -> T
fn simd_powi(self, n: i32) -> T
fn simd_powf(self, n: <T as SimdComplexField>::SimdRealField) -> T
fn simd_powc(self, n: T) -> T
fn simd_cbrt(self) -> T
sourcefn simd_horizontal_sum(self) -> <T as SimdValue>::Element
fn simd_horizontal_sum(self) -> <T as SimdValue>::Element
Computes the sum of all the lanes of self
.
sourcefn simd_horizontal_product(self) -> <T as SimdValue>::Element
fn simd_horizontal_product(self) -> <T as SimdValue>::Element
Computes the product of all the lanes of self
.
sourceimpl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
sourcefn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
sourcefn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
sourcefn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
sourcefn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.