# Struct num::Complex

``````#[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§

source§

### impl<T> Complex<T>

source

#### pub const fn new(re: T, im: T) -> Complex<T>

Create a new Complex

source§

### impl<T> Complex<T>where T: Clone + Num,

source

#### pub fn i() -> Complex<T>

Returns imaginary unit

source

#### pub 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`.

source

#### pub fn scale(&self, t: T) -> Complex<T>

Multiplies `self` by the scalar `t`.

source

#### pub fn unscale(&self, t: T) -> Complex<T>

Divides `self` by the scalar `t`.

source

#### pub fn powu(&self, exp: u32) -> Complex<T>

Raises `self` to an unsigned integer power.

source§

### impl<T> Complex<T>where T: Clone + Num + Neg<Output = T>,

source

#### pub fn conj(&self) -> Complex<T>

Returns the complex conjugate. i.e. `re - i im`

source

#### pub fn inv(&self) -> Complex<T>

Returns `1/self`

source

#### pub fn powi(&self, exp: i32) -> Complex<T>

Raises `self` to a signed integer power.

source§

### impl<T> Complex<T>where T: Clone + Signed,

source

#### pub fn l1_norm(&self) -> T

Returns the L1 norm `|re| + |im|` – the Manhattan distance from the origin.

source§

### impl<T> Complex<T>where T: Float,

source

Calculate |self|

source

#### pub fn arg(self) -> T

Calculate the principal Arg of self.

source

#### pub fn to_polar(self) -> (T, T)

Convert to polar form (r, theta), such that `self = r * exp(i * theta)`

source

#### pub fn from_polar(r: T, theta: T) -> Complex<T>

Convert a polar representation into a complex number.

source

#### pub fn exp(self) -> Complex<T>

Computes `e^(self)`, where `e` is the base of the natural logarithm.

source

#### pub 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)) ≤ π`.

source

#### pub 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`.

source

#### pub fn cbrt(self) -> Complex<T>

Computes the principal value of the cube root of `self`.

This function has one branch cut:

• `(-∞, 0)`, continuous from above.

The branch satisfies `-π/3 ≤ arg(cbrt(z)) ≤ π/3`.

Note that this does not match the usual result for the cube root of negative real numbers. For example, the real cube root of `-8` is `-2`, but the principal complex cube root of `-8` is `1 + i√3`.

source

#### pub fn powf(self, exp: T) -> Complex<T>

Raises `self` to a floating point power.

source

#### pub fn log(self, base: T) -> Complex<T>

Returns the logarithm of `self` with respect to an arbitrary base.

source

#### pub fn powc(self, exp: Complex<T>) -> Complex<T>

Raises `self` to a complex power.

source

#### pub fn expf(self, base: T) -> Complex<T>

Raises a floating point number to the complex power `self`.

source

#### pub fn sin(self) -> Complex<T>

Computes the sine of `self`.

source

#### pub fn cos(self) -> Complex<T>

Computes the cosine of `self`.

source

#### pub fn tan(self) -> Complex<T>

Computes the tangent of `self`.

source

#### pub 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`.

source

#### pub 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)) ≤ π`.

source

#### pub 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`.

source

#### pub fn sinh(self) -> Complex<T>

Computes the hyperbolic sine of `self`.

source

#### pub fn cosh(self) -> Complex<T>

Computes the hyperbolic cosine of `self`.

source

#### pub fn tanh(self) -> Complex<T>

Computes the hyperbolic tangent of `self`.

source

#### pub 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`.

source

#### pub 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)) < ∞`.

source

#### pub 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`.

source

#### pub fn finv(self) -> Complex<T>

Returns `1/self` using floating-point operations.

This may be more accurate than the generic `self.inv()` in cases where `self.norm_sqr()` would overflow to ∞ or underflow to 0.

##### §Examples
``````use num_complex::Complex64;
let c = Complex64::new(1e300, 1e300);

// The generic `inv()` will overflow.
assert!(!c.inv().is_normal());

// But we can do better for `Float` types.
let inv = c.finv();
assert!(inv.is_normal());
println!("{:e}", inv);

let expected = Complex64::new(5e-301, -5e-301);
assert!((inv - expected).norm() < 1e-315);``````
source

#### pub fn fdiv(self, other: Complex<T>) -> Complex<T>

Returns `self/other` using floating-point operations.

This may be more accurate than the generic `Div` implementation in cases where `other.norm_sqr()` would overflow to ∞ or underflow to 0.

##### §Examples
``````use num_complex::Complex64;
let a = Complex64::new(2.0, 3.0);
let b = Complex64::new(1e300, 1e300);

// Generic division will overflow.
assert!(!(a / b).is_normal());

// But we can do better for `Float` types.
let quotient = a.fdiv(b);
assert!(quotient.is_normal());
println!("{:e}", quotient);

let expected = Complex64::new(2.5e-300, 5e-301);
assert!((quotient - expected).norm() < 1e-315);``````
source§

### impl<T> Complex<T>where T: FloatCore,

source

#### pub fn is_nan(self) -> bool

Checks if the given complex number is NaN

source

#### pub fn is_infinite(self) -> bool

Checks if the given complex number is infinite

source

#### pub fn is_finite(self) -> bool

Checks if the given complex number is finite

source

#### pub fn is_normal(self) -> bool

Checks if the given complex number is normal

## Trait Implementations§

source§

### impl<'a, 'b, T> Add<&'b Complex<T>> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `+` operator.
source§

#### fn add( self, other: &Complex<T> ) -> <&'a Complex<T> as Add<&'b Complex<T>>>::Output

Performs the `+` operation. Read more
source§

### impl<'a, T> Add<&'a Complex<T>> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `+` operator.
source§

Performs the `+` operation. Read more
source§

### impl<'a, 'b, T> Add<&'a T> for &'b Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `+` operator.
source§

Performs the `+` operation. Read more
source§

### impl<'a, T> Add<&'a T> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `+` operator.
source§

Performs the `+` operation. Read more
source§

### impl<'a, T> Add<Complex<T>> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `+` operator.
source§

Performs the `+` operation. Read more
source§

### impl<'a, T> Add<T> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `+` operator.
source§

Performs the `+` operation. Read more
source§

### impl<T> Add<T> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `+` operator.
source§

Performs the `+` operation. Read more
source§

### impl<T> Add for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `+` operator.
source§

Performs the `+` operation. Read more
source§

### impl<'a, T> AddAssign<&'a Complex<T>> for Complex<T>where T: Clone + NumAssign,

source§

#### fn add_assign(&mut self, other: &Complex<T>)

Performs the `+=` operation. Read more
source§

### impl<'a, T> AddAssign<&'a T> for Complex<T>where T: Clone + NumAssign,

source§

#### fn add_assign(&mut self, other: &T)

Performs the `+=` operation. Read more
source§

### impl<T> AddAssign<T> for Complex<T>where T: Clone + NumAssign,

source§

#### fn add_assign(&mut self, other: T)

Performs the `+=` operation. Read more
source§

### impl<T> AddAssign for Complex<T>where T: Clone + NumAssign,

source§

#### fn add_assign(&mut self, other: Complex<T>)

Performs the `+=` operation. Read more
source§

### impl<T, U> AsPrimitive<U> for Complex<T>where T: AsPrimitive<U>, U: 'static + Copy,

source§

#### fn as_(self) -> U

Convert a value to another, using the `as` operator.
source§

### impl<T> Binary for Complex<T>where T: Binary + Num + PartialOrd + Clone,

source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter.
source§

### impl<T> Clone for Complex<T>where T: Clone,

source§

#### fn clone(&self) -> Complex<T>

Returns a copy of the value. Read more
1.0.0 · source§

#### fn clone_from(&mut self, source: &Self)

Performs copy-assignment from `source`. Read more
source§

### impl<T> Debug for Complex<T>where T: Debug,

source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

### impl<T> Default for Complex<T>where T: Default,

source§

#### fn default() -> Complex<T>

Returns the “default value” for a type. Read more
source§

### impl<T> Display for Complex<T>where T: Display + Num + PartialOrd + Clone,

source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

### impl<T, Re, Im> Distribution<Complex<T>> for ComplexDistribution<Re, Im>where T: Num + Clone, Re: Distribution<T>, Im: Distribution<T>,

source§

#### fn sample<R>(&self, rng: &mut R) -> Complex<T>where R: Rng + ?Sized,

Generate a random value of `T`, using `rng` as the source of randomness.
source§

#### fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>where R: Rng, Self: Sized,

Create an iterator that generates random values of `T`, using `rng` as the source of randomness. Read more
source§

#### fn map<F, S>(self, func: F) -> DistMap<Self, F, T, S>where F: Fn(T) -> S, Self: Sized,

Create a distribution of values of ‘S’ by mapping the output of `Self` through the closure `F` Read more
source§

### impl<'a, 'b, T> Div<&'b Complex<T>> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `/` operator.
source§

#### fn div( self, other: &Complex<T> ) -> <&'a Complex<T> as Div<&'b Complex<T>>>::Output

Performs the `/` operation. Read more
source§

### impl<'a, T> Div<&'a Complex<T>> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `/` operator.
source§

#### fn div(self, other: &Complex<T>) -> <Complex<T> as Div<&'a Complex<T>>>::Output

Performs the `/` operation. Read more
source§

### impl<'a, 'b, T> Div<&'a T> for &'b Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `/` operator.
source§

#### fn div(self, other: &T) -> <&'b Complex<T> as Div<&'a T>>::Output

Performs the `/` operation. Read more
source§

### impl<'a, T> Div<&'a T> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `/` operator.
source§

#### fn div(self, other: &T) -> <Complex<T> as Div<&'a T>>::Output

Performs the `/` operation. Read more
source§

### impl<'a, T> Div<Complex<T>> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `/` operator.
source§

#### fn div(self, other: Complex<T>) -> <&'a Complex<T> as Div<Complex<T>>>::Output

Performs the `/` operation. Read more
source§

### impl<'a, T> Div<T> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `/` operator.
source§

#### fn div(self, other: T) -> <&'a Complex<T> as Div<T>>::Output

Performs the `/` operation. Read more
source§

### impl<T> Div<T> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `/` operator.
source§

#### fn div(self, other: T) -> <Complex<T> as Div<T>>::Output

Performs the `/` operation. Read more
source§

### impl<T> Div for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `/` operator.
source§

#### fn div(self, other: Complex<T>) -> <Complex<T> as Div>::Output

Performs the `/` operation. Read more
source§

### impl<'a, T> DivAssign<&'a Complex<T>> for Complex<T>where T: Clone + NumAssign,

source§

#### fn div_assign(&mut self, other: &Complex<T>)

Performs the `/=` operation. Read more
source§

### impl<'a, T> DivAssign<&'a T> for Complex<T>where T: Clone + NumAssign,

source§

#### fn div_assign(&mut self, other: &T)

Performs the `/=` operation. Read more
source§

### impl<T> DivAssign<T> for Complex<T>where T: Clone + NumAssign,

source§

#### fn div_assign(&mut self, other: T)

Performs the `/=` operation. Read more
source§

### impl<T> DivAssign for Complex<T>where T: Clone + NumAssign,

source§

#### fn div_assign(&mut self, other: Complex<T>)

Performs the `/=` operation. Read more
source§

### impl<'a, T> From<&'a T> for Complex<T>where T: Clone + Num,

source§

#### fn from(re: &T) -> Complex<T>

Converts to this type from the input type.
source§

### impl<T> From<T> for Complex<T>where T: Clone + Num,

source§

#### fn from(re: T) -> Complex<T>

Converts to this type from the input type.
source§

### impl<T> FromPrimitive for Complex<T>where T: FromPrimitive + Num,

source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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
source§

#### 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
source§

#### fn from_f32(n: f32) -> Option<Complex<T>>

Converts a `f32` to return an optional value of this type. If the value cannot be represented by this type, then `None` is returned.
source§

#### fn from_f64(n: f64) -> Option<Complex<T>>

Converts a `f64` to return an optional value of this type. If the value cannot be represented by this type, then `None` is returned. Read more
source§

### impl<T> FromStr for Complex<T>where T: FromStr + Num + Clone,

source§

#### fn from_str(s: &str) -> Result<Complex<T>, <Complex<T> as FromStr>::Err>

Parses `a +/- bi`; `ai +/- b`; `a`; or `bi` where `a` and `b` are of type `T`

§

#### type Err = ParseComplexError<<T as FromStr>::Err>

The associated error which can be returned from parsing.
source§

### impl<T> Hash for Complex<T>where T: Hash,

source§

#### fn hash<__H>(&self, state: &mut __H)where __H: Hasher,

Feeds this value into the given `Hasher`. Read more
1.3.0 · source§

#### fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given `Hasher`. Read more
source§

### impl<'a, T> Inv for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn inv(self) -> <&'a Complex<T> as Inv>::Output

Returns the multiplicative inverse of `self`. Read more
source§

### impl<T> Inv for Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn inv(self) -> <Complex<T> as Inv>::Output

Returns the multiplicative inverse of `self`. Read more
source§

### impl<T> LowerExp for Complex<T>where T: LowerExp + Num + PartialOrd + Clone,

source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter.
source§

### impl<T> LowerHex for Complex<T>where T: LowerHex + Num + PartialOrd + Clone,

source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter.
source§

### impl<'a, 'b, T> Mul<&'b Complex<T>> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `*` operator.
source§

#### fn mul( self, other: &Complex<T> ) -> <&'a Complex<T> as Mul<&'b Complex<T>>>::Output

Performs the `*` operation. Read more
source§

### impl<'a, T> Mul<&'a Complex<T>> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `*` operator.
source§

#### fn mul(self, other: &Complex<T>) -> <Complex<T> as Mul<&'a Complex<T>>>::Output

Performs the `*` operation. Read more
source§

### impl<'a, 'b, T> Mul<&'a T> for &'b Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `*` operator.
source§

#### fn mul(self, other: &T) -> <&'b Complex<T> as Mul<&'a T>>::Output

Performs the `*` operation. Read more
source§

### impl<'a, T> Mul<&'a T> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `*` operator.
source§

#### fn mul(self, other: &T) -> <Complex<T> as Mul<&'a T>>::Output

Performs the `*` operation. Read more
source§

### impl<'a, T> Mul<Complex<T>> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `*` operator.
source§

#### fn mul(self, other: Complex<T>) -> <&'a Complex<T> as Mul<Complex<T>>>::Output

Performs the `*` operation. Read more
source§

### impl<'a, T> Mul<T> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `*` operator.
source§

#### fn mul(self, other: T) -> <&'a Complex<T> as Mul<T>>::Output

Performs the `*` operation. Read more
source§

### impl<T> Mul<T> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `*` operator.
source§

#### fn mul(self, other: T) -> <Complex<T> as Mul<T>>::Output

Performs the `*` operation. Read more
source§

### impl<T> Mul for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `*` operator.
source§

#### fn mul(self, other: Complex<T>) -> <Complex<T> as Mul>::Output

Performs the `*` operation. Read more
source§

### impl<'a, 'b, T> MulAdd<&'b Complex<T>> for &'a Complex<T>where T: Clone + Num + MulAdd<Output = T>,

§

#### type Output = Complex<T>

The resulting type after applying the fused multiply-add.
source§

Performs the fused multiply-add operation `(self * a) + b`
source§

### impl<T> MulAdd for Complex<T>where T: Clone + Num + MulAdd<Output = T>,

§

#### type Output = Complex<T>

The resulting type after applying the fused multiply-add.
source§

Performs the fused multiply-add operation `(self * a) + b`
source§

### impl<'a, 'b, T> MulAddAssign<&'a Complex<T>, &'b Complex<T>> for Complex<T>where T: Clone + NumAssign + MulAddAssign,

source§

Performs the fused multiply-add assignment operation `*self = (*self * a) + b`
source§

source§

Performs the fused multiply-add assignment operation `*self = (*self * a) + b`
source§

### impl<'a, T> MulAssign<&'a Complex<T>> for Complex<T>where T: Clone + NumAssign,

source§

#### fn mul_assign(&mut self, other: &Complex<T>)

Performs the `*=` operation. Read more
source§

### impl<'a, T> MulAssign<&'a T> for Complex<T>where T: Clone + NumAssign,

source§

#### fn mul_assign(&mut self, other: &T)

Performs the `*=` operation. Read more
source§

### impl<T> MulAssign<T> for Complex<T>where T: Clone + NumAssign,

source§

#### fn mul_assign(&mut self, other: T)

Performs the `*=` operation. Read more
source§

### impl<T> MulAssign for Complex<T>where T: Clone + NumAssign,

source§

#### fn mul_assign(&mut self, other: Complex<T>)

Performs the `*=` operation. Read more
source§

### impl<'a, T> Neg for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The resulting type after applying the `-` operator.
source§

#### fn neg(self) -> <&'a Complex<T> as Neg>::Output

Performs the unary `-` operation. Read more
source§

### impl<T> Neg for Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The resulting type after applying the `-` operator.
source§

#### fn neg(self) -> <Complex<T> as Neg>::Output

Performs the unary `-` operation. Read more
source§

### impl<T> Num for Complex<T>where T: Num + Clone,

source§

Parses `a +/- bi`; `ai +/- b`; `a`; or `bi` where `a` and `b` are of type `T`

§

source§

### impl<T> NumCast for Complex<T>where T: NumCast + Num,

source§

#### fn from<U>(n: U) -> Option<Complex<T>>where U: ToPrimitive,

Creates a number from another value that can be converted into a primitive via the `ToPrimitive` trait. If the source value cannot be represented by the target type, then `None` is returned. Read more
source§

### impl<T> Octal for Complex<T>where T: Octal + Num + PartialOrd + Clone,

source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter.
source§

### impl<T> One for Complex<T>where T: Clone + Num,

source§

#### fn one() -> Complex<T>

Returns the multiplicative identity element of `Self`, `1`. Read more
source§

#### fn is_one(&self) -> bool

Returns `true` if `self` is equal to the multiplicative identity. Read more
source§

#### fn set_one(&mut self)

Sets `self` to the multiplicative identity element of `Self`, `1`.
source§

### impl<T> PartialEq for Complex<T>where T: PartialEq,

source§

#### fn eq(&self, other: &Complex<T>) -> bool

This method tests for `self` and `other` values to be equal, and is used by `==`.
1.0.0 · source§

#### fn ne(&self, other: &Rhs) -> bool

This method tests for `!=`. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

### impl<'a, 'b, T> Pow<&'b Complex<T>> for &'a Complex<T>where T: Float,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow( self, _: &'b Complex<T> ) -> <&'a Complex<T> as Pow<&'b Complex<T>>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'b, T> Pow<&'b Complex<T>> for Complex<T>where T: Float,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, _: &'b Complex<T>) -> <Complex<T> as Pow<&'b Complex<T>>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b f32> for &'a Complex<T>where T: Float, f32: Into<T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, _: &f32) -> <&'a Complex<T> as Pow<&'b f32>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'b, T> Pow<&'b f32> for Complex<T>where T: Float, f32: Into<T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, _: &f32) -> <Complex<T> as Pow<&'b f32>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b f64> for &'a Complex<T>where T: Float, f64: Into<T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, _: &f64) -> <&'a Complex<T> as Pow<&'b f64>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'b, T> Pow<&'b f64> for Complex<T>where T: Float, f64: Into<T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, _: &f64) -> <Complex<T> as Pow<&'b f64>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b i128> for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &i128) -> <&'a Complex<T> as Pow<&'b i128>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b i16> for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &i16) -> <&'a Complex<T> as Pow<&'b i16>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b i32> for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &i32) -> <&'a Complex<T> as Pow<&'b i32>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b i64> for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &i64) -> <&'a Complex<T> as Pow<&'b i64>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b i8> for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &i8) -> <&'a Complex<T> as Pow<&'b i8>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b isize> for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &isize) -> <&'a Complex<T> as Pow<&'b isize>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b u128> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &u128) -> <&'a Complex<T> as Pow<&'b u128>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b u16> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &u16) -> <&'a Complex<T> as Pow<&'b u16>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b u32> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &u32) -> <&'a Complex<T> as Pow<&'b u32>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b u64> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &u64) -> <&'a Complex<T> as Pow<&'b u64>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b u8> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &u8) -> <&'a Complex<T> as Pow<&'b u8>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, 'b, T> Pow<&'b usize> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &usize) -> <&'a Complex<T> as Pow<&'b usize>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<Complex<T>> for &'a Complex<T>where T: Float,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: Complex<T>) -> <&'a Complex<T> as Pow<Complex<T>>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<T> Pow<Complex<T>> for Complex<T>where T: Float,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: Complex<T>) -> <Complex<T> as Pow<Complex<T>>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<f32> for &'a Complex<T>where T: Float, f32: Into<T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: f32) -> <&'a Complex<T> as Pow<f32>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<T> Pow<f32> for Complex<T>where T: Float, f32: Into<T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: f32) -> <Complex<T> as Pow<f32>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<f64> for &'a Complex<T>where T: Float, f64: Into<T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: f64) -> <&'a Complex<T> as Pow<f64>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<T> Pow<f64> for Complex<T>where T: Float, f64: Into<T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: f64) -> <Complex<T> as Pow<f64>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<i128> for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: i128) -> <&'a Complex<T> as Pow<i128>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<i16> for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: i16) -> <&'a Complex<T> as Pow<i16>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<i32> for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: i32) -> <&'a Complex<T> as Pow<i32>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<i64> for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: i64) -> <&'a Complex<T> as Pow<i64>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<i8> for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: i8) -> <&'a Complex<T> as Pow<i8>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<isize> for &'a Complex<T>where T: Clone + Num + Neg<Output = T>,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: isize) -> <&'a Complex<T> as Pow<isize>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<u128> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: u128) -> <&'a Complex<T> as Pow<u128>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<u16> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: u16) -> <&'a Complex<T> as Pow<u16>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<u32> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: u32) -> <&'a Complex<T> as Pow<u32>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<u64> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: u64) -> <&'a Complex<T> as Pow<u64>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<u8> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: u8) -> <&'a Complex<T> as Pow<u8>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Pow<usize> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: usize) -> <&'a Complex<T> as Pow<usize>>::Output

Returns `self` to the power `rhs`. Read more
source§

### impl<'a, T> Product<&'a Complex<T>> for Complex<T>where T: 'a + Num + Clone,

source§

#### fn product<I>(iter: I) -> Complex<T>where I: Iterator<Item = &'a Complex<T>>,

Method which takes an iterator and generates `Self` from the elements by multiplying the items.
source§

### impl<T> Product for Complex<T>where T: Num + Clone,

source§

#### fn product<I>(iter: I) -> Complex<T>where I: Iterator<Item = Complex<T>>,

Method which takes an iterator and generates `Self` from the elements by multiplying the items.
source§

### impl<'a, 'b, T> Rem<&'b Complex<T>> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `%` operator.
source§

#### fn rem( self, other: &Complex<T> ) -> <&'a Complex<T> as Rem<&'b Complex<T>>>::Output

Performs the `%` operation. Read more
source§

### impl<'a, T> Rem<&'a Complex<T>> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `%` operator.
source§

#### fn rem(self, other: &Complex<T>) -> <Complex<T> as Rem<&'a Complex<T>>>::Output

Performs the `%` operation. Read more
source§

### impl<'a, 'b, T> Rem<&'a T> for &'b Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `%` operator.
source§

#### fn rem(self, other: &T) -> <&'b Complex<T> as Rem<&'a T>>::Output

Performs the `%` operation. Read more
source§

### impl<'a, T> Rem<&'a T> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `%` operator.
source§

#### fn rem(self, other: &T) -> <Complex<T> as Rem<&'a T>>::Output

Performs the `%` operation. Read more
source§

### impl<'a, T> Rem<Complex<T>> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `%` operator.
source§

#### fn rem(self, other: Complex<T>) -> <&'a Complex<T> as Rem<Complex<T>>>::Output

Performs the `%` operation. Read more
source§

### impl<'a, T> Rem<T> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `%` operator.
source§

#### fn rem(self, other: T) -> <&'a Complex<T> as Rem<T>>::Output

Performs the `%` operation. Read more
source§

### impl<T> Rem<T> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `%` operator.
source§

#### fn rem(self, other: T) -> <Complex<T> as Rem<T>>::Output

Performs the `%` operation. Read more
source§

### impl<T> Rem for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `%` operator.
source§

#### fn rem(self, modulus: Complex<T>) -> <Complex<T> as Rem>::Output

Performs the `%` operation. Read more
source§

### impl<'a, T> RemAssign<&'a Complex<T>> for Complex<T>where T: Clone + NumAssign,

source§

#### fn rem_assign(&mut self, other: &Complex<T>)

Performs the `%=` operation. Read more
source§

### impl<'a, T> RemAssign<&'a T> for Complex<T>where T: Clone + NumAssign,

source§

#### fn rem_assign(&mut self, other: &T)

Performs the `%=` operation. Read more
source§

### impl<T> RemAssign<T> for Complex<T>where T: Clone + NumAssign,

source§

#### fn rem_assign(&mut self, other: T)

Performs the `%=` operation. Read more
source§

### impl<T> RemAssign for Complex<T>where T: Clone + NumAssign,

source§

#### fn rem_assign(&mut self, modulus: Complex<T>)

Performs the `%=` operation. Read more
source§

### impl<'a, 'b, T> Sub<&'b Complex<T>> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `-` operator.
source§

#### fn sub( self, other: &Complex<T> ) -> <&'a Complex<T> as Sub<&'b Complex<T>>>::Output

Performs the `-` operation. Read more
source§

### impl<'a, T> Sub<&'a Complex<T>> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `-` operator.
source§

#### fn sub(self, other: &Complex<T>) -> <Complex<T> as Sub<&'a Complex<T>>>::Output

Performs the `-` operation. Read more
source§

### impl<'a, 'b, T> Sub<&'a T> for &'b Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `-` operator.
source§

#### fn sub(self, other: &T) -> <&'b Complex<T> as Sub<&'a T>>::Output

Performs the `-` operation. Read more
source§

### impl<'a, T> Sub<&'a T> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `-` operator.
source§

#### fn sub(self, other: &T) -> <Complex<T> as Sub<&'a T>>::Output

Performs the `-` operation. Read more
source§

### impl<'a, T> Sub<Complex<T>> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `-` operator.
source§

#### fn sub(self, other: Complex<T>) -> <&'a Complex<T> as Sub<Complex<T>>>::Output

Performs the `-` operation. Read more
source§

### impl<'a, T> Sub<T> for &'a Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `-` operator.
source§

#### fn sub(self, other: T) -> <&'a Complex<T> as Sub<T>>::Output

Performs the `-` operation. Read more
source§

### impl<T> Sub<T> for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `-` operator.
source§

#### fn sub(self, other: T) -> <Complex<T> as Sub<T>>::Output

Performs the `-` operation. Read more
source§

### impl<T> Sub for Complex<T>where T: Clone + Num,

§

#### type Output = Complex<T>

The resulting type after applying the `-` operator.
source§

#### fn sub(self, other: Complex<T>) -> <Complex<T> as Sub>::Output

Performs the `-` operation. Read more
source§

### impl<'a, T> SubAssign<&'a Complex<T>> for Complex<T>where T: Clone + NumAssign,

source§

#### fn sub_assign(&mut self, other: &Complex<T>)

Performs the `-=` operation. Read more
source§

### impl<'a, T> SubAssign<&'a T> for Complex<T>where T: Clone + NumAssign,

source§

#### fn sub_assign(&mut self, other: &T)

Performs the `-=` operation. Read more
source§

### impl<T> SubAssign<T> for Complex<T>where T: Clone + NumAssign,

source§

#### fn sub_assign(&mut self, other: T)

Performs the `-=` operation. Read more
source§

### impl<T> SubAssign for Complex<T>where T: Clone + NumAssign,

source§

#### fn sub_assign(&mut self, other: Complex<T>)

Performs the `-=` operation. Read more
source§

### impl<'a, T> Sum<&'a Complex<T>> for Complex<T>where T: 'a + Num + Clone,

source§

#### fn sum<I>(iter: I) -> Complex<T>where I: Iterator<Item = &'a Complex<T>>,

Method which takes an iterator and generates `Self` from the elements by “summing up” the items.
source§

### impl<T> Sum for Complex<T>where T: Num + Clone,

source§

#### fn sum<I>(iter: I) -> Complex<T>where I: Iterator<Item = Complex<T>>,

Method which takes an iterator and generates `Self` from the elements by “summing up” the items.
source§

### impl<T> ToPrimitive for Complex<T>where T: ToPrimitive + Num,

source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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.
source§

#### 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
source§

#### 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
source§

#### fn to_f32(&self) -> Option<f32>

Converts the value of `self` to an `f32`. Overflows may map to positive or negative inifinity, otherwise `None` is returned if the value cannot be represented by an `f32`.
source§

#### fn to_f64(&self) -> Option<f64>

Converts the value of `self` to an `f64`. Overflows may map to positive or negative inifinity, otherwise `None` is returned if the value cannot be represented by an `f64`. Read more
source§

### impl<T> UpperExp for Complex<T>where T: UpperExp + Num + PartialOrd + Clone,

source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter.
source§

### impl<T> UpperHex for Complex<T>where T: UpperHex + Num + PartialOrd + Clone,

source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter.
source§

### impl<T> Zero for Complex<T>where T: Clone + Num,

source§

#### fn zero() -> Complex<T>

Returns the additive identity element of `Self`, `0`. Read more
source§

#### fn is_zero(&self) -> bool

Returns `true` if `self` is equal to the additive identity.
source§

#### fn set_zero(&mut self)

Sets `self` to the additive identity element of `Self`, `0`.
source§

source§

source§

§

§

§

§

§

§

## Blanket Implementations§

source§

### impl<T> Any for Twhere T: 'static + ?Sized,

source§

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more
source§

### impl<T> Borrow<T> for Twhere T: ?Sized,

source§

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

### impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

### impl<T> From<T> for T

source§

#### fn from(t: T) -> T

Returns the argument unchanged.

source§

### impl<T, U> Into<U> for Twhere U: From<T>,

source§

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

source§

### impl<T> ToOwned for Twhere T: Clone,

§

#### type Owned = T

The resulting type after obtaining ownership.
source§

#### fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

#### fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

### impl<T> ToString for Twhere T: Display + ?Sized,

source§

#### default fn to_string(&self) -> String

Converts the given value to a `String`. Read more
source§

### impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

#### type Error = Infallible

The type returned in the event of a conversion error.
source§

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

### impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

source§

source§

source§

source§

source§