# Struct num_complex::Complex [−] [src]

    #[repr(C)]
    pub struct Complex<T> {
        pub re: T,
        pub im: T,
    }

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

## Methods

### `impl<T: Clone + Num> Complex<T>`
[src]

#### `pub fn new(re: T, im: T) -> Complex<T>`
[src]

Create a new Complex

#### `pub fn i() -> Complex<T>`
[src]

Returns imaginary unit

#### `pub fn norm_sqr(&self) -> T`
[src]

Returns the square of the norm (since `T` doesn't necessarily have a sqrt function), i.e. `re^2 + im^2`.

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

Multiplies `self` by the scalar `t`.

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

Divides `self` by the scalar `t`.

### `impl<T: Clone + Num + Neg<Output = T>> Complex<T>`
[src]

#### `pub fn conj(&self) -> Complex<T>`
[src]

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

#### `pub fn inv(&self) -> Complex<T>`
[src]

Returns `1/self`

### `impl<T: Clone + Float> Complex<T>`
[src]

#### `pub fn norm(&self) -> T`
[src]

Calculate |self|

#### `pub fn arg(&self) -> T`
[src]

Calculate the principal Arg of self.

#### `pub fn to_polar(&self) -> (T, T)`
[src]

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

#### `pub fn from_polar(r: &T, theta: &T) -> Complex<T>`
[src]

Convert a polar representation into a complex number.

#### `pub fn exp(&self) -> Complex<T>`
[src]

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

#### `pub fn ln(&self) -> Complex<T>`
[src]

Computes the principal value of natural logarithm of `self`.

This function has one branch cut:

- `(-∞, 0]`, continuous from above.

The branch satisfies `-π ≤ arg(ln(z)) ≤ π`.

#### `pub fn sqrt(&self) -> Complex<T>`
[src]

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

This function has one branch cut:

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

The branch satisfies `-π/2 ≤ arg(sqrt(z)) ≤ π/2`.

#### `pub fn powf(&self, exp: T) -> Complex<T>`
[src]

Raises `self` to a floating point power.

#### `pub fn log(&self, base: T) -> Complex<T>`
[src]

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

#### `pub fn powc(&self, exp: Complex<T>) -> Complex<T>`
[src]

Raises `self` to a complex power.

#### `pub fn expf(&self, base: T) -> Complex<T>`
[src]

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

#### `pub fn sin(&self) -> Complex<T>`
[src]

Computes the sine of `self`.

#### `pub fn cos(&self) -> Complex<T>`
[src]

Computes the cosine of `self`.

#### `pub fn tan(&self) -> Complex<T>`
[src]

Computes the tangent of `self`.

#### `pub fn asin(&self) -> Complex<T>`
[src]

Computes the principal value of the inverse sine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Re(asin(z)) ≤ π/2`.

#### `pub fn acos(&self) -> Complex<T>`
[src]

Computes the principal value of the inverse cosine of `self`.

This function has two branch cuts:

- `(-∞, -1)`, continuous from above.
- `(1, ∞)`, continuous from below.

The branch satisfies `0 ≤ Re(acos(z)) ≤ π`.

#### `pub fn atan(&self) -> Complex<T>`
[src]

Computes the principal value of the inverse tangent of `self`.

This function has two branch cuts:

- `(-∞i, -i]`, continuous from the left.
- `[i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Re(atan(z)) ≤ π/2`.

#### `pub fn sinh(&self) -> Complex<T>`
[src]

Computes the hyperbolic sine of `self`.

#### `pub fn cosh(&self) -> Complex<T>`
[src]

Computes the hyperbolic cosine of `self`.

#### `pub fn tanh(&self) -> Complex<T>`
[src]

Computes the hyperbolic tangent of `self`.

#### `pub fn asinh(&self) -> Complex<T>`
[src]

Computes the principal value of inverse hyperbolic sine of `self`.

This function has two branch cuts:

- `(-∞i, -i)`, continuous from the left.
- `(i, ∞i)`, continuous from the right.

The branch satisfies `-π/2 ≤ Im(asinh(z)) ≤ π/2`.

#### `pub fn acosh(&self) -> Complex<T>`
[src]

Computes the principal value of inverse hyperbolic cosine of `self`.

This function has one branch cut:

- `(-∞, 1)`, continuous from above.

The branch satisfies `-π ≤ Im(acosh(z)) ≤ π` and `0 ≤ Re(acosh(z)) < ∞`.

#### `pub fn atanh(&self) -> Complex<T>`
[src]

Computes the principal value of inverse hyperbolic tangent of `self`.

This function has two branch cuts:

- `(-∞, -1]`, continuous from above.
- `[1, ∞)`, continuous from below.

The branch satisfies `-π/2 ≤ Im(atanh(z)) ≤ π/2`.

#### `pub fn is_nan(self) -> bool`
[src]

Checks if the given complex number is NaN

#### `pub fn is_infinite(self) -> bool`
[src]

Checks if the given complex number is infinite

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

Checks if the given complex number is finite

#### `pub fn is_normal(self) -> bool`
[src]

Checks if the given complex number is normal

## Trait Implementations

### `impl<T: Clone + NumAssign> AddAssign for Complex<T>`
[src]

#### `fn add_assign(&mut self, other: Complex<T>)`
[src]

Performs the `+=` operation.

### `impl<T: Clone + NumAssign> SubAssign for Complex<T>`
[src]

#### `fn sub_assign(&mut self, other: Complex<T>)`
[src]

Performs the `-=` operation.

### `impl<T: Clone + NumAssign> MulAssign for Complex<T>`
[src]

#### `fn mul_assign(&mut self, other: Complex<T>)`
[src]

Performs the `*=` operation.

### `impl<T: Clone + NumAssign> DivAssign for Complex<T>`
[src]

#### `fn div_assign(&mut self, other: Complex<T>)`
[src]

Performs the `/=` operation.

### `impl<T: Clone + NumAssign> RemAssign for Complex<T>`
[src]

#### `fn rem_assign(&mut self, other: Complex<T>)`
[src]

Performs the `%=` operation.

### `impl<T: Clone + NumAssign> AddAssign<T> for Complex<T>`
[src]

#### `fn add_assign(&mut self, other: T)`
[src]

Performs the `+=` operation.

### `impl<T: Clone + NumAssign> SubAssign<T> for Complex<T>`
[src]

#### `fn sub_assign(&mut self, other: T)`
[src]

Performs the `-=` operation.

### `impl<T: Clone + NumAssign> MulAssign<T> for Complex<T>`
[src]

#### `fn mul_assign(&mut self, other: T)`
[src]

Performs the `*=` operation.

### `impl<T: Clone + NumAssign> DivAssign<T> for Complex<T>`
[src]

#### `fn div_assign(&mut self, other: T)`
[src]

Performs the `/=` operation.

### `impl<T: Clone + NumAssign> RemAssign<T> for Complex<T>`
[src]

#### `fn rem_assign(&mut self, other: T)`
[src]

Performs the `%=` operation.

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

#### `fn add_assign(&mut self, other: &Complex<T>)`
[src]

Performs the `+=` operation.

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

#### `fn add_assign(&mut self, other: &T)`
[src]

Performs the `+=` operation.

### `impl<'a, T: Clone + NumAssign> SubAssign<&'a Complex<T>> for Complex<T>`
[src]

#### `fn sub_assign(&mut self, other: &Complex<T>)`
[src]

Performs the `-=` operation.

### `impl<'a, T: Clone + NumAssign> SubAssign<&'a T> for Complex<T>`
[src]

#### `fn sub_assign(&mut self, other: &T)`
[src]

Performs the `-=` operation.

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

#### `fn mul_assign(&mut self, other: &Complex<T>)`
[src]

Performs the `*=` operation.

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

#### `fn mul_assign(&mut self, other: &T)`
[src]

Performs the `*=` operation.

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

#### `fn div_assign(&mut self, other: &Complex<T>)`
[src]

Performs the `/=` operation.

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

#### `fn div_assign(&mut self, other: &T)`
[src]

Performs the `/=` operation.

### `impl<'a, T: Clone + NumAssign> RemAssign<&'a Complex<T>> for Complex<T>`
[src]

#### `fn rem_assign(&mut self, other: &Complex<T>)`
[src]

Performs the `%=` operation.

### `impl<'a, T: Clone + NumAssign> RemAssign<&'a T> for Complex<T>`
[src]

#### `fn rem_assign(&mut self, other: &T)`
[src]

Performs the `%=` operation.

### `impl<T: PartialEq> PartialEq for Complex<T>`
[src]

#### `fn eq(&self, __arg_0: &Complex<T>) -> bool`
[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, __arg_0: &Complex<T>) -> bool`
[src]

This method tests for `!=`.

### `impl<T: Eq> Eq for Complex<T>`
[src]

### `impl<T: Copy> Copy for Complex<T>`
[src]

### `impl<T: Clone> Clone for Complex<T>`
[src]

#### `fn clone(&self) -> Complex<T>`
[src]

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`
1.0.0
[src]

Performs copy-assignment from `source`. Read more

### `impl<T: Hash> Hash for Complex<T>`
[src]

#### `fn hash<__HT: Hasher>(&self, __arg_0: &mut __HT)`
[src]

Feeds this value into the given [`Hasher`]. Read more

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

Feeds a slice of this type into the given [`Hasher`]. Read more

### `impl<T: Debug> Debug for Complex<T>`
[src]

#### `fn fmt(&self, __arg_0: &mut Formatter) -> Result`
[src]

Formats the value using the given formatter. Read more

### `impl<T: Default> Default for Complex<T>`
[src]

#### `fn default() -> Complex<T>`
[src]

Returns the "default value" for a type. Read more

### `impl<T: Encodable> Encodable for Complex<T>`
[src]

#### `fn encode<__ST: Encoder>(&self, __arg_0: &mut __ST) -> Result<(), __ST::Error>`
[src]

Serialize a value using an `Encoder`.

### `impl<T: Decodable> Decodable for Complex<T>`
[src]

#### `fn decode<__DT: Decoder>(__arg_0: &mut __DT) -> Result<Complex<T>, __DT::Error>`
[src]

Deserialize a value using a `Decoder`.

### `impl<T: Clone + Num> From<T> for Complex<T>`
[src]

#### `fn from(re: T) -> Complex<T>`
[src]

Performs the conversion.

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

#### `fn from(re: &T) -> Complex<T>`
[src]

Performs the conversion.

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

#### `type Output = Complex<T>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<T>) -> Complex<T>`
[src]

Performs the `+` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<T>) -> Complex<T>`
[src]

Performs the `+` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<T>) -> Complex<T>`
[src]

Performs the `+` operation.

### `impl<T: Clone + Num> Add<Complex<T>> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<T>) -> Complex<T>`
[src]

Performs the `+` operation.

### `impl<'a, 'b, T: Clone + Num> Sub<&'b Complex<T>> for &'a Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<T>) -> Complex<T>`
[src]

Performs the `-` operation.

### `impl<'a, T: Clone + Num> Sub<Complex<T>> for &'a Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<T>) -> Complex<T>`
[src]

Performs the `-` operation.

### `impl<'a, T: Clone + Num> Sub<&'a Complex<T>> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<T>) -> Complex<T>`
[src]

Performs the `-` operation.

### `impl<T: Clone + Num> Sub<Complex<T>> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<T>) -> Complex<T>`
[src]

Performs the `-` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<T>) -> Complex<T>`
[src]

Performs the `*` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<T>) -> Complex<T>`
[src]

Performs the `*` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<T>) -> Complex<T>`
[src]

Performs the `*` operation.

### `impl<T: Clone + Num> Mul<Complex<T>> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<T>) -> Complex<T>`
[src]

Performs the `*` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<T>) -> Complex<T>`
[src]

Performs the `/` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<T>) -> Complex<T>`
[src]

Performs the `/` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<T>) -> Complex<T>`
[src]

Performs the `/` operation.

### `impl<T: Clone + Num> Div<Complex<T>> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<T>) -> Complex<T>`
[src]

Performs the `/` operation.

### `impl<'a, 'b, T: Clone + Num> Rem<&'b Complex<T>> for &'a Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<T>) -> Complex<T>`
[src]

Performs the `%` operation.

### `impl<'a, T: Clone + Num> Rem<Complex<T>> for &'a Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<T>) -> Complex<T>`
[src]

Performs the `%` operation.

### `impl<'a, T: Clone + Num> Rem<&'a Complex<T>> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<T>) -> Complex<T>`
[src]

Performs the `%` operation.

### `impl<T: Clone + Num> Rem<Complex<T>> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `%` operator.

#### `fn rem(self, modulus: Complex<T>) -> Self`
[src]

Performs the `%` operation.

### `impl<T: Clone + Num + Neg<Output = T>> Neg for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `-` operator.

#### `fn neg(self) -> Complex<T>`
[src]

Performs the unary `-` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `-` operator.

#### `fn neg(self) -> Complex<T>`
[src]

Performs the unary `-` operation.

### `impl<T: Clone + Num> Add<T> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: T) -> Complex<T>`
[src]

Performs the `+` operation.

### `impl<T: Clone + Num> Sub<T> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: T) -> Complex<T>`
[src]

Performs the `-` operation.

### `impl<T: Clone + Num> Mul<T> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: T) -> Complex<T>`
[src]

Performs the `*` operation.

### `impl<T: Clone + Num> Div<T> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: T) -> Complex<T>`
[src]

Performs the `/` operation.

### `impl<T: Clone + Num> Rem<T> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: T) -> Complex<T>`
[src]

Performs the `%` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &T) -> Complex<T>`
[src]

Performs the `+` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: T) -> Complex<T>`
[src]

Performs the `+` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &T) -> Complex<T>`
[src]

Performs the `+` operation.

### `impl<'a> Add<&'a Complex<usize>> for usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<usize>) -> Complex<usize>`
[src]

Performs the `+` operation.

### `impl<'a> Add<Complex<usize>> for &'a usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<usize>) -> Complex<usize>`
[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'a Complex<usize>> for &'b usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<usize>) -> Complex<usize>`
[src]

Performs the `+` operation.

### `impl<'a> Add<&'a Complex<u8>> for u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<u8>) -> Complex<u8>`
[src]

Performs the `+` operation.

### `impl<'a> Add<Complex<u8>> for &'a u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<u8>) -> Complex<u8>`
[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'a Complex<u8>> for &'b u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<u8>) -> Complex<u8>`
[src]

Performs the `+` operation.

### `impl<'a> Add<&'a Complex<u16>> for u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<u16>) -> Complex<u16>`
[src]

Performs the `+` operation.

### `impl<'a> Add<Complex<u16>> for &'a u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<u16>) -> Complex<u16>`
[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'a Complex<u16>> for &'b u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<u16>) -> Complex<u16>`
[src]

Performs the `+` operation.

### `impl<'a> Add<&'a Complex<u32>> for u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<u32>) -> Complex<u32>`
[src]

Performs the `+` operation.

### `impl<'a> Add<Complex<u32>> for &'a u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<u32>) -> Complex<u32>`
[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'a Complex<u32>> for &'b u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<u32>) -> Complex<u32>`
[src]

Performs the `+` operation.

### `impl<'a> Add<&'a Complex<u64>> for u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<u64>) -> Complex<u64>`
[src]

Performs the `+` operation.

### `impl<'a> Add<Complex<u64>> for &'a u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<u64>) -> Complex<u64>`
[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'a Complex<u64>> for &'b u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<u64>) -> Complex<u64>`
[src]

Performs the `+` operation.

### `impl<'a> Add<&'a Complex<isize>> for isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<isize>) -> Complex<isize>`
[src]

Performs the `+` operation.

### `impl<'a> Add<Complex<isize>> for &'a isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<isize>) -> Complex<isize>`
[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'a Complex<isize>> for &'b isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<isize>) -> Complex<isize>`
[src]

Performs the `+` operation.

### `impl<'a> Add<&'a Complex<i8>> for i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<i8>) -> Complex<i8>`
[src]

Performs the `+` operation.

### `impl<'a> Add<Complex<i8>> for &'a i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<i8>) -> Complex<i8>`
[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'a Complex<i8>> for &'b i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<i8>) -> Complex<i8>`
[src]

Performs the `+` operation.

### `impl<'a> Add<&'a Complex<i16>> for i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<i16>) -> Complex<i16>`
[src]

Performs the `+` operation.

### `impl<'a> Add<Complex<i16>> for &'a i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<i16>) -> Complex<i16>`
[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'a Complex<i16>> for &'b i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<i16>) -> Complex<i16>`
[src]

Performs the `+` operation.

### `impl<'a> Add<&'a Complex<i32>> for i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<i32>) -> Complex<i32>`
[src]

Performs the `+` operation.

### `impl<'a> Add<Complex<i32>> for &'a i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<i32>) -> Complex<i32>`
[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'a Complex<i32>> for &'b i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<i32>) -> Complex<i32>`
[src]

Performs the `+` operation.

### `impl<'a> Add<&'a Complex<i64>> for i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<i64>) -> Complex<i64>`
[src]

Performs the `+` operation.

### `impl<'a> Add<Complex<i64>> for &'a i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<i64>) -> Complex<i64>`
[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'a Complex<i64>> for &'b i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<i64>) -> Complex<i64>`
[src]

Performs the `+` operation.

### `impl<'a> Add<&'a Complex<f32>> for f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<f32>) -> Complex<f32>`
[src]

Performs the `+` operation.

### `impl<'a> Add<Complex<f32>> for &'a f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<f32>) -> Complex<f32>`
[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'a Complex<f32>> for &'b f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<f32>) -> Complex<f32>`
[src]

Performs the `+` operation.

### `impl<'a> Add<&'a Complex<f64>> for f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<f64>) -> Complex<f64>`
[src]

Performs the `+` operation.

### `impl<'a> Add<Complex<f64>> for &'a f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<f64>) -> Complex<f64>`
[src]

Performs the `+` operation.

### `impl<'a, 'b> Add<&'a Complex<f64>> for &'b f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: &Complex<f64>) -> Complex<f64>`
[src]

Performs the `+` operation.

### `impl<'a, T: Clone + Num> Sub<&'a T> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &T) -> Complex<T>`
[src]

Performs the `-` operation.

### `impl<'a, T: Clone + Num> Sub<T> for &'a Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: T) -> Complex<T>`
[src]

Performs the `-` operation.

### `impl<'a, 'b, T: Clone + Num> Sub<&'a T> for &'b Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &T) -> Complex<T>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a Complex<usize>> for usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<usize>) -> Complex<usize>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<Complex<usize>> for &'a usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<usize>) -> Complex<usize>`
[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'a Complex<usize>> for &'b usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<usize>) -> Complex<usize>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a Complex<u8>> for u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<u8>) -> Complex<u8>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<Complex<u8>> for &'a u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<u8>) -> Complex<u8>`
[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'a Complex<u8>> for &'b u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<u8>) -> Complex<u8>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a Complex<u16>> for u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<u16>) -> Complex<u16>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<Complex<u16>> for &'a u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<u16>) -> Complex<u16>`
[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'a Complex<u16>> for &'b u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<u16>) -> Complex<u16>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a Complex<u32>> for u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<u32>) -> Complex<u32>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<Complex<u32>> for &'a u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<u32>) -> Complex<u32>`
[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'a Complex<u32>> for &'b u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<u32>) -> Complex<u32>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a Complex<u64>> for u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<u64>) -> Complex<u64>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<Complex<u64>> for &'a u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<u64>) -> Complex<u64>`
[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'a Complex<u64>> for &'b u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<u64>) -> Complex<u64>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a Complex<isize>> for isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<isize>) -> Complex<isize>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<Complex<isize>> for &'a isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<isize>) -> Complex<isize>`
[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'a Complex<isize>> for &'b isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<isize>) -> Complex<isize>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a Complex<i8>> for i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<i8>) -> Complex<i8>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<Complex<i8>> for &'a i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<i8>) -> Complex<i8>`
[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'a Complex<i8>> for &'b i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<i8>) -> Complex<i8>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a Complex<i16>> for i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<i16>) -> Complex<i16>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<Complex<i16>> for &'a i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<i16>) -> Complex<i16>`
[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'a Complex<i16>> for &'b i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<i16>) -> Complex<i16>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a Complex<i32>> for i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<i32>) -> Complex<i32>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<Complex<i32>> for &'a i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<i32>) -> Complex<i32>`
[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'a Complex<i32>> for &'b i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<i32>) -> Complex<i32>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a Complex<i64>> for i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<i64>) -> Complex<i64>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<Complex<i64>> for &'a i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<i64>) -> Complex<i64>`
[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'a Complex<i64>> for &'b i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<i64>) -> Complex<i64>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a Complex<f32>> for f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<f32>) -> Complex<f32>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<Complex<f32>> for &'a f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<f32>) -> Complex<f32>`
[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'a Complex<f32>> for &'b f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<f32>) -> Complex<f32>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<&'a Complex<f64>> for f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<f64>) -> Complex<f64>`
[src]

Performs the `-` operation.

### `impl<'a> Sub<Complex<f64>> for &'a f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<f64>) -> Complex<f64>`
[src]

Performs the `-` operation.

### `impl<'a, 'b> Sub<&'a Complex<f64>> for &'b f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: &Complex<f64>) -> Complex<f64>`
[src]

Performs the `-` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &T) -> Complex<T>`
[src]

Performs the `*` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: T) -> Complex<T>`
[src]

Performs the `*` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &T) -> Complex<T>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a Complex<usize>> for usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<usize>) -> Complex<usize>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<Complex<usize>> for &'a usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<usize>) -> Complex<usize>`
[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'a Complex<usize>> for &'b usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<usize>) -> Complex<usize>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a Complex<u8>> for u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<u8>) -> Complex<u8>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<Complex<u8>> for &'a u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<u8>) -> Complex<u8>`
[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'a Complex<u8>> for &'b u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<u8>) -> Complex<u8>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a Complex<u16>> for u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<u16>) -> Complex<u16>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<Complex<u16>> for &'a u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<u16>) -> Complex<u16>`
[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'a Complex<u16>> for &'b u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<u16>) -> Complex<u16>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a Complex<u32>> for u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<u32>) -> Complex<u32>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<Complex<u32>> for &'a u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<u32>) -> Complex<u32>`
[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'a Complex<u32>> for &'b u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<u32>) -> Complex<u32>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a Complex<u64>> for u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<u64>) -> Complex<u64>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<Complex<u64>> for &'a u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<u64>) -> Complex<u64>`
[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'a Complex<u64>> for &'b u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<u64>) -> Complex<u64>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a Complex<isize>> for isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<isize>) -> Complex<isize>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<Complex<isize>> for &'a isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<isize>) -> Complex<isize>`
[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'a Complex<isize>> for &'b isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<isize>) -> Complex<isize>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a Complex<i8>> for i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<i8>) -> Complex<i8>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<Complex<i8>> for &'a i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<i8>) -> Complex<i8>`
[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'a Complex<i8>> for &'b i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<i8>) -> Complex<i8>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a Complex<i16>> for i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<i16>) -> Complex<i16>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<Complex<i16>> for &'a i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<i16>) -> Complex<i16>`
[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'a Complex<i16>> for &'b i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<i16>) -> Complex<i16>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a Complex<i32>> for i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<i32>) -> Complex<i32>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<Complex<i32>> for &'a i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<i32>) -> Complex<i32>`
[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'a Complex<i32>> for &'b i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<i32>) -> Complex<i32>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a Complex<i64>> for i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<i64>) -> Complex<i64>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<Complex<i64>> for &'a i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<i64>) -> Complex<i64>`
[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'a Complex<i64>> for &'b i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<i64>) -> Complex<i64>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a Complex<f32>> for f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<f32>) -> Complex<f32>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<Complex<f32>> for &'a f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<f32>) -> Complex<f32>`
[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'a Complex<f32>> for &'b f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<f32>) -> Complex<f32>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<&'a Complex<f64>> for f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<f64>) -> Complex<f64>`
[src]

Performs the `*` operation.

### `impl<'a> Mul<Complex<f64>> for &'a f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<f64>) -> Complex<f64>`
[src]

Performs the `*` operation.

### `impl<'a, 'b> Mul<&'a Complex<f64>> for &'b f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: &Complex<f64>) -> Complex<f64>`
[src]

Performs the `*` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &T) -> Complex<T>`
[src]

Performs the `/` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: T) -> Complex<T>`
[src]

Performs the `/` operation.

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

#### `type Output = Complex<T>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &T) -> Complex<T>`
[src]

Performs the `/` operation.

### `impl<'a> Div<&'a Complex<usize>> for usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<usize>) -> Complex<usize>`
[src]

Performs the `/` operation.

### `impl<'a> Div<Complex<usize>> for &'a usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<usize>) -> Complex<usize>`
[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'a Complex<usize>> for &'b usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<usize>) -> Complex<usize>`
[src]

Performs the `/` operation.

### `impl<'a> Div<&'a Complex<u8>> for u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<u8>) -> Complex<u8>`
[src]

Performs the `/` operation.

### `impl<'a> Div<Complex<u8>> for &'a u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<u8>) -> Complex<u8>`
[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'a Complex<u8>> for &'b u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<u8>) -> Complex<u8>`
[src]

Performs the `/` operation.

### `impl<'a> Div<&'a Complex<u16>> for u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<u16>) -> Complex<u16>`
[src]

Performs the `/` operation.

### `impl<'a> Div<Complex<u16>> for &'a u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<u16>) -> Complex<u16>`
[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'a Complex<u16>> for &'b u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<u16>) -> Complex<u16>`
[src]

Performs the `/` operation.

### `impl<'a> Div<&'a Complex<u32>> for u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<u32>) -> Complex<u32>`
[src]

Performs the `/` operation.

### `impl<'a> Div<Complex<u32>> for &'a u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<u32>) -> Complex<u32>`
[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'a Complex<u32>> for &'b u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<u32>) -> Complex<u32>`
[src]

Performs the `/` operation.

### `impl<'a> Div<&'a Complex<u64>> for u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<u64>) -> Complex<u64>`
[src]

Performs the `/` operation.

### `impl<'a> Div<Complex<u64>> for &'a u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<u64>) -> Complex<u64>`
[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'a Complex<u64>> for &'b u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<u64>) -> Complex<u64>`
[src]

Performs the `/` operation.

### `impl<'a> Div<&'a Complex<isize>> for isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<isize>) -> Complex<isize>`
[src]

Performs the `/` operation.

### `impl<'a> Div<Complex<isize>> for &'a isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<isize>) -> Complex<isize>`
[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'a Complex<isize>> for &'b isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<isize>) -> Complex<isize>`
[src]

Performs the `/` operation.

### `impl<'a> Div<&'a Complex<i8>> for i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<i8>) -> Complex<i8>`
[src]

Performs the `/` operation.

### `impl<'a> Div<Complex<i8>> for &'a i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<i8>) -> Complex<i8>`
[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'a Complex<i8>> for &'b i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<i8>) -> Complex<i8>`
[src]

Performs the `/` operation.

### `impl<'a> Div<&'a Complex<i16>> for i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<i16>) -> Complex<i16>`
[src]

Performs the `/` operation.

### `impl<'a> Div<Complex<i16>> for &'a i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<i16>) -> Complex<i16>`
[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'a Complex<i16>> for &'b i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<i16>) -> Complex<i16>`
[src]

Performs the `/` operation.

### `impl<'a> Div<&'a Complex<i32>> for i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<i32>) -> Complex<i32>`
[src]

Performs the `/` operation.

### `impl<'a> Div<Complex<i32>> for &'a i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<i32>) -> Complex<i32>`
[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'a Complex<i32>> for &'b i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<i32>) -> Complex<i32>`
[src]

Performs the `/` operation.

### `impl<'a> Div<&'a Complex<i64>> for i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<i64>) -> Complex<i64>`
[src]

Performs the `/` operation.

### `impl<'a> Div<Complex<i64>> for &'a i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<i64>) -> Complex<i64>`
[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'a Complex<i64>> for &'b i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<i64>) -> Complex<i64>`
[src]

Performs the `/` operation.

### `impl<'a> Div<&'a Complex<f32>> for f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<f32>) -> Complex<f32>`
[src]

Performs the `/` operation.

### `impl<'a> Div<Complex<f32>> for &'a f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<f32>) -> Complex<f32>`
[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'a Complex<f32>> for &'b f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<f32>) -> Complex<f32>`
[src]

Performs the `/` operation.

### `impl<'a> Div<&'a Complex<f64>> for f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<f64>) -> Complex<f64>`
[src]

Performs the `/` operation.

### `impl<'a> Div<Complex<f64>> for &'a f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<f64>) -> Complex<f64>`
[src]

Performs the `/` operation.

### `impl<'a, 'b> Div<&'a Complex<f64>> for &'b f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: &Complex<f64>) -> Complex<f64>`
[src]

Performs the `/` operation.

### `impl<'a, T: Clone + Num> Rem<&'a T> for Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &T) -> Complex<T>`
[src]

Performs the `%` operation.

### `impl<'a, T: Clone + Num> Rem<T> for &'a Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: T) -> Complex<T>`
[src]

Performs the `%` operation.

### `impl<'a, 'b, T: Clone + Num> Rem<&'a T> for &'b Complex<T>`
[src]

#### `type Output = Complex<T>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &T) -> Complex<T>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a Complex<usize>> for usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<usize>) -> Complex<usize>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<Complex<usize>> for &'a usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<usize>) -> Complex<usize>`
[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'a Complex<usize>> for &'b usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<usize>) -> Complex<usize>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a Complex<u8>> for u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<u8>) -> Complex<u8>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<Complex<u8>> for &'a u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<u8>) -> Complex<u8>`
[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'a Complex<u8>> for &'b u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<u8>) -> Complex<u8>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a Complex<u16>> for u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<u16>) -> Complex<u16>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<Complex<u16>> for &'a u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<u16>) -> Complex<u16>`
[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'a Complex<u16>> for &'b u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<u16>) -> Complex<u16>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a Complex<u32>> for u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<u32>) -> Complex<u32>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<Complex<u32>> for &'a u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<u32>) -> Complex<u32>`
[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'a Complex<u32>> for &'b u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<u32>) -> Complex<u32>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a Complex<u64>> for u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<u64>) -> Complex<u64>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<Complex<u64>> for &'a u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<u64>) -> Complex<u64>`
[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'a Complex<u64>> for &'b u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<u64>) -> Complex<u64>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a Complex<isize>> for isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<isize>) -> Complex<isize>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<Complex<isize>> for &'a isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<isize>) -> Complex<isize>`
[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'a Complex<isize>> for &'b isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<isize>) -> Complex<isize>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a Complex<i8>> for i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<i8>) -> Complex<i8>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<Complex<i8>> for &'a i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<i8>) -> Complex<i8>`
[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'a Complex<i8>> for &'b i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<i8>) -> Complex<i8>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a Complex<i16>> for i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<i16>) -> Complex<i16>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<Complex<i16>> for &'a i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<i16>) -> Complex<i16>`
[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'a Complex<i16>> for &'b i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<i16>) -> Complex<i16>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a Complex<i32>> for i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<i32>) -> Complex<i32>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<Complex<i32>> for &'a i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<i32>) -> Complex<i32>`
[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'a Complex<i32>> for &'b i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<i32>) -> Complex<i32>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a Complex<i64>> for i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<i64>) -> Complex<i64>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<Complex<i64>> for &'a i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<i64>) -> Complex<i64>`
[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'a Complex<i64>> for &'b i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<i64>) -> Complex<i64>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a Complex<f32>> for f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<f32>) -> Complex<f32>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<Complex<f32>> for &'a f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<f32>) -> Complex<f32>`
[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'a Complex<f32>> for &'b f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<f32>) -> Complex<f32>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<&'a Complex<f64>> for f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<f64>) -> Complex<f64>`
[src]

Performs the `%` operation.

### `impl<'a> Rem<Complex<f64>> for &'a f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<f64>) -> Complex<f64>`
[src]

Performs the `%` operation.

### `impl<'a, 'b> Rem<&'a Complex<f64>> for &'b f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: &Complex<f64>) -> Complex<f64>`
[src]

Performs the `%` operation.

### `impl Add<Complex<usize>> for usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<usize>) -> Complex<usize>`
[src]

Performs the `+` operation.

### `impl Sub<Complex<usize>> for usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<usize>) -> Complex<usize>`
[src]

Performs the `-` operation.

### `impl Mul<Complex<usize>> for usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<usize>) -> Complex<usize>`
[src]

Performs the `*` operation.

### `impl Div<Complex<usize>> for usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<usize>) -> Complex<usize>`
[src]

Performs the `/` operation.

### `impl Rem<Complex<usize>> for usize`
[src]

#### `type Output = Complex<usize>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<usize>) -> Complex<usize>`
[src]

Performs the `%` operation.

### `impl Add<Complex<u8>> for u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<u8>) -> Complex<u8>`
[src]

Performs the `+` operation.

### `impl Sub<Complex<u8>> for u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<u8>) -> Complex<u8>`
[src]

Performs the `-` operation.

### `impl Mul<Complex<u8>> for u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<u8>) -> Complex<u8>`
[src]

Performs the `*` operation.

### `impl Div<Complex<u8>> for u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<u8>) -> Complex<u8>`
[src]

Performs the `/` operation.

### `impl Rem<Complex<u8>> for u8`
[src]

#### `type Output = Complex<u8>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<u8>) -> Complex<u8>`
[src]

Performs the `%` operation.

### `impl Add<Complex<u16>> for u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<u16>) -> Complex<u16>`
[src]

Performs the `+` operation.

### `impl Sub<Complex<u16>> for u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<u16>) -> Complex<u16>`
[src]

Performs the `-` operation.

### `impl Mul<Complex<u16>> for u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<u16>) -> Complex<u16>`
[src]

Performs the `*` operation.

### `impl Div<Complex<u16>> for u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<u16>) -> Complex<u16>`
[src]

Performs the `/` operation.

### `impl Rem<Complex<u16>> for u16`
[src]

#### `type Output = Complex<u16>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<u16>) -> Complex<u16>`
[src]

Performs the `%` operation.

### `impl Add<Complex<u32>> for u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<u32>) -> Complex<u32>`
[src]

Performs the `+` operation.

### `impl Sub<Complex<u32>> for u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<u32>) -> Complex<u32>`
[src]

Performs the `-` operation.

### `impl Mul<Complex<u32>> for u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<u32>) -> Complex<u32>`
[src]

Performs the `*` operation.

### `impl Div<Complex<u32>> for u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<u32>) -> Complex<u32>`
[src]

Performs the `/` operation.

### `impl Rem<Complex<u32>> for u32`
[src]

#### `type Output = Complex<u32>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<u32>) -> Complex<u32>`
[src]

Performs the `%` operation.

### `impl Add<Complex<u64>> for u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<u64>) -> Complex<u64>`
[src]

Performs the `+` operation.

### `impl Sub<Complex<u64>> for u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<u64>) -> Complex<u64>`
[src]

Performs the `-` operation.

### `impl Mul<Complex<u64>> for u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<u64>) -> Complex<u64>`
[src]

Performs the `*` operation.

### `impl Div<Complex<u64>> for u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<u64>) -> Complex<u64>`
[src]

Performs the `/` operation.

### `impl Rem<Complex<u64>> for u64`
[src]

#### `type Output = Complex<u64>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<u64>) -> Complex<u64>`
[src]

Performs the `%` operation.

### `impl Add<Complex<isize>> for isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<isize>) -> Complex<isize>`
[src]

Performs the `+` operation.

### `impl Sub<Complex<isize>> for isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<isize>) -> Complex<isize>`
[src]

Performs the `-` operation.

### `impl Mul<Complex<isize>> for isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<isize>) -> Complex<isize>`
[src]

Performs the `*` operation.

### `impl Div<Complex<isize>> for isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<isize>) -> Complex<isize>`
[src]

Performs the `/` operation.

### `impl Rem<Complex<isize>> for isize`
[src]

#### `type Output = Complex<isize>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<isize>) -> Complex<isize>`
[src]

Performs the `%` operation.

### `impl Add<Complex<i8>> for i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<i8>) -> Complex<i8>`
[src]

Performs the `+` operation.

### `impl Sub<Complex<i8>> for i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<i8>) -> Complex<i8>`
[src]

Performs the `-` operation.

### `impl Mul<Complex<i8>> for i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<i8>) -> Complex<i8>`
[src]

Performs the `*` operation.

### `impl Div<Complex<i8>> for i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<i8>) -> Complex<i8>`
[src]

Performs the `/` operation.

### `impl Rem<Complex<i8>> for i8`
[src]

#### `type Output = Complex<i8>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<i8>) -> Complex<i8>`
[src]

Performs the `%` operation.

### `impl Add<Complex<i16>> for i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<i16>) -> Complex<i16>`
[src]

Performs the `+` operation.

### `impl Sub<Complex<i16>> for i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<i16>) -> Complex<i16>`
[src]

Performs the `-` operation.

### `impl Mul<Complex<i16>> for i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<i16>) -> Complex<i16>`
[src]

Performs the `*` operation.

### `impl Div<Complex<i16>> for i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<i16>) -> Complex<i16>`
[src]

Performs the `/` operation.

### `impl Rem<Complex<i16>> for i16`
[src]

#### `type Output = Complex<i16>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<i16>) -> Complex<i16>`
[src]

Performs the `%` operation.

### `impl Add<Complex<i32>> for i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<i32>) -> Complex<i32>`
[src]

Performs the `+` operation.

### `impl Sub<Complex<i32>> for i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<i32>) -> Complex<i32>`
[src]

Performs the `-` operation.

### `impl Mul<Complex<i32>> for i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<i32>) -> Complex<i32>`
[src]

Performs the `*` operation.

### `impl Div<Complex<i32>> for i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<i32>) -> Complex<i32>`
[src]

Performs the `/` operation.

### `impl Rem<Complex<i32>> for i32`
[src]

#### `type Output = Complex<i32>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<i32>) -> Complex<i32>`
[src]

Performs the `%` operation.

### `impl Add<Complex<i64>> for i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<i64>) -> Complex<i64>`
[src]

Performs the `+` operation.

### `impl Sub<Complex<i64>> for i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<i64>) -> Complex<i64>`
[src]

Performs the `-` operation.

### `impl Mul<Complex<i64>> for i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<i64>) -> Complex<i64>`
[src]

Performs the `*` operation.

### `impl Div<Complex<i64>> for i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<i64>) -> Complex<i64>`
[src]

Performs the `/` operation.

### `impl Rem<Complex<i64>> for i64`
[src]

#### `type Output = Complex<i64>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<i64>) -> Complex<i64>`
[src]

Performs the `%` operation.

### `impl Add<Complex<f32>> for f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<f32>) -> Complex<f32>`
[src]

Performs the `+` operation.

### `impl Sub<Complex<f32>> for f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<f32>) -> Complex<f32>`
[src]

Performs the `-` operation.

### `impl Mul<Complex<f32>> for f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<f32>) -> Complex<f32>`
[src]

Performs the `*` operation.

### `impl Div<Complex<f32>> for f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<f32>) -> Complex<f32>`
[src]

Performs the `/` operation.

### `impl Rem<Complex<f32>> for f32`
[src]

#### `type Output = Complex<f32>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<f32>) -> Complex<f32>`
[src]

Performs the `%` operation.

### `impl Add<Complex<f64>> for f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `+` operator.

#### `fn add(self, other: Complex<f64>) -> Complex<f64>`
[src]

Performs the `+` operation.

### `impl Sub<Complex<f64>> for f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `-` operator.

#### `fn sub(self, other: Complex<f64>) -> Complex<f64>`
[src]

Performs the `-` operation.

### `impl Mul<Complex<f64>> for f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `*` operator.

#### `fn mul(self, other: Complex<f64>) -> Complex<f64>`
[src]

Performs the `*` operation.

### `impl Div<Complex<f64>> for f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `/` operator.

#### `fn div(self, other: Complex<f64>) -> Complex<f64>`
[src]

Performs the `/` operation.

### `impl Rem<Complex<f64>> for f64`
[src]

#### `type Output = Complex<f64>`

The resulting type after applying the `%` operator.

#### `fn rem(self, other: Complex<f64>) -> Complex<f64>`
[src]

Performs the `%` operation.

### `impl<T: Clone + Num> Zero for Complex<T>`
[src]

#### `fn zero() -> Complex<T>`
[src]

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

#### `fn is_zero(&self) -> bool`
[src]

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

### `impl<T: Clone + Num> One for Complex<T>`
[src]

#### `fn one() -> Complex<T>`
[src]

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

#### `fn is_one(&self) -> bool where
Self: PartialEq<Self>,`
[src]

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

### `impl<T> Display for Complex<T> where
T: Display + Num + PartialOrd + Clone,`
[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result`
[src]

Formats the value using the given formatter. Read more

### `impl<T> LowerExp for Complex<T> where
T: LowerExp + Num + PartialOrd + Clone,`
[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result`
[src]

Formats the value using the given formatter.

### `impl<T> UpperExp for Complex<T> where
T: UpperExp + Num + PartialOrd + Clone,`
[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result`
[src]

Formats the value using the given formatter.

### `impl<T> LowerHex for Complex<T> where
T: LowerHex + Num + PartialOrd + Clone,`
[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result`
[src]

Formats the value using the given formatter.

### `impl<T> UpperHex for Complex<T> where
T: UpperHex + Num + PartialOrd + Clone,`
[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result`
[src]

Formats the value using the given formatter.

### `impl<T> Octal for Complex<T> where
T: Octal + Num + PartialOrd + Clone,`
[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result`
[src]

Formats the value using the given formatter.

### `impl<T> Binary for Complex<T> where
T: Binary + Num + PartialOrd + Clone,`
[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result`
[src]

Formats the value using the given formatter.

### `impl<T> FromStr for Complex<T> where
T: FromStr + Num + Clone,`
[src]

#### `type Err = ParseComplexError<T::Err>`

The associated error which can be returned from parsing.

#### `fn from_str(s: &str) -> Result<Self, Self::Err>`
[src]

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

### `impl<T: Num + Clone> Num for Complex<T>`
[src]

#### `type FromStrRadixErr = ParseComplexError<T::FromStrRadixErr>`

#### `fn from_str_radix(s: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>`
[src]

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

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)