[−][src]Trait nalgebra::ComplexField
Trait shared by all complex fields and its subfields (like real numbers).
Complex numbers are equipped with functions that are commonly used on complex numbers and reals. The results of those functions only have to be approximately equal to the actual theoretical values.
Associated Types
Loading content...Required methods
fn from_real(re: Self::RealField) -> Self
Builds a pure-real complex number from the given value.
fn real(self) -> Self::RealField
The real part of this complex number.
fn imaginary(self) -> Self::RealField
The imaginary part of this complex number.
fn modulus(self) -> Self::RealField
The modulus of this complex number.
fn modulus_squared(self) -> Self::RealField
The squared modulus of this complex number.
fn argument(self) -> Self::RealField
The argument of this complex number.
fn norm1(self) -> Self::RealField
The sum of the absolute value of this complex number's real and imaginary part.
fn scale(self, factor: Self::RealField) -> Self
Multiplies this complex number by factor
.
fn unscale(self, factor: Self::RealField) -> Self
Divides this complex number by factor
.
fn floor(self) -> Self
fn ceil(self) -> Self
fn round(self) -> Self
fn trunc(self) -> Self
fn fract(self) -> Self
fn mul_add(self, a: Self, b: Self) -> Self
fn abs(self) -> Self::RealField
The absolute value of this complex number: self / self.signum()
.
This is equivalent to self.modulus()
.
fn hypot(self, other: Self) -> Self::RealField
Computes (self.conjugate() * self + other.conjugate() * other).sqrt()
fn recip(self) -> Self
fn conjugate(self) -> Self
fn sin(self) -> Self
fn cos(self) -> Self
fn sin_cos(self) -> (Self, Self)
fn tan(self) -> Self
fn asin(self) -> Self
fn acos(self) -> Self
fn atan(self) -> Self
fn sinh(self) -> Self
fn cosh(self) -> Self
fn tanh(self) -> Self
fn asinh(self) -> Self
fn acosh(self) -> Self
fn atanh(self) -> Self
fn log(self, base: Self::RealField) -> Self
fn log2(self) -> Self
fn log10(self) -> Self
fn ln(self) -> Self
fn ln_1p(self) -> Self
fn sqrt(self) -> Self
fn exp(self) -> Self
fn exp2(self) -> Self
fn exp_m1(self) -> Self
fn powi(self, n: i32) -> Self
fn powf(self, n: Self::RealField) -> Self
fn powc(self, n: Self) -> Self
fn cbrt(self) -> Self
fn is_finite(&self) -> bool
fn try_sqrt(self) -> Option<Self>
Provided methods
fn to_polar(self) -> (Self::RealField, Self::RealField)
The polar form of this complex number: (modulus, arg)
fn to_exp(self) -> (Self::RealField, Self)
The exponential form of this complex number: (modulus, e^{i arg})
fn signum(self) -> Self
The exponential part of this complex number: self / self.modulus()
fn sinh_cosh(self) -> (Self, Self)
fn sinc(self) -> Self
Cardinal sine
fn sinhc(self) -> Self
fn cosc(self) -> Self
Cardinal cos
fn coshc(self) -> Self
Implementations on Foreign Types
impl ComplexField for f32
[src]
type RealField = f32
pub fn from_real(re: <f32 as ComplexField>::RealField) -> f32
[src]
pub fn real(self) -> <f32 as ComplexField>::RealField
[src]
pub fn imaginary(self) -> <f32 as ComplexField>::RealField
[src]
pub fn norm1(self) -> <f32 as ComplexField>::RealField
[src]
pub fn modulus(self) -> <f32 as ComplexField>::RealField
[src]
pub fn modulus_squared(self) -> <f32 as ComplexField>::RealField
[src]
pub fn argument(self) -> <f32 as ComplexField>::RealField
[src]
pub fn to_exp(self) -> (f32, f32)
[src]
pub fn recip(self) -> f32
[src]
pub fn conjugate(self) -> f32
[src]
pub fn scale(self, factor: <f32 as ComplexField>::RealField) -> f32
[src]
pub fn unscale(self, factor: <f32 as ComplexField>::RealField) -> f32
[src]
pub fn floor(self) -> f32
[src]
pub fn ceil(self) -> f32
[src]
pub fn round(self) -> f32
[src]
pub fn trunc(self) -> f32
[src]
pub fn fract(self) -> f32
[src]
pub fn abs(self) -> f32
[src]
pub fn signum(self) -> f32
[src]
pub fn mul_add(self, a: f32, b: f32) -> f32
[src]
pub fn powi(self, n: i32) -> f32
[src]
pub fn powf(self, n: f32) -> f32
[src]
pub fn powc(self, n: f32) -> f32
[src]
pub fn sqrt(self) -> f32
[src]
pub fn try_sqrt(self) -> Option<f32>
[src]
pub fn exp(self) -> f32
[src]
pub fn exp2(self) -> f32
[src]
pub fn exp_m1(self) -> f32
[src]
pub fn ln_1p(self) -> f32
[src]
pub fn ln(self) -> f32
[src]
pub fn log(self, base: f32) -> f32
[src]
pub fn log2(self) -> f32
[src]
pub fn log10(self) -> f32
[src]
pub fn cbrt(self) -> f32
[src]
pub fn hypot(self, other: f32) -> <f32 as ComplexField>::RealField
[src]
pub fn sin(self) -> f32
[src]
pub fn cos(self) -> f32
[src]
pub fn tan(self) -> f32
[src]
pub fn asin(self) -> f32
[src]
pub fn acos(self) -> f32
[src]
pub fn atan(self) -> f32
[src]
pub fn sin_cos(self) -> (f32, f32)
[src]
pub fn sinh(self) -> f32
[src]
pub fn cosh(self) -> f32
[src]
pub fn tanh(self) -> f32
[src]
pub fn asinh(self) -> f32
[src]
pub fn acosh(self) -> f32
[src]
pub fn atanh(self) -> f32
[src]
pub fn is_finite(&self) -> bool
[src]
impl ComplexField for f64
[src]
type RealField = f64
pub fn from_real(re: <f64 as ComplexField>::RealField) -> f64
[src]
pub fn real(self) -> <f64 as ComplexField>::RealField
[src]
pub fn imaginary(self) -> <f64 as ComplexField>::RealField
[src]
pub fn norm1(self) -> <f64 as ComplexField>::RealField
[src]
pub fn modulus(self) -> <f64 as ComplexField>::RealField
[src]
pub fn modulus_squared(self) -> <f64 as ComplexField>::RealField
[src]
pub fn argument(self) -> <f64 as ComplexField>::RealField
[src]
pub fn to_exp(self) -> (f64, f64)
[src]
pub fn recip(self) -> f64
[src]
pub fn conjugate(self) -> f64
[src]
pub fn scale(self, factor: <f64 as ComplexField>::RealField) -> f64
[src]
pub fn unscale(self, factor: <f64 as ComplexField>::RealField) -> f64
[src]
pub fn floor(self) -> f64
[src]
pub fn ceil(self) -> f64
[src]
pub fn round(self) -> f64
[src]
pub fn trunc(self) -> f64
[src]
pub fn fract(self) -> f64
[src]
pub fn abs(self) -> f64
[src]
pub fn signum(self) -> f64
[src]
pub fn mul_add(self, a: f64, b: f64) -> f64
[src]
pub fn powi(self, n: i32) -> f64
[src]
pub fn powf(self, n: f64) -> f64
[src]
pub fn powc(self, n: f64) -> f64
[src]
pub fn sqrt(self) -> f64
[src]
pub fn try_sqrt(self) -> Option<f64>
[src]
pub fn exp(self) -> f64
[src]
pub fn exp2(self) -> f64
[src]
pub fn exp_m1(self) -> f64
[src]
pub fn ln_1p(self) -> f64
[src]
pub fn ln(self) -> f64
[src]
pub fn log(self, base: f64) -> f64
[src]
pub fn log2(self) -> f64
[src]
pub fn log10(self) -> f64
[src]
pub fn cbrt(self) -> f64
[src]
pub fn hypot(self, other: f64) -> <f64 as ComplexField>::RealField
[src]
pub fn sin(self) -> f64
[src]
pub fn cos(self) -> f64
[src]
pub fn tan(self) -> f64
[src]
pub fn asin(self) -> f64
[src]
pub fn acos(self) -> f64
[src]
pub fn atan(self) -> f64
[src]
pub fn sin_cos(self) -> (f64, f64)
[src]
pub fn sinh(self) -> f64
[src]
pub fn cosh(self) -> f64
[src]
pub fn tanh(self) -> f64
[src]
pub fn asinh(self) -> f64
[src]
pub fn acosh(self) -> f64
[src]
pub fn atanh(self) -> f64
[src]
pub fn is_finite(&self) -> bool
[src]
Implementors
impl<N> ComplexField for Complex<N> where
N: RealField + PartialOrd<N>,
[src]
N: RealField + PartialOrd<N>,
type RealField = N
pub fn from_real(re: <Complex<N> as ComplexField>::RealField) -> Complex<N>
[src]
pub fn real(self) -> <Complex<N> as ComplexField>::RealField
[src]
pub fn imaginary(self) -> <Complex<N> as ComplexField>::RealField
[src]
pub fn argument(self) -> <Complex<N> as ComplexField>::RealField
[src]
pub fn modulus(self) -> <Complex<N> as ComplexField>::RealField
[src]
pub fn modulus_squared(self) -> <Complex<N> as ComplexField>::RealField
[src]
pub fn norm1(self) -> <Complex<N> as ComplexField>::RealField
[src]
pub fn recip(self) -> Complex<N>
[src]
pub fn conjugate(self) -> Complex<N>
[src]
pub fn scale(
self,
factor: <Complex<N> as ComplexField>::RealField
) -> Complex<N>
[src]
self,
factor: <Complex<N> as ComplexField>::RealField
) -> Complex<N>
pub fn unscale(
self,
factor: <Complex<N> as ComplexField>::RealField
) -> Complex<N>
[src]
self,
factor: <Complex<N> as ComplexField>::RealField
) -> Complex<N>
pub fn floor(self) -> Complex<N>
[src]
pub fn ceil(self) -> Complex<N>
[src]
pub fn round(self) -> Complex<N>
[src]
pub fn trunc(self) -> Complex<N>
[src]
pub fn fract(self) -> Complex<N>
[src]
pub fn mul_add(self, a: Complex<N>, b: Complex<N>) -> Complex<N>
[src]
pub fn abs(self) -> <Complex<N> as ComplexField>::RealField
[src]
pub fn exp2(self) -> Complex<N>
[src]
pub fn exp_m1(self) -> Complex<N>
[src]
pub fn ln_1p(self) -> Complex<N>
[src]
pub fn log2(self) -> Complex<N>
[src]
pub fn log10(self) -> Complex<N>
[src]
pub fn cbrt(self) -> Complex<N>
[src]
pub fn powi(self, n: i32) -> Complex<N>
[src]
pub fn is_finite(&self) -> bool
[src]
pub fn exp(self) -> Complex<N>
[src]
Computes e^(self)
, where e
is the base of the natural logarithm.
pub fn ln(self) -> Complex<N>
[src]
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)) ≤ π
.
pub fn sqrt(self) -> Complex<N>
[src]
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
.
pub fn try_sqrt(self) -> Option<Complex<N>>
[src]
pub fn hypot(self, b: Complex<N>) -> <Complex<N> as ComplexField>::RealField
[src]
pub fn powf(self, exp: <Complex<N> as ComplexField>::RealField) -> Complex<N>
[src]
Raises self
to a floating point power.
pub fn log(self, base: N) -> Complex<N>
[src]
Returns the logarithm of self
with respect to an arbitrary base.
pub fn powc(self, exp: Complex<N>) -> Complex<N>
[src]
Raises self
to a complex power.
pub fn sin(self) -> Complex<N>
[src]
Computes the sine of self
.
pub fn cos(self) -> Complex<N>
[src]
Computes the cosine of self
.
pub fn sin_cos(self) -> (Complex<N>, Complex<N>)
[src]
pub fn tan(self) -> Complex<N>
[src]
Computes the tangent of self
.
pub fn asin(self) -> Complex<N>
[src]
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
.
pub fn acos(self) -> Complex<N>
[src]
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)) ≤ π
.
pub fn atan(self) -> Complex<N>
[src]
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
.
pub fn sinh(self) -> Complex<N>
[src]
Computes the hyperbolic sine of self
.
pub fn cosh(self) -> Complex<N>
[src]
Computes the hyperbolic cosine of self
.
pub fn sinh_cosh(self) -> (Complex<N>, Complex<N>)
[src]
pub fn tanh(self) -> Complex<N>
[src]
Computes the hyperbolic tangent of self
.
pub fn asinh(self) -> Complex<N>
[src]
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
.
pub fn acosh(self) -> Complex<N>
[src]
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)) < ∞
.
pub fn atanh(self) -> Complex<N>
[src]
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
.