Struct num::Complex
[−]
[src]
pub struct Complex<T> { pub re: T, pub im: T, }
A complex number in Cartesian form.
Fields
re | Real portion of the complex number |
im | Imaginary portion of the complex number |
Methods
impl<T> Complex<T> where T: Clone + Num
fn new(re: T, im: T) -> Complex<T>
Create a new Complex
fn i() -> Complex<T>
Returns imaginary unit
fn norm_sqr(&self) -> T
Returns the square of the norm (since T
doesn't necessarily
have a sqrt function), i.e. re^2 + im^2
.
fn scale(&self, t: T) -> Complex<T>
Multiplies self
by the scalar t
.
fn unscale(&self, t: T) -> Complex<T>
Divides self
by the scalar t
.
impl<T> Complex<T> where T: Neg<Output=T> + Clone + Num
fn conj(&self) -> Complex<T>
Returns the complex conjugate. i.e. re - i im
fn inv(&self) -> Complex<T>
Returns 1/self
impl<T> Complex<T> where T: Clone + Float
fn norm(&self) -> T
Calculate |self|
fn arg(&self) -> T
Calculate the principal Arg of self.
fn to_polar(&self) -> (T, T)
Convert to polar form (r, theta), such that self = r * exp(i * theta)
fn from_polar(r: &T, theta: &T) -> Complex<T>
Convert a polar representation into a complex number.
fn exp(&self) -> Complex<T>
Computes e^(self)
, where e
is the base of the natural logarithm.
fn ln(&self) -> Complex<T>
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)) ≤ π
.
fn sqrt(&self) -> Complex<T>
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
.
fn sin(&self) -> Complex<T>
Computes the sine of self
.
fn cos(&self) -> Complex<T>
Computes the cosine of self
.
fn tan(&self) -> Complex<T>
Computes the tangent of self
.
fn asin(&self) -> Complex<T>
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
.
fn acos(&self) -> Complex<T>
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)) ≤ π
.
fn atan(&self) -> Complex<T>
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
.
fn sinh(&self) -> Complex<T>
Computes the hyperbolic sine of self
.
fn cosh(&self) -> Complex<T>
Computes the hyperbolic cosine of self
.
fn tanh(&self) -> Complex<T>
Computes the hyperbolic tangent of self
.
fn asinh(&self) -> Complex<T>
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
.
fn acosh(&self) -> Complex<T>
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)) < ∞
.
fn atanh(&self) -> Complex<T>
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
.
fn is_nan(self) -> bool
Checks if the given complex number is NaN
fn is_infinite(self) -> bool
Checks if the given complex number is infinite
fn is_finite(self) -> bool
Checks if the given complex number is finite
fn is_normal(self) -> bool
Checks if the given complex number is normal