[][src]Trait nalgebra::ComplexField

pub trait ComplexField: 'static + Field<Element = Self, SimdBool = bool, Output = Self> + SubsetOf<Self> + SupersetOf<f64> + Send + Copy + Sync + Neg + Any + Debug + Display + FromPrimitive {
    type RealField: RealField;
    pub fn from_real(re: Self::RealField) -> Self;
pub fn real(self) -> Self::RealField;
pub fn imaginary(self) -> Self::RealField;
pub fn modulus(self) -> Self::RealField;
pub fn modulus_squared(self) -> Self::RealField;
pub fn argument(self) -> Self::RealField;
pub fn norm1(self) -> Self::RealField;
pub fn scale(self, factor: Self::RealField) -> Self;
pub fn unscale(self, factor: Self::RealField) -> Self;
pub fn floor(self) -> Self;
pub fn ceil(self) -> Self;
pub fn round(self) -> Self;
pub fn trunc(self) -> Self;
pub fn fract(self) -> Self;
pub fn mul_add(self, a: Self, b: Self) -> Self;
pub fn abs(self) -> Self::RealField;
pub fn hypot(self, other: Self) -> Self::RealField;
pub fn recip(self) -> Self;
pub fn conjugate(self) -> Self;
pub fn sin(self) -> Self;
pub fn cos(self) -> Self;
pub fn sin_cos(self) -> (Self, Self);
pub fn tan(self) -> Self;
pub fn asin(self) -> Self;
pub fn acos(self) -> Self;
pub fn atan(self) -> Self;
pub fn sinh(self) -> Self;
pub fn cosh(self) -> Self;
pub fn tanh(self) -> Self;
pub fn asinh(self) -> Self;
pub fn acosh(self) -> Self;
pub fn atanh(self) -> Self;
pub fn log(self, base: Self::RealField) -> Self;
pub fn log2(self) -> Self;
pub fn log10(self) -> Self;
pub fn ln(self) -> Self;
pub fn ln_1p(self) -> Self;
pub fn sqrt(self) -> Self;
pub fn exp(self) -> Self;
pub fn exp2(self) -> Self;
pub fn exp_m1(self) -> Self;
pub fn powi(self, n: i32) -> Self;
pub fn powf(self, n: Self::RealField) -> Self;
pub fn powc(self, n: Self) -> Self;
pub fn cbrt(self) -> Self;
pub fn is_finite(&self) -> bool;
pub fn try_sqrt(self) -> Option<Self>; pub fn to_polar(self) -> (Self::RealField, Self::RealField) { ... }
pub fn to_exp(self) -> (Self::RealField, Self) { ... }
pub fn signum(self) -> Self { ... }
pub fn sinh_cosh(self) -> (Self, Self) { ... }
pub fn sinc(self) -> Self { ... }
pub fn sinhc(self) -> Self { ... }
pub fn cosc(self) -> Self { ... }
pub fn coshc(self) -> Self { ... } }

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

pub fn from_real(re: Self::RealField) -> Self[src]

Builds a pure-real complex number from the given value.

pub fn real(self) -> Self::RealField[src]

The real part of this complex number.

pub fn imaginary(self) -> Self::RealField[src]

The imaginary part of this complex number.

pub fn modulus(self) -> Self::RealField[src]

The modulus of this complex number.

pub fn modulus_squared(self) -> Self::RealField[src]

The squared modulus of this complex number.

pub fn argument(self) -> Self::RealField[src]

The argument of this complex number.

pub fn norm1(self) -> Self::RealField[src]

The sum of the absolute value of this complex number's real and imaginary part.

pub fn scale(self, factor: Self::RealField) -> Self[src]

Multiplies this complex number by factor.

pub fn unscale(self, factor: Self::RealField) -> Self[src]

Divides this complex number by factor.

pub fn floor(self) -> Self[src]

pub fn ceil(self) -> Self[src]

pub fn round(self) -> Self[src]

pub fn trunc(self) -> Self[src]

pub fn fract(self) -> Self[src]

pub fn mul_add(self, a: Self, b: Self) -> Self[src]

pub fn abs(self) -> Self::RealField[src]

The absolute value of this complex number: self / self.signum().

This is equivalent to self.modulus().

pub fn hypot(self, other: Self) -> Self::RealField[src]

Computes (self.conjugate() * self + other.conjugate() * other).sqrt()

pub fn recip(self) -> Self[src]

pub fn conjugate(self) -> Self[src]

pub fn sin(self) -> Self[src]

pub fn cos(self) -> Self[src]

pub fn sin_cos(self) -> (Self, Self)[src]

pub fn tan(self) -> Self[src]

pub fn asin(self) -> Self[src]

pub fn acos(self) -> Self[src]

pub fn atan(self) -> Self[src]

pub fn sinh(self) -> Self[src]

pub fn cosh(self) -> Self[src]

pub fn tanh(self) -> Self[src]

pub fn asinh(self) -> Self[src]

pub fn acosh(self) -> Self[src]

pub fn atanh(self) -> Self[src]

pub fn log(self, base: Self::RealField) -> Self[src]

pub fn log2(self) -> Self[src]

pub fn log10(self) -> Self[src]

pub fn ln(self) -> Self[src]

pub fn ln_1p(self) -> Self[src]

pub fn sqrt(self) -> Self[src]

pub fn exp(self) -> Self[src]

pub fn exp2(self) -> Self[src]

pub fn exp_m1(self) -> Self[src]

pub fn powi(self, n: i32) -> Self[src]

pub fn powf(self, n: Self::RealField) -> Self[src]

pub fn powc(self, n: Self) -> Self[src]

pub fn cbrt(self) -> Self[src]

pub fn is_finite(&self) -> bool[src]

pub fn try_sqrt(self) -> Option<Self>[src]

Loading content...

Provided methods

pub fn to_polar(self) -> (Self::RealField, Self::RealField)[src]

The polar form of this complex number: (modulus, arg)

pub fn to_exp(self) -> (Self::RealField, Self)[src]

The exponential form of this complex number: (modulus, e^{i arg})

pub fn signum(self) -> Self[src]

The exponential part of this complex number: self / self.modulus()

pub fn sinh_cosh(self) -> (Self, Self)[src]

pub fn sinc(self) -> Self[src]

Cardinal sine

pub fn sinhc(self) -> Self[src]

pub fn cosc(self) -> Self[src]

Cardinal cos

pub fn coshc(self) -> Self[src]

Loading content...

Implementations on Foreign Types

impl ComplexField for f64[src]

type RealField = f64

impl ComplexField for f32[src]

type RealField = f32

Loading content...

Implementors

impl<N> ComplexField for Complex<N> where
    N: RealField + PartialOrd<N>, 
[src]

type RealField = N

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 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 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 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.

Loading content...