#[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: TReal portion of the complex number
im: TImaginary portion of the complex number
Implementations
sourceimpl<T> Complex<T> where
    T: Clone + Num, 
 
impl<T> Complex<T> where
    T: Clone + Num, 
sourceimpl<T> Complex<T> where
    T: Clone + Signed, 
 
impl<T> Complex<T> where
    T: Clone + Signed, 
sourcepub fn l1_norm(&self) -> T
 
pub fn l1_norm(&self) -> T
Returns the L1 norm |re| + |im| – the Manhattan distance from the origin.
sourceimpl<T> Complex<T> where
    T: Float, 
 
impl<T> Complex<T> where
    T: Float, 
sourcepub fn cis(phase: T) -> Complex<T>
 
pub fn cis(phase: T) -> Complex<T>
Create a new Complex with a given phase: exp(i * phase).
See cis (mathematics).
sourcepub fn to_polar(self) -> (T, T)
 
pub fn to_polar(self) -> (T, T)
Convert to polar form (r, theta), such that
self = r * exp(i * theta)
sourcepub fn from_polar(r: T, theta: T) -> Complex<T>
 
pub fn from_polar(r: T, theta: T) -> Complex<T>
Convert a polar representation into a complex number.
sourcepub fn exp(self) -> Complex<T>
 
pub fn exp(self) -> Complex<T>
Computes e^(self), where e is the base of the natural logarithm.
sourcepub fn ln(self) -> Complex<T>
 
pub fn ln(self) -> Complex<T>
Computes the principal value of natural logarithm of self.
This function has one branch cut:
- (-∞, 0], continuous from above.
The branch satisfies -π ≤ arg(ln(z)) ≤ π.
sourcepub fn sqrt(self) -> Complex<T>
 
pub fn sqrt(self) -> Complex<T>
Computes the principal value of the square root of self.
This function has one branch cut:
- (-∞, 0), continuous from above.
The branch satisfies -π/2 ≤ arg(sqrt(z)) ≤ π/2.
sourcepub fn cbrt(self) -> Complex<T>
 
pub fn cbrt(self) -> Complex<T>
Computes the principal value of the cube root of self.
This function has one branch cut:
- (-∞, 0), continuous from above.
The branch satisfies -π/3 ≤ arg(cbrt(z)) ≤ π/3.
Note that this does not match the usual result for the cube root of
negative real numbers. For example, the real cube root of -8 is -2,
but the principal complex cube root of -8 is 1 + i√3.
sourcepub fn log(self, base: T) -> Complex<T>
 
pub fn log(self, base: T) -> Complex<T>
Returns the logarithm of self with respect to an arbitrary base.
sourcepub fn expf(self, base: T) -> Complex<T>
 
pub fn expf(self, base: T) -> Complex<T>
Raises a floating point number to the complex power self.
sourcepub fn asin(self) -> Complex<T>
 
pub fn asin(self) -> Complex<T>
Computes the principal value of the inverse sine of self.
This function has two branch cuts:
- (-∞, -1), continuous from above.
- (1, ∞), continuous from below.
The branch satisfies -π/2 ≤ Re(asin(z)) ≤ π/2.
sourcepub fn acos(self) -> Complex<T>
 
pub fn acos(self) -> Complex<T>
Computes the principal value of the inverse cosine of self.
This function has two branch cuts:
- (-∞, -1), continuous from above.
- (1, ∞), continuous from below.
The branch satisfies 0 ≤ Re(acos(z)) ≤ π.
sourcepub fn atan(self) -> Complex<T>
 
pub fn atan(self) -> Complex<T>
Computes the principal value of the inverse tangent of self.
This function has two branch cuts:
- (-∞i, -i], continuous from the left.
- [i, ∞i), continuous from the right.
The branch satisfies -π/2 ≤ Re(atan(z)) ≤ π/2.
sourcepub fn asinh(self) -> Complex<T>
 
pub fn asinh(self) -> Complex<T>
Computes the principal value of inverse hyperbolic sine of self.
This function has two branch cuts:
- (-∞i, -i), continuous from the left.
- (i, ∞i), continuous from the right.
The branch satisfies -π/2 ≤ Im(asinh(z)) ≤ π/2.
sourcepub fn acosh(self) -> Complex<T>
 
pub fn acosh(self) -> Complex<T>
Computes the principal value of inverse hyperbolic cosine of self.
This function has one branch cut:
- (-∞, 1), continuous from above.
The branch satisfies -π ≤ Im(acosh(z)) ≤ π and 0 ≤ Re(acosh(z)) < ∞.
sourcepub fn atanh(self) -> Complex<T>
 
pub fn atanh(self) -> Complex<T>
Computes the principal value of inverse hyperbolic tangent of self.
This function has two branch cuts:
- (-∞, -1], continuous from above.
- [1, ∞), continuous from below.
The branch satisfies -π/2 ≤ Im(atanh(z)) ≤ π/2.
sourcepub fn finv(self) -> Complex<T>
 
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);sourcepub fn fdiv(self, other: Complex<T>) -> Complex<T>
 
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);sourceimpl<T> Complex<T> where
    T: Float + FloatConst, 
 
impl<T> Complex<T> where
    T: Float + FloatConst, 
Trait Implementations
sourceimpl<'a, T> AddAssign<&'a Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<'a, T> AddAssign<&'a Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn add_assign(&mut self, other: &Complex<T>)
 
fn add_assign(&mut self, other: &Complex<T>)
Performs the += operation. Read more
sourceimpl<'a, T> AddAssign<&'a T> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<'a, T> AddAssign<&'a T> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn add_assign(&mut self, other: &T)
 
fn add_assign(&mut self, other: &T)
Performs the += operation. Read more
sourceimpl<T> AddAssign<Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<T> AddAssign<Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn add_assign(&mut self, other: Complex<T>)
 
fn add_assign(&mut self, other: Complex<T>)
Performs the += operation. Read more
sourceimpl<T> AddAssign<T> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<T> AddAssign<T> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn add_assign(&mut self, other: T)
 
fn add_assign(&mut self, other: T)
Performs the += operation. Read more
sourceimpl<T, U> AsPrimitive<U> for Complex<T> where
    T: AsPrimitive<U>,
    U: 'static + Copy, 
 
impl<T, U> AsPrimitive<U> for Complex<T> where
    T: AsPrimitive<U>,
    U: 'static + Copy, 
sourceimpl<T> ComplexFloat for Complex<T> where
    T: Float + FloatConst, 
 
impl<T> ComplexFloat for Complex<T> where
    T: Float + FloatConst, 
type Real = T
type Real = T
The type used to represent the real coefficients of this complex number.
sourcefn re(self) -> <Complex<T> as ComplexFloat>::Real
 
fn re(self) -> <Complex<T> as ComplexFloat>::Real
Returns the real part of the number.
sourcefn im(self) -> <Complex<T> as ComplexFloat>::Real
 
fn im(self) -> <Complex<T> as ComplexFloat>::Real
Returns the imaginary part of the number.
sourcefn abs(self) -> <Complex<T> as ComplexFloat>::Real
 
fn abs(self) -> <Complex<T> as ComplexFloat>::Real
Returns the absolute value of the number. See also Complex::norm
sourcefn recip(self) -> Complex<T>
 
fn recip(self) -> Complex<T>
Take the reciprocal (inverse) of a number, 1/x. See also Complex::finv.
sourcefn l1_norm(&self) -> <Complex<T> as ComplexFloat>::Real
 
fn l1_norm(&self) -> <Complex<T> as ComplexFloat>::Real
Returns the L1 norm |re| + |im| – the Manhattan distance from the origin. Read more
sourcefn is_infinite(self) -> bool
 
fn is_infinite(self) -> bool
Returns true if this value is positive infinity or negative infinity and
false otherwise. Read more
sourcefn arg(self) -> <Complex<T> as ComplexFloat>::Real
 
fn arg(self) -> <Complex<T> as ComplexFloat>::Real
Computes the argument of the number.
sourcefn powc(
    self, 
    exp: Complex<<Complex<T> as ComplexFloat>::Real>
) -> Complex<<Complex<T> as ComplexFloat>::Real>
 
fn powc(
    self, 
    exp: Complex<<Complex<T> as ComplexFloat>::Real>
) -> Complex<<Complex<T> as ComplexFloat>::Real>
Raises self to a complex power.
sourcefn log(self, base: <Complex<T> as ComplexFloat>::Real) -> Complex<T>
 
fn log(self, base: <Complex<T> as ComplexFloat>::Real) -> Complex<T>
Returns the logarithm of the number with respect to an arbitrary base.
sourcefn powf(self, f: <Complex<T> as ComplexFloat>::Real) -> Complex<T>
 
fn powf(self, f: <Complex<T> as ComplexFloat>::Real) -> Complex<T>
Raises self to a real power.
sourcefn asin(self) -> Complex<T>
 
fn asin(self) -> Complex<T>
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]. Read more
sourcefn acos(self) -> Complex<T>
 
fn acos(self) -> Complex<T>
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]. Read more
sourceimpl<'a, T> DivAssign<&'a Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<'a, T> DivAssign<&'a Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn div_assign(&mut self, other: &Complex<T>)
 
fn div_assign(&mut self, other: &Complex<T>)
Performs the /= operation. Read more
sourceimpl<'a, T> DivAssign<&'a T> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<'a, T> DivAssign<&'a T> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn div_assign(&mut self, other: &T)
 
fn div_assign(&mut self, other: &T)
Performs the /= operation. Read more
sourceimpl<T> DivAssign<Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<T> DivAssign<Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn div_assign(&mut self, other: Complex<T>)
 
fn div_assign(&mut self, other: Complex<T>)
Performs the /= operation. Read more
sourceimpl<T> DivAssign<T> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<T> DivAssign<T> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn div_assign(&mut self, other: T)
 
fn div_assign(&mut self, other: T)
Performs the /= operation. Read more
sourceimpl<T> FromPrimitive for Complex<T> where
    T: FromPrimitive + Num, 
 
impl<T> FromPrimitive for Complex<T> where
    T: FromPrimitive + Num, 
sourcefn from_usize(n: usize) -> Option<Complex<T>>
 
fn from_usize(n: usize) -> Option<Complex<T>>
Converts a usize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
sourcefn from_isize(n: isize) -> Option<Complex<T>>
 
fn from_isize(n: isize) -> Option<Complex<T>>
Converts an isize to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
sourcefn from_u8(n: u8) -> Option<Complex<T>>
 
fn from_u8(n: u8) -> Option<Complex<T>>
Converts an u8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
sourcefn from_u16(n: u16) -> Option<Complex<T>>
 
fn from_u16(n: u16) -> Option<Complex<T>>
Converts an u16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
sourcefn from_u32(n: u32) -> Option<Complex<T>>
 
fn from_u32(n: u32) -> Option<Complex<T>>
Converts an u32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
sourcefn from_u64(n: u64) -> Option<Complex<T>>
 
fn from_u64(n: u64) -> Option<Complex<T>>
Converts an u64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
sourcefn from_i8(n: i8) -> Option<Complex<T>>
 
fn from_i8(n: i8) -> Option<Complex<T>>
Converts an i8 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
sourcefn from_i16(n: i16) -> Option<Complex<T>>
 
fn from_i16(n: i16) -> Option<Complex<T>>
Converts an i16 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
sourcefn from_i32(n: i32) -> Option<Complex<T>>
 
fn from_i32(n: i32) -> Option<Complex<T>>
Converts an i32 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
sourcefn from_i64(n: i64) -> Option<Complex<T>>
 
fn from_i64(n: i64) -> Option<Complex<T>>
Converts an i64 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
sourcefn from_u128(n: u128) -> Option<Complex<T>>
 
fn from_u128(n: u128) -> Option<Complex<T>>
Converts an u128 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
sourcefn from_i128(n: i128) -> Option<Complex<T>>
 
fn from_i128(n: i128) -> Option<Complex<T>>
Converts an i128 to return an optional value of this type. If the
value cannot be represented by this type, then None is returned. Read more
sourceimpl<'a, 'b, T> MulAdd<&'b Complex<T>, &'a Complex<T>> for &'a Complex<T> where
    T: Clone + Num + MulAdd<T, T, Output = T>, 
 
impl<'a, 'b, T> MulAdd<&'b Complex<T>, &'a Complex<T>> for &'a Complex<T> where
    T: Clone + Num + MulAdd<T, T, Output = T>, 
sourceimpl<T> MulAdd<Complex<T>, Complex<T>> for Complex<T> where
    T: Clone + Num + MulAdd<T, T, Output = T>, 
 
impl<T> MulAdd<Complex<T>, Complex<T>> for Complex<T> where
    T: Clone + Num + MulAdd<T, T, Output = T>, 
sourceimpl<'a, 'b, T> MulAddAssign<&'a Complex<T>, &'b Complex<T>> for Complex<T> where
    T: Clone + NumAssign + MulAddAssign<T, T>, 
 
impl<'a, 'b, T> MulAddAssign<&'a Complex<T>, &'b Complex<T>> for Complex<T> where
    T: Clone + NumAssign + MulAddAssign<T, T>, 
sourcefn mul_add_assign(&mut self, other: &Complex<T>, add: &Complex<T>)
 
fn mul_add_assign(&mut self, other: &Complex<T>, add: &Complex<T>)
Performs the fused multiply-add operation.
sourceimpl<T> MulAddAssign<Complex<T>, Complex<T>> for Complex<T> where
    T: Clone + NumAssign + MulAddAssign<T, T>, 
 
impl<T> MulAddAssign<Complex<T>, Complex<T>> for Complex<T> where
    T: Clone + NumAssign + MulAddAssign<T, T>, 
sourcefn mul_add_assign(&mut self, other: Complex<T>, add: Complex<T>)
 
fn mul_add_assign(&mut self, other: Complex<T>, add: Complex<T>)
Performs the fused multiply-add operation.
sourceimpl<'a, T> MulAssign<&'a Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<'a, T> MulAssign<&'a Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn mul_assign(&mut self, other: &Complex<T>)
 
fn mul_assign(&mut self, other: &Complex<T>)
Performs the *= operation. Read more
sourceimpl<'a, T> MulAssign<&'a T> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<'a, T> MulAssign<&'a T> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn mul_assign(&mut self, other: &T)
 
fn mul_assign(&mut self, other: &T)
Performs the *= operation. Read more
sourceimpl<T> MulAssign<Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<T> MulAssign<Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn mul_assign(&mut self, other: Complex<T>)
 
fn mul_assign(&mut self, other: Complex<T>)
Performs the *= operation. Read more
sourceimpl<T> MulAssign<T> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<T> MulAssign<T> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn mul_assign(&mut self, other: T)
 
fn mul_assign(&mut self, other: T)
Performs the *= operation. Read more
sourceimpl<T> Num for Complex<T> where
    T: Num + Clone, 
 
impl<T> Num for Complex<T> where
    T: Num + Clone, 
sourcefn from_str_radix(
    s: &str, 
    radix: u32
) -> Result<Complex<T>, <Complex<T> as Num>::FromStrRadixErr>
 
fn from_str_radix(
    s: &str, 
    radix: u32
) -> Result<Complex<T>, <Complex<T> as Num>::FromStrRadixErr>
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.
type FromStrRadixErr = ParseComplexError<<T as Num>::FromStrRadixErr>
sourceimpl<'a, T> RemAssign<&'a Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<'a, T> RemAssign<&'a Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn rem_assign(&mut self, other: &Complex<T>)
 
fn rem_assign(&mut self, other: &Complex<T>)
Performs the %= operation. Read more
sourceimpl<'a, T> RemAssign<&'a T> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<'a, T> RemAssign<&'a T> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn rem_assign(&mut self, other: &T)
 
fn rem_assign(&mut self, other: &T)
Performs the %= operation. Read more
sourceimpl<T> RemAssign<Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<T> RemAssign<Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn rem_assign(&mut self, modulus: Complex<T>)
 
fn rem_assign(&mut self, modulus: Complex<T>)
Performs the %= operation. Read more
sourceimpl<T> RemAssign<T> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<T> RemAssign<T> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn rem_assign(&mut self, other: T)
 
fn rem_assign(&mut self, other: T)
Performs the %= operation. Read more
sourceimpl<'a, T> SubAssign<&'a Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<'a, T> SubAssign<&'a Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn sub_assign(&mut self, other: &Complex<T>)
 
fn sub_assign(&mut self, other: &Complex<T>)
Performs the -= operation. Read more
sourceimpl<'a, T> SubAssign<&'a T> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<'a, T> SubAssign<&'a T> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn sub_assign(&mut self, other: &T)
 
fn sub_assign(&mut self, other: &T)
Performs the -= operation. Read more
sourceimpl<T> SubAssign<Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<T> SubAssign<Complex<T>> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn sub_assign(&mut self, other: Complex<T>)
 
fn sub_assign(&mut self, other: Complex<T>)
Performs the -= operation. Read more
sourceimpl<T> SubAssign<T> for Complex<T> where
    T: Clone + NumAssign, 
 
impl<T> SubAssign<T> for Complex<T> where
    T: Clone + NumAssign, 
sourcefn sub_assign(&mut self, other: T)
 
fn sub_assign(&mut self, other: T)
Performs the -= operation. Read more
sourceimpl<T> ToPrimitive for Complex<T> where
    T: ToPrimitive + Num, 
 
impl<T> ToPrimitive for Complex<T> where
    T: ToPrimitive + Num, 
sourcefn to_usize(&self) -> Option<usize>
 
fn to_usize(&self) -> Option<usize>
Converts the value of self to a usize. If the value cannot be
represented by a usize, then None is returned. Read more
sourcefn to_isize(&self) -> Option<isize>
 
fn to_isize(&self) -> Option<isize>
Converts the value of self to an isize. If the value cannot be
represented by an isize, then None is returned. Read more
sourcefn to_u8(&self) -> Option<u8>
 
fn to_u8(&self) -> Option<u8>
Converts the value of self to a u8. If the value cannot be
represented by a u8, then None is returned. Read more
sourcefn to_u16(&self) -> Option<u16>
 
fn to_u16(&self) -> Option<u16>
Converts the value of self to a u16. If the value cannot be
represented by a u16, then None is returned. Read more
sourcefn to_u32(&self) -> Option<u32>
 
fn to_u32(&self) -> Option<u32>
Converts the value of self to a u32. If the value cannot be
represented by a u32, then None is returned. Read more
sourcefn to_u64(&self) -> Option<u64>
 
fn to_u64(&self) -> Option<u64>
Converts the value of self to a u64. If the value cannot be
represented by a u64, then None is returned. Read more
sourcefn to_i8(&self) -> Option<i8>
 
fn to_i8(&self) -> Option<i8>
Converts the value of self to an i8. If the value cannot be
represented by an i8, then None is returned. Read more
sourcefn to_i16(&self) -> Option<i16>
 
fn to_i16(&self) -> Option<i16>
Converts the value of self to an i16. If the value cannot be
represented by an i16, then None is returned. Read more
sourcefn to_i32(&self) -> Option<i32>
 
fn to_i32(&self) -> Option<i32>
Converts the value of self to an i32. If the value cannot be
represented by an i32, then None is returned. Read more
sourcefn to_i64(&self) -> Option<i64>
 
fn to_i64(&self) -> Option<i64>
Converts the value of self to an i64. If the value cannot be
represented by an i64, then None is returned. Read more
sourcefn to_u128(&self) -> Option<u128>
 
fn to_u128(&self) -> Option<u128>
Converts the value of self to a u128. If the value cannot be
represented by a u128 (u64 under the default implementation), then
None is returned. Read more
sourcefn to_i128(&self) -> Option<i128>
 
fn to_i128(&self) -> Option<i128>
Converts the value of self to an i128. If the value cannot be
represented by an i128 (i64 under the default implementation), then
None is returned. Read more
impl<T> Copy for Complex<T> where
    T: Copy, 
impl<T> Eq for Complex<T> where
    T: Eq, 
impl<T> StructuralEq for Complex<T>
impl<T> StructuralPartialEq for Complex<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for Complex<T> where
    T: RefUnwindSafe, 
impl<T> Send for Complex<T> where
    T: Send, 
impl<T> Sync for Complex<T> where
    T: Sync, 
impl<T> Unpin for Complex<T> where
    T: Unpin, 
impl<T> UnwindSafe for Complex<T> where
    T: UnwindSafe, 
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
    T: ?Sized, 
 
impl<T> BorrowMut<T> for T where
    T: ?Sized, 
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
    T: Clone, 
 
impl<T> ToOwned for T where
    T: Clone, 
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
 
fn clone_into(&self, target: &mut T)
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more