# Struct num_complex::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) -> Self

Create a new `Complex`

source§

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

source

#### pub fn i() -> Self

Returns the imaginary unit.

See also `Complex::I`.

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) -> Self

Multiplies `self` by the scalar `t`.

source

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

Divides `self` by the scalar `t`.

source

#### pub fn powu(&self, exp: u32) -> Self

Raises `self` to an unsigned integer power.

source§

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

source

#### pub fn conj(&self) -> Self

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

source

#### pub fn inv(&self) -> Self

Returns `1/self`

source

#### pub fn powi(&self, exp: i32) -> Self

Raises `self` to a signed integer power.

source§

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

source

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

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

source§

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

source

#### pub fn cis(phase: T) -> Self

Create a new Complex with a given phase: `exp(i * phase)`. See cis (mathematics).

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) -> Self

Convert a polar representation into a complex number.

source

#### pub fn exp(self) -> Self

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

source

#### pub fn ln(self) -> Self

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) -> Self

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) -> Self

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) -> Self

Raises `self` to a floating point power.

source

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

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

source

#### pub fn powc(self, exp: Self) -> Self

Raises `self` to a complex power.

source

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

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

source

#### pub fn sin(self) -> Self

Computes the sine of `self`.

source

#### pub fn cos(self) -> Self

Computes the cosine of `self`.

source

#### pub fn tan(self) -> Self

Computes the tangent of `self`.

source

#### pub fn asin(self) -> Self

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) -> Self

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) -> Self

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) -> Self

Computes the hyperbolic sine of `self`.

source

#### pub fn cosh(self) -> Self

Computes the hyperbolic cosine of `self`.

source

#### pub fn tanh(self) -> Self

Computes the hyperbolic tangent of `self`.

source

#### pub fn asinh(self) -> Self

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) -> Self

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) -> Self

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: Float + FloatConst> Complex<T>

source

#### pub fn exp2(self) -> Self

Computes `2^(self)`.

source

#### pub fn log2(self) -> Self

Computes the principal value of log base 2 of `self`.

source

#### pub fn log10(self) -> Self

Computes the principal value of log base 10 of `self`.

source§

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

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

source§

### impl<T: ConstZero> Complex<T>

source

#### pub const ZERO: Self = _

A constant `Complex` 0.

source§

### impl<T: ConstOne + ConstZero> Complex<T>

source

#### pub const ONE: Self = _

A constant `Complex` 1.

source

#### pub const I: Self = _

A constant `Complex` i, the imaginary unit.

## Trait Implementations§

source§

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

§

#### type Output = Complex<T>

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

#### fn add(self, other: &Complex<T>) -> Self::Output

Performs the `+` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn add(self, other: &Complex<T>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<f32>> for &'b f32

§

#### type Output = Complex<f32>

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

#### fn add(self, other: &Complex<f32>) -> Complex<f32>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<f32>> for f32

§

#### type Output = Complex<f32>

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

#### fn add(self, other: &Complex<f32>) -> Complex<f32>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<f64>> for &'b f64

§

#### type Output = Complex<f64>

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

#### fn add(self, other: &Complex<f64>) -> Complex<f64>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<f64>> for f64

§

#### type Output = Complex<f64>

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

#### fn add(self, other: &Complex<f64>) -> Complex<f64>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<i128>> for &'b i128

§

#### type Output = Complex<i128>

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

#### fn add(self, other: &Complex<i128>) -> Complex<i128>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<i128>> for i128

§

#### type Output = Complex<i128>

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

#### fn add(self, other: &Complex<i128>) -> Complex<i128>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<i16>> for &'b i16

§

#### type Output = Complex<i16>

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

#### fn add(self, other: &Complex<i16>) -> Complex<i16>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<i16>> for i16

§

#### type Output = Complex<i16>

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

#### fn add(self, other: &Complex<i16>) -> Complex<i16>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<i32>> for &'b i32

§

#### type Output = Complex<i32>

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

#### fn add(self, other: &Complex<i32>) -> Complex<i32>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<i32>> for i32

§

#### type Output = Complex<i32>

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

#### fn add(self, other: &Complex<i32>) -> Complex<i32>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<i64>> for &'b i64

§

#### type Output = Complex<i64>

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

#### fn add(self, other: &Complex<i64>) -> Complex<i64>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<i64>> for i64

§

#### type Output = Complex<i64>

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

#### fn add(self, other: &Complex<i64>) -> Complex<i64>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<i8>> for &'b i8

§

#### type Output = Complex<i8>

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

#### fn add(self, other: &Complex<i8>) -> Complex<i8>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<i8>> for i8

§

#### type Output = Complex<i8>

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

#### fn add(self, other: &Complex<i8>) -> Complex<i8>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<isize>> for &'b isize

§

#### type Output = Complex<isize>

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

#### fn add(self, other: &Complex<isize>) -> Complex<isize>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<isize>> for isize

§

#### type Output = Complex<isize>

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

#### fn add(self, other: &Complex<isize>) -> Complex<isize>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<u128>> for &'b u128

§

#### type Output = Complex<u128>

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

#### fn add(self, other: &Complex<u128>) -> Complex<u128>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<u128>> for u128

§

#### type Output = Complex<u128>

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

#### fn add(self, other: &Complex<u128>) -> Complex<u128>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<u16>> for &'b u16

§

#### type Output = Complex<u16>

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

#### fn add(self, other: &Complex<u16>) -> Complex<u16>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<u16>> for u16

§

#### type Output = Complex<u16>

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

#### fn add(self, other: &Complex<u16>) -> Complex<u16>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<u32>> for &'b u32

§

#### type Output = Complex<u32>

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

#### fn add(self, other: &Complex<u32>) -> Complex<u32>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<u32>> for u32

§

#### type Output = Complex<u32>

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

#### fn add(self, other: &Complex<u32>) -> Complex<u32>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<u64>> for &'b u64

§

#### type Output = Complex<u64>

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

#### fn add(self, other: &Complex<u64>) -> Complex<u64>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<u64>> for u64

§

#### type Output = Complex<u64>

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

#### fn add(self, other: &Complex<u64>) -> Complex<u64>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<u8>> for &'b u8

§

#### type Output = Complex<u8>

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

#### fn add(self, other: &Complex<u8>) -> Complex<u8>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<u8>> for u8

§

#### type Output = Complex<u8>

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

#### fn add(self, other: &Complex<u8>) -> Complex<u8>

Performs the `+` operation. Read more
source§

### impl<'a, 'b> Add<&'a Complex<usize>> for &'b usize

§

#### type Output = Complex<usize>

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

#### fn add(self, other: &Complex<usize>) -> Complex<usize>

Performs the `+` operation. Read more
source§

### impl<'a> Add<&'a Complex<usize>> for usize

§

#### type Output = Complex<usize>

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

#### fn add(self, other: &Complex<usize>) -> Complex<usize>

Performs the `+` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn add(self, other: &T) -> Self::Output

Performs the `+` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn add(self, other: &T) -> Self::Output

Performs the `+` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn add(self, other: Complex<T>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<f32>> for &'a f32

§

#### type Output = Complex<f32>

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

#### fn add(self, other: Complex<f32>) -> Complex<f32>

Performs the `+` operation. Read more
source§

### impl Add<Complex<f32>> for f32

§

#### type Output = Complex<f32>

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

#### fn add(self, other: Complex<f32>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<f64>> for &'a f64

§

#### type Output = Complex<f64>

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

#### fn add(self, other: Complex<f64>) -> Complex<f64>

Performs the `+` operation. Read more
source§

### impl Add<Complex<f64>> for f64

§

#### type Output = Complex<f64>

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

#### fn add(self, other: Complex<f64>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<i128>> for &'a i128

§

#### type Output = Complex<i128>

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

#### fn add(self, other: Complex<i128>) -> Complex<i128>

Performs the `+` operation. Read more
source§

### impl Add<Complex<i128>> for i128

§

#### type Output = Complex<i128>

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

#### fn add(self, other: Complex<i128>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<i16>> for &'a i16

§

#### type Output = Complex<i16>

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

#### fn add(self, other: Complex<i16>) -> Complex<i16>

Performs the `+` operation. Read more
source§

### impl Add<Complex<i16>> for i16

§

#### type Output = Complex<i16>

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

#### fn add(self, other: Complex<i16>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<i32>> for &'a i32

§

#### type Output = Complex<i32>

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

#### fn add(self, other: Complex<i32>) -> Complex<i32>

Performs the `+` operation. Read more
source§

### impl Add<Complex<i32>> for i32

§

#### type Output = Complex<i32>

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

#### fn add(self, other: Complex<i32>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<i64>> for &'a i64

§

#### type Output = Complex<i64>

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

#### fn add(self, other: Complex<i64>) -> Complex<i64>

Performs the `+` operation. Read more
source§

### impl Add<Complex<i64>> for i64

§

#### type Output = Complex<i64>

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

#### fn add(self, other: Complex<i64>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<i8>> for &'a i8

§

#### type Output = Complex<i8>

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

#### fn add(self, other: Complex<i8>) -> Complex<i8>

Performs the `+` operation. Read more
source§

### impl Add<Complex<i8>> for i8

§

#### type Output = Complex<i8>

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

#### fn add(self, other: Complex<i8>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<isize>> for &'a isize

§

#### type Output = Complex<isize>

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

#### fn add(self, other: Complex<isize>) -> Complex<isize>

Performs the `+` operation. Read more
source§

### impl Add<Complex<isize>> for isize

§

#### type Output = Complex<isize>

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

#### fn add(self, other: Complex<isize>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<u128>> for &'a u128

§

#### type Output = Complex<u128>

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

#### fn add(self, other: Complex<u128>) -> Complex<u128>

Performs the `+` operation. Read more
source§

### impl Add<Complex<u128>> for u128

§

#### type Output = Complex<u128>

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

#### fn add(self, other: Complex<u128>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<u16>> for &'a u16

§

#### type Output = Complex<u16>

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

#### fn add(self, other: Complex<u16>) -> Complex<u16>

Performs the `+` operation. Read more
source§

### impl Add<Complex<u16>> for u16

§

#### type Output = Complex<u16>

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

#### fn add(self, other: Complex<u16>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<u32>> for &'a u32

§

#### type Output = Complex<u32>

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

#### fn add(self, other: Complex<u32>) -> Complex<u32>

Performs the `+` operation. Read more
source§

### impl Add<Complex<u32>> for u32

§

#### type Output = Complex<u32>

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

#### fn add(self, other: Complex<u32>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<u64>> for &'a u64

§

#### type Output = Complex<u64>

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

#### fn add(self, other: Complex<u64>) -> Complex<u64>

Performs the `+` operation. Read more
source§

### impl Add<Complex<u64>> for u64

§

#### type Output = Complex<u64>

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

#### fn add(self, other: Complex<u64>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<u8>> for &'a u8

§

#### type Output = Complex<u8>

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

#### fn add(self, other: Complex<u8>) -> Complex<u8>

Performs the `+` operation. Read more
source§

### impl Add<Complex<u8>> for u8

§

#### type Output = Complex<u8>

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

#### fn add(self, other: Complex<u8>) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<'a> Add<Complex<usize>> for &'a usize

§

#### type Output = Complex<usize>

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

#### fn add(self, other: Complex<usize>) -> Complex<usize>

Performs the `+` operation. Read more
source§

### impl Add<Complex<usize>> for usize

§

#### type Output = Complex<usize>

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

#### fn add(self, other: Complex<usize>) -> Self::Output

Performs the `+` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn add(self, other: T) -> Self::Output

Performs the `+` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn add(self, other: T) -> Self::Output

Performs the `+` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn add(self, other: Self) -> Self::Output

Performs the `+` operation. Read more
source§

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

source§

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

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

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

source§

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

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

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

source§

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

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

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

source§

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

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

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

§

#### type Archived = Complex<<T as Archive>::Archived>

The archived representation of this type. Read more
§

#### type Resolver = ComplexResolver<T>

The resolver for this type. It must contain all the additional information from serializing needed to make the archived type from the normal type.
source§

#### unsafe fn resolve( &self, pos: usize, resolver: Self::Resolver, out: *mut Self::Archived )

Creates the archived version of this value at the given position and writes it to the given output. 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

Formats the value using the given formatter.
source§

### impl<__C: ?Sized, T> CheckBytes<__C> for Complex<T>where T: CheckBytes<__C>,

§

#### type Error = StructCheckError

The error that may result from checking the type.
source§

#### unsafe fn check_bytes<'__bytecheck>( value: *const Self, context: &mut __C ) -> Result<&'__bytecheck Self, StructCheckError>

Checks whether the given pointer points to a valid value within the given context. Read more
source§

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

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: Float + FloatConst> ComplexFloat for Complex<T>

§

#### type Real = T

The type used to represent the real coefficients of this complex number.
source§

#### fn re(self) -> Self::Real

Returns the real part of the number.
source§

#### fn im(self) -> Self::Real

Returns the imaginary part of the number.
source§

#### fn abs(self) -> Self::Real

Returns the absolute value of the number. See also Complex::norm
source§

#### fn recip(self) -> Self

Take the reciprocal (inverse) of a number, `1/x`. See also Complex::finv.
source§

#### fn l1_norm(&self) -> Self::Real

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

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

Returns `true` if this value is `NaN` and false otherwise.
source§

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

Returns `true` if this value is positive infinity or negative infinity and false otherwise.
source§

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

Returns `true` if this number is neither infinite nor `NaN`.
source§

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

Returns `true` if the number is neither zero, infinite, subnormal, or `NaN`.
source§

#### fn arg(self) -> Self::Real

Computes the argument of the number.
source§

#### fn powc(self, exp: Complex<Self::Real>) -> Complex<Self::Real>

Raises `self` to a complex power.
source§

#### fn exp2(self) -> Self

Returns `2^(self)`.
source§

#### fn log(self, base: Self::Real) -> Self

Returns the logarithm of the number with respect to an arbitrary base.
source§

#### fn log2(self) -> Self

Returns the base 2 logarithm of the number.
source§

#### fn log10(self) -> Self

Returns the base 10 logarithm of the number.
source§

#### fn powf(self, f: Self::Real) -> Self

Raises `self` to a real power.
source§

#### fn sqrt(self) -> Self

Take the square root of a number.
source§

#### fn cbrt(self) -> Self

Take the cubic root of a number.
source§

#### fn exp(self) -> Self

Returns `e^(self)`, (the exponential function).
source§

#### fn expf(self, base: Self::Real) -> Self

Returns `base^(self)`.
source§

#### fn ln(self) -> Self

Returns the natural logarithm of the number.
source§

#### fn sin(self) -> Self

Computes the sine of a number (in radians).
source§

#### fn cos(self) -> Self

Computes the cosine of a number (in radians).
source§

#### fn tan(self) -> Self

Computes the tangent of a number (in radians).
source§

#### fn asin(self) -> Self

Computes the arcsine of a number. Return value is in radians in the range [-pi/2, pi/2] or NaN if the number is outside the range [-1, 1].
source§

#### fn acos(self) -> Self

Computes the arccosine of a number. Return value is in radians in the range [0, pi] or NaN if the number is outside the range [-1, 1].
source§

#### fn atan(self) -> Self

Computes the arctangent of a number. Return value is in radians in the range [-pi/2, pi/2];
source§

#### fn sinh(self) -> Self

Hyperbolic sine function.
source§

#### fn cosh(self) -> Self

Hyperbolic cosine function.
source§

#### fn tanh(self) -> Self

Hyperbolic tangent function.
source§

#### fn asinh(self) -> Self

Inverse hyperbolic sine function.
source§

#### fn acosh(self) -> Self

Inverse hyperbolic cosine function.
source§

#### fn atanh(self) -> Self

Inverse hyperbolic tangent function.
source§

#### fn powi(self, n: i32) -> Self

Raises `self` to a signed integer power.
source§

#### fn conj(self) -> Self

Computes the complex conjugate of the number. Read more
source§

### impl<T: Clone + Num + ConstOne + ConstZero> ConstOne for Complex<T>

source§

#### const ONE: Self = Self::ONE

The multiplicative identity element of `Self`, `1`.
source§

### impl<T: Clone + Num + ConstZero> ConstZero for Complex<T>

source§

#### const ZERO: Self = Self::ZERO

The additive identity element of `Self`, `0`.
source§

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

source§

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

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

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

source§

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

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

### impl<'de, T> Deserialize<'de> for Complex<T>where T: Deserialize<'de>,

source§

#### fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

### impl<__D: Fallible + ?Sized, T> Deserialize<Complex<T>, __D> for Archived<Complex<T>>where T: Archive, Archived<T>: Deserialize<T, __D>,

source§

#### fn deserialize(&self, deserializer: &mut __D) -> Result<Complex<T>, __D::Error>

Deserializes using the given deserializer
source§

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

source§

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

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: Rng + ?Sized>(&self, rng: &mut R) -> Complex<T>

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<T> Distribution<Complex<T>> for Standardwhere T: Num + Clone, Standard: Distribution<T>,

source§

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

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: Clone + Num> Div<&'b Complex<T>> for &'a Complex<T>

§

#### type Output = Complex<T>

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

#### fn div(self, other: &Complex<T>) -> Self::Output

Performs the `/` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn div(self, other: &Complex<T>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<f32>> for &'b f32

§

#### type Output = Complex<f32>

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

#### fn div(self, other: &Complex<f32>) -> Complex<f32>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<f32>> for f32

§

#### type Output = Complex<f32>

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

#### fn div(self, other: &Complex<f32>) -> Complex<f32>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<f64>> for &'b f64

§

#### type Output = Complex<f64>

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

#### fn div(self, other: &Complex<f64>) -> Complex<f64>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<f64>> for f64

§

#### type Output = Complex<f64>

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

#### fn div(self, other: &Complex<f64>) -> Complex<f64>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<i128>> for &'b i128

§

#### type Output = Complex<i128>

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

#### fn div(self, other: &Complex<i128>) -> Complex<i128>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<i128>> for i128

§

#### type Output = Complex<i128>

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

#### fn div(self, other: &Complex<i128>) -> Complex<i128>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<i16>> for &'b i16

§

#### type Output = Complex<i16>

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

#### fn div(self, other: &Complex<i16>) -> Complex<i16>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<i16>> for i16

§

#### type Output = Complex<i16>

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

#### fn div(self, other: &Complex<i16>) -> Complex<i16>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<i32>> for &'b i32

§

#### type Output = Complex<i32>

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

#### fn div(self, other: &Complex<i32>) -> Complex<i32>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<i32>> for i32

§

#### type Output = Complex<i32>

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

#### fn div(self, other: &Complex<i32>) -> Complex<i32>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<i64>> for &'b i64

§

#### type Output = Complex<i64>

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

#### fn div(self, other: &Complex<i64>) -> Complex<i64>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<i64>> for i64

§

#### type Output = Complex<i64>

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

#### fn div(self, other: &Complex<i64>) -> Complex<i64>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<i8>> for &'b i8

§

#### type Output = Complex<i8>

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

#### fn div(self, other: &Complex<i8>) -> Complex<i8>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<i8>> for i8

§

#### type Output = Complex<i8>

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

#### fn div(self, other: &Complex<i8>) -> Complex<i8>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<isize>> for &'b isize

§

#### type Output = Complex<isize>

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

#### fn div(self, other: &Complex<isize>) -> Complex<isize>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<isize>> for isize

§

#### type Output = Complex<isize>

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

#### fn div(self, other: &Complex<isize>) -> Complex<isize>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<u128>> for &'b u128

§

#### type Output = Complex<u128>

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

#### fn div(self, other: &Complex<u128>) -> Complex<u128>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<u128>> for u128

§

#### type Output = Complex<u128>

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

#### fn div(self, other: &Complex<u128>) -> Complex<u128>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<u16>> for &'b u16

§

#### type Output = Complex<u16>

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

#### fn div(self, other: &Complex<u16>) -> Complex<u16>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<u16>> for u16

§

#### type Output = Complex<u16>

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

#### fn div(self, other: &Complex<u16>) -> Complex<u16>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<u32>> for &'b u32

§

#### type Output = Complex<u32>

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

#### fn div(self, other: &Complex<u32>) -> Complex<u32>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<u32>> for u32

§

#### type Output = Complex<u32>

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

#### fn div(self, other: &Complex<u32>) -> Complex<u32>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<u64>> for &'b u64

§

#### type Output = Complex<u64>

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

#### fn div(self, other: &Complex<u64>) -> Complex<u64>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<u64>> for u64

§

#### type Output = Complex<u64>

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

#### fn div(self, other: &Complex<u64>) -> Complex<u64>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<u8>> for &'b u8

§

#### type Output = Complex<u8>

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

#### fn div(self, other: &Complex<u8>) -> Complex<u8>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<u8>> for u8

§

#### type Output = Complex<u8>

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

#### fn div(self, other: &Complex<u8>) -> Complex<u8>

Performs the `/` operation. Read more
source§

### impl<'a, 'b> Div<&'a Complex<usize>> for &'b usize

§

#### type Output = Complex<usize>

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

#### fn div(self, other: &Complex<usize>) -> Complex<usize>

Performs the `/` operation. Read more
source§

### impl<'a> Div<&'a Complex<usize>> for usize

§

#### type Output = Complex<usize>

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

#### fn div(self, other: &Complex<usize>) -> Complex<usize>

Performs the `/` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn div(self, other: &T) -> Self::Output

Performs the `/` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn div(self, other: &T) -> Self::Output

Performs the `/` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

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

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<f32>> for &'a f32

§

#### type Output = Complex<f32>

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

#### fn div(self, other: Complex<f32>) -> Complex<f32>

Performs the `/` operation. Read more
source§

### impl Div<Complex<f32>> for f32

§

#### type Output = Complex<f32>

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

#### fn div(self, other: Complex<f32>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<f64>> for &'a f64

§

#### type Output = Complex<f64>

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

#### fn div(self, other: Complex<f64>) -> Complex<f64>

Performs the `/` operation. Read more
source§

### impl Div<Complex<f64>> for f64

§

#### type Output = Complex<f64>

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

#### fn div(self, other: Complex<f64>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<i128>> for &'a i128

§

#### type Output = Complex<i128>

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

#### fn div(self, other: Complex<i128>) -> Complex<i128>

Performs the `/` operation. Read more
source§

### impl Div<Complex<i128>> for i128

§

#### type Output = Complex<i128>

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

#### fn div(self, other: Complex<i128>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<i16>> for &'a i16

§

#### type Output = Complex<i16>

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

#### fn div(self, other: Complex<i16>) -> Complex<i16>

Performs the `/` operation. Read more
source§

### impl Div<Complex<i16>> for i16

§

#### type Output = Complex<i16>

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

#### fn div(self, other: Complex<i16>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<i32>> for &'a i32

§

#### type Output = Complex<i32>

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

#### fn div(self, other: Complex<i32>) -> Complex<i32>

Performs the `/` operation. Read more
source§

### impl Div<Complex<i32>> for i32

§

#### type Output = Complex<i32>

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

#### fn div(self, other: Complex<i32>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<i64>> for &'a i64

§

#### type Output = Complex<i64>

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

#### fn div(self, other: Complex<i64>) -> Complex<i64>

Performs the `/` operation. Read more
source§

### impl Div<Complex<i64>> for i64

§

#### type Output = Complex<i64>

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

#### fn div(self, other: Complex<i64>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<i8>> for &'a i8

§

#### type Output = Complex<i8>

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

#### fn div(self, other: Complex<i8>) -> Complex<i8>

Performs the `/` operation. Read more
source§

### impl Div<Complex<i8>> for i8

§

#### type Output = Complex<i8>

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

#### fn div(self, other: Complex<i8>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<isize>> for &'a isize

§

#### type Output = Complex<isize>

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

#### fn div(self, other: Complex<isize>) -> Complex<isize>

Performs the `/` operation. Read more
source§

### impl Div<Complex<isize>> for isize

§

#### type Output = Complex<isize>

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

#### fn div(self, other: Complex<isize>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<u128>> for &'a u128

§

#### type Output = Complex<u128>

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

#### fn div(self, other: Complex<u128>) -> Complex<u128>

Performs the `/` operation. Read more
source§

### impl Div<Complex<u128>> for u128

§

#### type Output = Complex<u128>

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

#### fn div(self, other: Complex<u128>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<u16>> for &'a u16

§

#### type Output = Complex<u16>

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

#### fn div(self, other: Complex<u16>) -> Complex<u16>

Performs the `/` operation. Read more
source§

### impl Div<Complex<u16>> for u16

§

#### type Output = Complex<u16>

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

#### fn div(self, other: Complex<u16>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<u32>> for &'a u32

§

#### type Output = Complex<u32>

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

#### fn div(self, other: Complex<u32>) -> Complex<u32>

Performs the `/` operation. Read more
source§

### impl Div<Complex<u32>> for u32

§

#### type Output = Complex<u32>

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

#### fn div(self, other: Complex<u32>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<u64>> for &'a u64

§

#### type Output = Complex<u64>

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

#### fn div(self, other: Complex<u64>) -> Complex<u64>

Performs the `/` operation. Read more
source§

### impl Div<Complex<u64>> for u64

§

#### type Output = Complex<u64>

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

#### fn div(self, other: Complex<u64>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<u8>> for &'a u8

§

#### type Output = Complex<u8>

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

#### fn div(self, other: Complex<u8>) -> Complex<u8>

Performs the `/` operation. Read more
source§

### impl Div<Complex<u8>> for u8

§

#### type Output = Complex<u8>

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

#### fn div(self, other: Complex<u8>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<'a> Div<Complex<usize>> for &'a usize

§

#### type Output = Complex<usize>

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

#### fn div(self, other: Complex<usize>) -> Complex<usize>

Performs the `/` operation. Read more
source§

### impl Div<Complex<usize>> for usize

§

#### type Output = Complex<usize>

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

#### fn div(self, other: Complex<usize>) -> Self::Output

Performs the `/` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn div(self, other: T) -> Self::Output

Performs the `/` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn div(self, other: T) -> Self::Output

Performs the `/` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn div(self, other: Self) -> Self::Output

Performs the `/` operation. Read more
source§

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

source§

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

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

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

source§

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

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

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

source§

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

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

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

source§

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

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

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

source§

#### fn from(re: &T) -> Self

Converts to this type from the input type.
source§

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

source§

#### fn from(re: T) -> Self

Converts to this type from the input type.
source§

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

source§

#### fn from_usize(n: usize) -> Option<Self>

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

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

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

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

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

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

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

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

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

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

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

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

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

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<Self, Self::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> Hash for Complex<T>

source§

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

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: Clone + Num + Neg<Output = T>> Inv for &'a Complex<T>

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn inv(self) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn inv(self) -> Self::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

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

Formats the value using the given formatter.
source§

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

§

#### type Output = Complex<T>

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

#### fn mul(self, other: &Complex<T>) -> Self::Output

Performs the `*` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn mul(self, other: &Complex<T>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<f32>> for &'b f32

§

#### type Output = Complex<f32>

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

#### fn mul(self, other: &Complex<f32>) -> Complex<f32>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<f32>> for f32

§

#### type Output = Complex<f32>

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

#### fn mul(self, other: &Complex<f32>) -> Complex<f32>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<f64>> for &'b f64

§

#### type Output = Complex<f64>

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

#### fn mul(self, other: &Complex<f64>) -> Complex<f64>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<f64>> for f64

§

#### type Output = Complex<f64>

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

#### fn mul(self, other: &Complex<f64>) -> Complex<f64>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<i128>> for &'b i128

§

#### type Output = Complex<i128>

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

#### fn mul(self, other: &Complex<i128>) -> Complex<i128>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<i128>> for i128

§

#### type Output = Complex<i128>

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

#### fn mul(self, other: &Complex<i128>) -> Complex<i128>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<i16>> for &'b i16

§

#### type Output = Complex<i16>

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

#### fn mul(self, other: &Complex<i16>) -> Complex<i16>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<i16>> for i16

§

#### type Output = Complex<i16>

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

#### fn mul(self, other: &Complex<i16>) -> Complex<i16>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<i32>> for &'b i32

§

#### type Output = Complex<i32>

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

#### fn mul(self, other: &Complex<i32>) -> Complex<i32>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<i32>> for i32

§

#### type Output = Complex<i32>

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

#### fn mul(self, other: &Complex<i32>) -> Complex<i32>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<i64>> for &'b i64

§

#### type Output = Complex<i64>

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

#### fn mul(self, other: &Complex<i64>) -> Complex<i64>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<i64>> for i64

§

#### type Output = Complex<i64>

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

#### fn mul(self, other: &Complex<i64>) -> Complex<i64>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<i8>> for &'b i8

§

#### type Output = Complex<i8>

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

#### fn mul(self, other: &Complex<i8>) -> Complex<i8>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<i8>> for i8

§

#### type Output = Complex<i8>

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

#### fn mul(self, other: &Complex<i8>) -> Complex<i8>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<isize>> for &'b isize

§

#### type Output = Complex<isize>

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

#### fn mul(self, other: &Complex<isize>) -> Complex<isize>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<isize>> for isize

§

#### type Output = Complex<isize>

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

#### fn mul(self, other: &Complex<isize>) -> Complex<isize>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<u128>> for &'b u128

§

#### type Output = Complex<u128>

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

#### fn mul(self, other: &Complex<u128>) -> Complex<u128>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<u128>> for u128

§

#### type Output = Complex<u128>

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

#### fn mul(self, other: &Complex<u128>) -> Complex<u128>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<u16>> for &'b u16

§

#### type Output = Complex<u16>

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

#### fn mul(self, other: &Complex<u16>) -> Complex<u16>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<u16>> for u16

§

#### type Output = Complex<u16>

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

#### fn mul(self, other: &Complex<u16>) -> Complex<u16>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<u32>> for &'b u32

§

#### type Output = Complex<u32>

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

#### fn mul(self, other: &Complex<u32>) -> Complex<u32>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<u32>> for u32

§

#### type Output = Complex<u32>

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

#### fn mul(self, other: &Complex<u32>) -> Complex<u32>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<u64>> for &'b u64

§

#### type Output = Complex<u64>

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

#### fn mul(self, other: &Complex<u64>) -> Complex<u64>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<u64>> for u64

§

#### type Output = Complex<u64>

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

#### fn mul(self, other: &Complex<u64>) -> Complex<u64>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<u8>> for &'b u8

§

#### type Output = Complex<u8>

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

#### fn mul(self, other: &Complex<u8>) -> Complex<u8>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<u8>> for u8

§

#### type Output = Complex<u8>

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

#### fn mul(self, other: &Complex<u8>) -> Complex<u8>

Performs the `*` operation. Read more
source§

### impl<'a, 'b> Mul<&'a Complex<usize>> for &'b usize

§

#### type Output = Complex<usize>

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

#### fn mul(self, other: &Complex<usize>) -> Complex<usize>

Performs the `*` operation. Read more
source§

### impl<'a> Mul<&'a Complex<usize>> for usize

§

#### type Output = Complex<usize>

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

#### fn mul(self, other: &Complex<usize>) -> Complex<usize>

Performs the `*` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn mul(self, other: &T) -> Self::Output

Performs the `*` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn mul(self, other: &T) -> Self::Output

Performs the `*` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

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

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<f32>> for &'a f32

§

#### type Output = Complex<f32>

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

#### fn mul(self, other: Complex<f32>) -> Complex<f32>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<f32>> for f32

§

#### type Output = Complex<f32>

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

#### fn mul(self, other: Complex<f32>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<f64>> for &'a f64

§

#### type Output = Complex<f64>

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

#### fn mul(self, other: Complex<f64>) -> Complex<f64>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<f64>> for f64

§

#### type Output = Complex<f64>

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

#### fn mul(self, other: Complex<f64>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<i128>> for &'a i128

§

#### type Output = Complex<i128>

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

#### fn mul(self, other: Complex<i128>) -> Complex<i128>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<i128>> for i128

§

#### type Output = Complex<i128>

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

#### fn mul(self, other: Complex<i128>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<i16>> for &'a i16

§

#### type Output = Complex<i16>

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

#### fn mul(self, other: Complex<i16>) -> Complex<i16>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<i16>> for i16

§

#### type Output = Complex<i16>

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

#### fn mul(self, other: Complex<i16>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<i32>> for &'a i32

§

#### type Output = Complex<i32>

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

#### fn mul(self, other: Complex<i32>) -> Complex<i32>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<i32>> for i32

§

#### type Output = Complex<i32>

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

#### fn mul(self, other: Complex<i32>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<i64>> for &'a i64

§

#### type Output = Complex<i64>

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

#### fn mul(self, other: Complex<i64>) -> Complex<i64>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<i64>> for i64

§

#### type Output = Complex<i64>

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

#### fn mul(self, other: Complex<i64>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<i8>> for &'a i8

§

#### type Output = Complex<i8>

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

#### fn mul(self, other: Complex<i8>) -> Complex<i8>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<i8>> for i8

§

#### type Output = Complex<i8>

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

#### fn mul(self, other: Complex<i8>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<isize>> for &'a isize

§

#### type Output = Complex<isize>

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

#### fn mul(self, other: Complex<isize>) -> Complex<isize>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<isize>> for isize

§

#### type Output = Complex<isize>

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

#### fn mul(self, other: Complex<isize>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<u128>> for &'a u128

§

#### type Output = Complex<u128>

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

#### fn mul(self, other: Complex<u128>) -> Complex<u128>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<u128>> for u128

§

#### type Output = Complex<u128>

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

#### fn mul(self, other: Complex<u128>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<u16>> for &'a u16

§

#### type Output = Complex<u16>

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

#### fn mul(self, other: Complex<u16>) -> Complex<u16>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<u16>> for u16

§

#### type Output = Complex<u16>

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

#### fn mul(self, other: Complex<u16>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<u32>> for &'a u32

§

#### type Output = Complex<u32>

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

#### fn mul(self, other: Complex<u32>) -> Complex<u32>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<u32>> for u32

§

#### type Output = Complex<u32>

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

#### fn mul(self, other: Complex<u32>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<u64>> for &'a u64

§

#### type Output = Complex<u64>

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

#### fn mul(self, other: Complex<u64>) -> Complex<u64>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<u64>> for u64

§

#### type Output = Complex<u64>

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

#### fn mul(self, other: Complex<u64>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<u8>> for &'a u8

§

#### type Output = Complex<u8>

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

#### fn mul(self, other: Complex<u8>) -> Complex<u8>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<u8>> for u8

§

#### type Output = Complex<u8>

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

#### fn mul(self, other: Complex<u8>) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<'a> Mul<Complex<usize>> for &'a usize

§

#### type Output = Complex<usize>

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

#### fn mul(self, other: Complex<usize>) -> Complex<usize>

Performs the `*` operation. Read more
source§

### impl Mul<Complex<usize>> for usize

§

#### type Output = Complex<usize>

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

#### fn mul(self, other: Complex<usize>) -> Self::Output

Performs the `*` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn mul(self, other: T) -> Self::Output

Performs the `*` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn mul(self, other: T) -> Self::Output

Performs the `*` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn mul(self, other: Self) -> Self::Output

Performs the `*` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn mul_add(self, other: &Complex<T>, add: &Complex<T>) -> Complex<T>

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

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

§

#### type Output = Complex<T>

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

#### fn mul_add(self, other: Complex<T>, add: Complex<T>) -> Complex<T>

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

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

source§

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

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

### impl<T: Clone + NumAssign + MulAddAssign> MulAddAssign for Complex<T>

source§

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

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

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

source§

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

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

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

source§

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

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

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

source§

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

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

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

source§

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

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

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

§

#### type Output = Complex<T>

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

#### fn neg(self) -> Self::Output

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

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

§

#### type Output = Complex<T>

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

#### fn neg(self) -> Self::Output

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

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

source§

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.

§

source§

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

source§

#### fn from<U: ToPrimitive>(n: U) -> Option<Self>

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

Formats the value using the given formatter.
source§

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

source§

#### fn one() -> Self

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> PartialEq for Complex<T>

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: Float> Pow<&'b Complex<T>> for &'a Complex<T>

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &'b Complex<T>) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &'b Complex<T>) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &f32) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &f32) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &f64) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &f64) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &i128) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &i16) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &i32) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &i64) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &i8) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &isize) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &u128) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &u16) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &u32) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &u64) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &u8) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: &usize) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

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

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

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

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: f32) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: f32) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: f64) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: f64) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: i128) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: i16) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: i32) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: i64) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: i8) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: isize) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: u128) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: u16) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: u32) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: u64) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: u8) -> Self::Output

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

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

§

#### type Output = Complex<T>

The result after applying the operator.
source§

#### fn pow(self, exp: usize) -> Self::Output

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

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

source§

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

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

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

source§

#### fn product<I>(iter: I) -> Selfwhere I: Iterator<Item = Self>,

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

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

§

#### type Output = Complex<T>

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

#### fn rem(self, other: &Complex<T>) -> Self::Output

Performs the `%` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn rem(self, other: &Complex<T>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<f32>> for &'b f32

§

#### type Output = Complex<f32>

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

#### fn rem(self, other: &Complex<f32>) -> Complex<f32>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<f32>> for f32

§

#### type Output = Complex<f32>

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

#### fn rem(self, other: &Complex<f32>) -> Complex<f32>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<f64>> for &'b f64

§

#### type Output = Complex<f64>

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

#### fn rem(self, other: &Complex<f64>) -> Complex<f64>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<f64>> for f64

§

#### type Output = Complex<f64>

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

#### fn rem(self, other: &Complex<f64>) -> Complex<f64>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<i128>> for &'b i128

§

#### type Output = Complex<i128>

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

#### fn rem(self, other: &Complex<i128>) -> Complex<i128>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<i128>> for i128

§

#### type Output = Complex<i128>

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

#### fn rem(self, other: &Complex<i128>) -> Complex<i128>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<i16>> for &'b i16

§

#### type Output = Complex<i16>

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

#### fn rem(self, other: &Complex<i16>) -> Complex<i16>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<i16>> for i16

§

#### type Output = Complex<i16>

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

#### fn rem(self, other: &Complex<i16>) -> Complex<i16>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<i32>> for &'b i32

§

#### type Output = Complex<i32>

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

#### fn rem(self, other: &Complex<i32>) -> Complex<i32>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<i32>> for i32

§

#### type Output = Complex<i32>

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

#### fn rem(self, other: &Complex<i32>) -> Complex<i32>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<i64>> for &'b i64

§

#### type Output = Complex<i64>

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

#### fn rem(self, other: &Complex<i64>) -> Complex<i64>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<i64>> for i64

§

#### type Output = Complex<i64>

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

#### fn rem(self, other: &Complex<i64>) -> Complex<i64>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<i8>> for &'b i8

§

#### type Output = Complex<i8>

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

#### fn rem(self, other: &Complex<i8>) -> Complex<i8>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<i8>> for i8

§

#### type Output = Complex<i8>

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

#### fn rem(self, other: &Complex<i8>) -> Complex<i8>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<isize>> for &'b isize

§

#### type Output = Complex<isize>

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

#### fn rem(self, other: &Complex<isize>) -> Complex<isize>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<isize>> for isize

§

#### type Output = Complex<isize>

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

#### fn rem(self, other: &Complex<isize>) -> Complex<isize>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<u128>> for &'b u128

§

#### type Output = Complex<u128>

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

#### fn rem(self, other: &Complex<u128>) -> Complex<u128>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<u128>> for u128

§

#### type Output = Complex<u128>

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

#### fn rem(self, other: &Complex<u128>) -> Complex<u128>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<u16>> for &'b u16

§

#### type Output = Complex<u16>

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

#### fn rem(self, other: &Complex<u16>) -> Complex<u16>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<u16>> for u16

§

#### type Output = Complex<u16>

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

#### fn rem(self, other: &Complex<u16>) -> Complex<u16>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<u32>> for &'b u32

§

#### type Output = Complex<u32>

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

#### fn rem(self, other: &Complex<u32>) -> Complex<u32>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<u32>> for u32

§

#### type Output = Complex<u32>

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

#### fn rem(self, other: &Complex<u32>) -> Complex<u32>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<u64>> for &'b u64

§

#### type Output = Complex<u64>

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

#### fn rem(self, other: &Complex<u64>) -> Complex<u64>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<u64>> for u64

§

#### type Output = Complex<u64>

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

#### fn rem(self, other: &Complex<u64>) -> Complex<u64>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<u8>> for &'b u8

§

#### type Output = Complex<u8>

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

#### fn rem(self, other: &Complex<u8>) -> Complex<u8>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<u8>> for u8

§

#### type Output = Complex<u8>

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

#### fn rem(self, other: &Complex<u8>) -> Complex<u8>

Performs the `%` operation. Read more
source§

### impl<'a, 'b> Rem<&'a Complex<usize>> for &'b usize

§

#### type Output = Complex<usize>

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

#### fn rem(self, other: &Complex<usize>) -> Complex<usize>

Performs the `%` operation. Read more
source§

### impl<'a> Rem<&'a Complex<usize>> for usize

§

#### type Output = Complex<usize>

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

#### fn rem(self, other: &Complex<usize>) -> Complex<usize>

Performs the `%` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn rem(self, other: &T) -> Self::Output

Performs the `%` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn rem(self, other: &T) -> Self::Output

Performs the `%` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

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

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<f32>> for &'a f32

§

#### type Output = Complex<f32>

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

#### fn rem(self, other: Complex<f32>) -> Complex<f32>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<f32>> for f32

§

#### type Output = Complex<f32>

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

#### fn rem(self, other: Complex<f32>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<f64>> for &'a f64

§

#### type Output = Complex<f64>

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

#### fn rem(self, other: Complex<f64>) -> Complex<f64>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<f64>> for f64

§

#### type Output = Complex<f64>

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

#### fn rem(self, other: Complex<f64>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<i128>> for &'a i128

§

#### type Output = Complex<i128>

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

#### fn rem(self, other: Complex<i128>) -> Complex<i128>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<i128>> for i128

§

#### type Output = Complex<i128>

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

#### fn rem(self, other: Complex<i128>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<i16>> for &'a i16

§

#### type Output = Complex<i16>

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

#### fn rem(self, other: Complex<i16>) -> Complex<i16>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<i16>> for i16

§

#### type Output = Complex<i16>

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

#### fn rem(self, other: Complex<i16>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<i32>> for &'a i32

§

#### type Output = Complex<i32>

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

#### fn rem(self, other: Complex<i32>) -> Complex<i32>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<i32>> for i32

§

#### type Output = Complex<i32>

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

#### fn rem(self, other: Complex<i32>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<i64>> for &'a i64

§

#### type Output = Complex<i64>

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

#### fn rem(self, other: Complex<i64>) -> Complex<i64>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<i64>> for i64

§

#### type Output = Complex<i64>

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

#### fn rem(self, other: Complex<i64>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<i8>> for &'a i8

§

#### type Output = Complex<i8>

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

#### fn rem(self, other: Complex<i8>) -> Complex<i8>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<i8>> for i8

§

#### type Output = Complex<i8>

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

#### fn rem(self, other: Complex<i8>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<isize>> for &'a isize

§

#### type Output = Complex<isize>

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

#### fn rem(self, other: Complex<isize>) -> Complex<isize>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<isize>> for isize

§

#### type Output = Complex<isize>

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

#### fn rem(self, other: Complex<isize>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<u128>> for &'a u128

§

#### type Output = Complex<u128>

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

#### fn rem(self, other: Complex<u128>) -> Complex<u128>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<u128>> for u128

§

#### type Output = Complex<u128>

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

#### fn rem(self, other: Complex<u128>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<u16>> for &'a u16

§

#### type Output = Complex<u16>

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

#### fn rem(self, other: Complex<u16>) -> Complex<u16>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<u16>> for u16

§

#### type Output = Complex<u16>

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

#### fn rem(self, other: Complex<u16>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<u32>> for &'a u32

§

#### type Output = Complex<u32>

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

#### fn rem(self, other: Complex<u32>) -> Complex<u32>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<u32>> for u32

§

#### type Output = Complex<u32>

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

#### fn rem(self, other: Complex<u32>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<u64>> for &'a u64

§

#### type Output = Complex<u64>

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

#### fn rem(self, other: Complex<u64>) -> Complex<u64>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<u64>> for u64

§

#### type Output = Complex<u64>

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

#### fn rem(self, other: Complex<u64>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<u8>> for &'a u8

§

#### type Output = Complex<u8>

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

#### fn rem(self, other: Complex<u8>) -> Complex<u8>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<u8>> for u8

§

#### type Output = Complex<u8>

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

#### fn rem(self, other: Complex<u8>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<'a> Rem<Complex<usize>> for &'a usize

§

#### type Output = Complex<usize>

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

#### fn rem(self, other: Complex<usize>) -> Complex<usize>

Performs the `%` operation. Read more
source§

### impl Rem<Complex<usize>> for usize

§

#### type Output = Complex<usize>

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

#### fn rem(self, other: Complex<usize>) -> Self::Output

Performs the `%` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn rem(self, other: T) -> Self::Output

Performs the `%` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn rem(self, other: T) -> Self::Output

Performs the `%` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn rem(self, modulus: Self) -> Self::Output

Performs the `%` operation. Read more
source§

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

source§

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

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

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

source§

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

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

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

source§

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

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

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

source§

#### fn rem_assign(&mut self, modulus: Self)

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

### impl<__S: Fallible + ?Sized, T> Serialize<__S> for Complex<T>where T: Serialize<__S>,

source§

#### fn serialize(&self, serializer: &mut __S) -> Result<Self::Resolver, __S::Error>

Writes the dependencies for the object and returns a resolver that can create the archived type.
source§

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

source§

#### fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn sub(self, other: &Complex<T>) -> Self::Output

Performs the `-` operation. Read more
source§

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

§

#### type Output = Complex<T>

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

#### fn sub(self, other: &Complex<T>) -> Self::Output

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<f32>> for &'b f32

§

#### type Output = Complex<f32>

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

#### fn sub(self, other: &Complex<f32>) -> Complex<f32>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<f32>> for f32

§

#### type Output = Complex<f32>

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

#### fn sub(self, other: &Complex<f32>) -> Complex<f32>

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<f64>> for &'b f64

§

#### type Output = Complex<f64>

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

#### fn sub(self, other: &Complex<f64>) -> Complex<f64>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<f64>> for f64

§

#### type Output = Complex<f64>

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

#### fn sub(self, other: &Complex<f64>) -> Complex<f64>

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<i128>> for &'b i128

§

#### type Output = Complex<i128>

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

#### fn sub(self, other: &Complex<i128>) -> Complex<i128>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<i128>> for i128

§

#### type Output = Complex<i128>

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

#### fn sub(self, other: &Complex<i128>) -> Complex<i128>

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<i16>> for &'b i16

§

#### type Output = Complex<i16>

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

#### fn sub(self, other: &Complex<i16>) -> Complex<i16>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<i16>> for i16

§

#### type Output = Complex<i16>

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

#### fn sub(self, other: &Complex<i16>) -> Complex<i16>

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<i32>> for &'b i32

§

#### type Output = Complex<i32>

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

#### fn sub(self, other: &Complex<i32>) -> Complex<i32>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<i32>> for i32

§

#### type Output = Complex<i32>

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

#### fn sub(self, other: &Complex<i32>) -> Complex<i32>

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<i64>> for &'b i64

§

#### type Output = Complex<i64>

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

#### fn sub(self, other: &Complex<i64>) -> Complex<i64>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<i64>> for i64

§

#### type Output = Complex<i64>

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

#### fn sub(self, other: &Complex<i64>) -> Complex<i64>

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<i8>> for &'b i8

§

#### type Output = Complex<i8>

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

#### fn sub(self, other: &Complex<i8>) -> Complex<i8>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<i8>> for i8

§

#### type Output = Complex<i8>

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

#### fn sub(self, other: &Complex<i8>) -> Complex<i8>

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<isize>> for &'b isize

§

#### type Output = Complex<isize>

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

#### fn sub(self, other: &Complex<isize>) -> Complex<isize>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<isize>> for isize

§

#### type Output = Complex<isize>

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

#### fn sub(self, other: &Complex<isize>) -> Complex<isize>

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<u128>> for &'b u128

§

#### type Output = Complex<u128>

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

#### fn sub(self, other: &Complex<u128>) -> Complex<u128>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<u128>> for u128

§

#### type Output = Complex<u128>

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

#### fn sub(self, other: &Complex<u128>) -> Complex<u128>

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<u16>> for &'b u16

§

#### type Output = Complex<u16>

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

#### fn sub(self, other: &Complex<u16>) -> Complex<u16>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<u16>> for u16

§

#### type Output = Complex<u16>

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

#### fn sub(self, other: &Complex<u16>) -> Complex<u16>

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<u32>> for &'b u32

§

#### type Output = Complex<u32>

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

#### fn sub(self, other: &Complex<u32>) -> Complex<u32>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<u32>> for u32

§

#### type Output = Complex<u32>

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

#### fn sub(self, other: &Complex<u32>) -> Complex<u32>

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<u64>> for &'b u64

§

#### type Output = Complex<u64>

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

#### fn sub(self, other: &Complex<u64>) -> Complex<u64>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<u64>> for u64

§

#### type Output = Complex<u64>

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

#### fn sub(self, other: &Complex<u64>) -> Complex<u64>

Performs the `-` operation. Read more
source§

### impl<'a, 'b> Sub<&'a Complex<u8>> for &'b u8

§

#### type Output = Complex<u8>

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

#### fn sub(self, other: &Complex<u8>) -> Complex<u8>

Performs the `-` operation. Read more
source§

### impl<'a> Sub<&'a Complex<u8>> for u8

§

#### type Output = Complex<u8>

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

#### fn sub(self, other: &Complex<u8>) -> Complex<u8>

Performs the `-` operation. Read more
source§