[−][src]Struct num::complex::Complex
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> Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
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> Complex<T> where
T: Neg<Output = T> + Clone + Num,
[src]
T: Neg<Output = T> + Clone + Num,
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> Complex<T> where
T: Clone + Float,
[src]
T: Clone + Float,
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> One for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
fn one() -> Complex<T>
[src]
fn set_one(&mut self)
[src]
fn is_one(&self) -> bool where
Self: PartialEq<Self>,
[src]
Self: PartialEq<Self>,
impl<T> SubAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn sub_assign(&mut self, other: Complex<T>)
[src]
impl<T> SubAssign<T> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn sub_assign(&mut self, other: T)
[src]
impl<'a, T> SubAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn sub_assign(&mut self, other: &T)
[src]
impl<'a, T> SubAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn sub_assign(&mut self, other: &Complex<T>)
[src]
impl<T> Eq for Complex<T> where
T: Eq,
[src]
T: Eq,
impl<T> Display for Complex<T> where
T: Display + Num + PartialOrd<T> + Clone,
[src]
T: Display + Num + PartialOrd<T> + Clone,
impl<T> Encodable for Complex<T> where
T: Encodable,
[src]
T: Encodable,
impl<T> LowerExp for Complex<T> where
T: LowerExp + Num + PartialOrd<T> + Clone,
[src]
T: LowerExp + Num + PartialOrd<T> + Clone,
impl<T> Zero for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
impl<T> LowerHex for Complex<T> where
T: LowerHex + Num + PartialOrd<T> + Clone,
[src]
T: LowerHex + Num + PartialOrd<T> + Clone,
impl<T> UpperHex for Complex<T> where
T: UpperHex + Num + PartialOrd<T> + Clone,
[src]
T: UpperHex + Num + PartialOrd<T> + Clone,
impl<T> Rem<T> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the %
operator.
fn rem(self, other: T) -> Complex<T>
[src]
impl<'a, T> Rem<Complex<T>> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the %
operator.
fn rem(self, other: Complex<T>) -> Complex<T>
[src]
impl<'a, T> Rem<&'a Complex<T>> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the %
operator.
fn rem(self, other: &Complex<T>) -> Complex<T>
[src]
impl<T> Rem<Complex<T>> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the %
operator.
fn rem(self, modulus: Complex<T>) -> Complex<T>
[src]
impl<'a, T> Rem<T> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the %
operator.
fn rem(self, other: T) -> Complex<T>
[src]
impl<'a, 'b, T> Rem<&'a T> for &'b Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the %
operator.
fn rem(self, other: &T) -> Complex<T>
[src]
impl<'a, 'b, T> Rem<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the %
operator.
fn rem(self, other: &Complex<T>) -> Complex<T>
[src]
impl<'a, T> Rem<&'a T> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the %
operator.
fn rem(self, other: &T) -> Complex<T>
[src]
impl<'a, T> RemAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn rem_assign(&mut self, other: &T)
[src]
impl<T> RemAssign<T> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn rem_assign(&mut self, other: T)
[src]
impl<T> RemAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn rem_assign(&mut self, other: Complex<T>)
[src]
impl<'a, T> RemAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn rem_assign(&mut self, other: &Complex<T>)
[src]
impl<'a, T> Add<&'a Complex<T>> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the +
operator.
fn add(self, other: &Complex<T>) -> Complex<T>
[src]
impl<'a, 'b, T> Add<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the +
operator.
fn add(self, other: &Complex<T>) -> Complex<T>
[src]
impl<'a, T> Add<T> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the +
operator.
fn add(self, other: T) -> Complex<T>
[src]
impl<T> Add<T> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the +
operator.
fn add(self, other: T) -> Complex<T>
[src]
impl<'a, T> Add<Complex<T>> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the +
operator.
fn add(self, other: Complex<T>) -> Complex<T>
[src]
impl<'a, T> Add<&'a T> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the +
operator.
fn add(self, other: &T) -> Complex<T>
[src]
impl<T> Add<Complex<T>> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the +
operator.
fn add(self, other: Complex<T>) -> Complex<T>
[src]
impl<'a, 'b, T> Add<&'a T> for &'b Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the +
operator.
fn add(self, other: &T) -> Complex<T>
[src]
impl<T> PartialEq<Complex<T>> for Complex<T> where
T: PartialEq<T>,
[src]
T: PartialEq<T>,
impl<T> Debug for Complex<T> where
T: Debug,
[src]
T: Debug,
impl<T> Clone for Complex<T> where
T: Clone,
[src]
T: Clone,
impl<'a, 'b, T> Sub<&'a T> for &'b Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the -
operator.
fn sub(self, other: &T) -> Complex<T>
[src]
impl<'a, T> Sub<&'a Complex<T>> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the -
operator.
fn sub(self, other: &Complex<T>) -> Complex<T>
[src]
impl<'a, T> Sub<&'a T> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the -
operator.
fn sub(self, other: &T) -> Complex<T>
[src]
impl<'a, T> Sub<Complex<T>> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the -
operator.
fn sub(self, other: Complex<T>) -> Complex<T>
[src]
impl<'a, T> Sub<T> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the -
operator.
fn sub(self, other: T) -> Complex<T>
[src]
impl<'a, 'b, T> Sub<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the -
operator.
fn sub(self, other: &Complex<T>) -> Complex<T>
[src]
impl<T> Sub<T> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the -
operator.
fn sub(self, other: T) -> Complex<T>
[src]
impl<T> Sub<Complex<T>> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the -
operator.
fn sub(self, other: Complex<T>) -> Complex<T>
[src]
impl<T> Binary for Complex<T> where
T: Binary + Num + PartialOrd<T> + Clone,
[src]
T: Binary + Num + PartialOrd<T> + Clone,
impl<'a, T> Mul<Complex<T>> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the *
operator.
fn mul(self, other: Complex<T>) -> Complex<T>
[src]
impl<T> Mul<Complex<T>> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the *
operator.
fn mul(self, other: Complex<T>) -> Complex<T>
[src]
impl<'a, T> Mul<&'a Complex<T>> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the *
operator.
fn mul(self, other: &Complex<T>) -> Complex<T>
[src]
impl<T> Mul<T> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the *
operator.
fn mul(self, other: T) -> Complex<T>
[src]
impl<'a, T> Mul<T> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the *
operator.
fn mul(self, other: T) -> Complex<T>
[src]
impl<'a, 'b, T> Mul<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the *
operator.
fn mul(self, other: &Complex<T>) -> Complex<T>
[src]
impl<'a, T> Mul<&'a T> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the *
operator.
fn mul(self, other: &T) -> Complex<T>
[src]
impl<'a, 'b, T> Mul<&'a T> for &'b Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the *
operator.
fn mul(self, other: &T) -> Complex<T>
[src]
impl<'a, T> AddAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn add_assign(&mut self, other: &Complex<T>)
[src]
impl<T> AddAssign<T> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn add_assign(&mut self, other: T)
[src]
impl<'a, T> AddAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn add_assign(&mut self, other: &T)
[src]
impl<T> AddAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn add_assign(&mut self, other: Complex<T>)
[src]
impl<T> Hash for Complex<T> where
T: Hash,
[src]
T: Hash,
fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
[src]
__H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<T> Default for Complex<T> where
T: Default,
[src]
T: Default,
impl<T> Num for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type FromStrRadixErr = ParseComplexError<<T as Num>::FromStrRadixErr>
fn from_str_radix(
s: &str,
radix: u32
) -> Result<Complex<T>, <Complex<T> as Num>::FromStrRadixErr>
[src]
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
impl<T> Neg for Complex<T> where
T: Neg<Output = T> + Clone + Num,
[src]
T: Neg<Output = T> + Clone + Num,
type Output = Complex<T>
The resulting type after applying the -
operator.
fn neg(self) -> Complex<T>
[src]
impl<'a, T> Neg for &'a Complex<T> where
T: Neg<Output = T> + Clone + Num,
[src]
T: Neg<Output = T> + Clone + Num,
type Output = Complex<T>
The resulting type after applying the -
operator.
fn neg(self) -> Complex<T>
[src]
impl<T> From<T> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
impl<'a, T> From<&'a T> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
impl<'a, T> DivAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn div_assign(&mut self, other: &Complex<T>)
[src]
impl<'a, T> DivAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn div_assign(&mut self, other: &T)
[src]
impl<T> DivAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn div_assign(&mut self, other: Complex<T>)
[src]
impl<T> DivAssign<T> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn div_assign(&mut self, other: T)
[src]
impl<'a, T> MulAssign<&'a T> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn mul_assign(&mut self, other: &T)
[src]
impl<T> MulAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn mul_assign(&mut self, other: Complex<T>)
[src]
impl<'a, T> MulAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn mul_assign(&mut self, other: &Complex<T>)
[src]
impl<T> MulAssign<T> for Complex<T> where
T: Clone + NumAssign,
[src]
T: Clone + NumAssign,
fn mul_assign(&mut self, other: T)
[src]
impl<T> Octal for Complex<T> where
T: Octal + Num + PartialOrd<T> + Clone,
[src]
T: Octal + Num + PartialOrd<T> + Clone,
impl<T> Decodable for Complex<T> where
T: Decodable,
[src]
T: Decodable,
fn decode<__D>(d: &mut __D) -> Result<Complex<T>, <__D as Decoder>::Error> where
__D: Decoder,
[src]
__D: Decoder,
impl<T> UpperExp for Complex<T> where
T: UpperExp + Num + PartialOrd<T> + Clone,
[src]
T: UpperExp + Num + PartialOrd<T> + Clone,
impl<T> Div<T> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the /
operator.
fn div(self, other: T) -> Complex<T>
[src]
impl<'a, T> Div<&'a T> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the /
operator.
fn div(self, other: &T) -> Complex<T>
[src]
impl<'a, T> Div<Complex<T>> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the /
operator.
fn div(self, other: Complex<T>) -> Complex<T>
[src]
impl<'a, T> Div<&'a Complex<T>> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the /
operator.
fn div(self, other: &Complex<T>) -> Complex<T>
[src]
impl<T> Div<Complex<T>> for Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the /
operator.
fn div(self, other: Complex<T>) -> Complex<T>
[src]
impl<'a, 'b, T> Div<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the /
operator.
fn div(self, other: &Complex<T>) -> Complex<T>
[src]
impl<'a, T> Div<T> for &'a Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the /
operator.
fn div(self, other: T) -> Complex<T>
[src]
impl<'a, 'b, T> Div<&'a T> for &'b Complex<T> where
T: Clone + Num,
[src]
T: Clone + Num,
type Output = Complex<T>
The resulting type after applying the /
operator.
fn div(self, other: &T) -> Complex<T>
[src]
impl<T> FromStr for Complex<T> where
T: FromStr + Num + Clone,
[src]
T: FromStr + Num + Clone,
type Err = ParseComplexError<<T as FromStr>::Err>
The associated error which can be returned from parsing.
fn from_str(s: &str) -> Result<Complex<T>, <Complex<T> as FromStr>::Err>
[src]
Parses a +/- bi
; ai +/- b
; a
; or bi
where a
and b
are of type T
impl<T> Copy for Complex<T> where
T: Copy,
[src]
T: Copy,
Auto Trait Implementations
impl<T> Send for Complex<T> where
T: Send,
T: Send,
impl<T> Unpin for Complex<T> where
T: Unpin,
T: Unpin,
impl<T> Sync for Complex<T> where
T: Sync,
T: Sync,
impl<T> UnwindSafe for Complex<T> where
T: UnwindSafe,
T: UnwindSafe,
impl<T> RefUnwindSafe for Complex<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T, Rhs, Output> NumOps<Rhs, Output> for T where
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
[src]
T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,
impl<T> NumRef for T where
T: Num + NumOps<&'r T, T>,
[src]
T: Num + NumOps<&'r T, T>,
impl<T, Base> RefNum<Base> for T where
T: NumOps<Base, Base> + NumOps<&'r Base, Base>,
[src]
T: NumOps<Base, Base> + NumOps<&'r Base, Base>,
impl<T, Rhs> NumAssignOps<Rhs> for T where
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
[src]
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,
impl<T> NumAssign for T where
T: Num + NumAssignOps<T>,
[src]
T: Num + NumAssignOps<T>,
impl<T> NumAssignRef for T where
T: NumAssign + NumAssignOps<&'r T>,
[src]
T: NumAssign + NumAssignOps<&'r T>,