[−][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]
impl<T> Complex<T> where
T: Clone + Num, pub fn new(re: T, im: T) -> Complex<T>[src]
pub fn new(re: T, im: T) -> Complex<T>Create a new Complex
pub fn i() -> Complex<T>[src]
pub fn i() -> Complex<T>Returns imaginary unit
pub fn norm_sqr(&self) -> T[src]
pub fn norm_sqr(&self) -> TReturns 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]
pub fn scale(&self, t: T) -> Complex<T>Multiplies self by the scalar t.
pub fn unscale(&self, t: T) -> Complex<T>[src]
pub fn unscale(&self, t: T) -> Complex<T>Divides self by the scalar t.
impl<T> Complex<T> where
T: Neg<Output = T> + Clone + Num, [src]
impl<T> Complex<T> where
T: Neg<Output = T> + Clone + Num, pub fn conj(&self) -> Complex<T>[src]
pub fn conj(&self) -> Complex<T>Returns the complex conjugate. i.e. re - i im
pub fn inv(&self) -> Complex<T>[src]
pub fn inv(&self) -> Complex<T>Returns 1/self
impl<T> Complex<T> where
T: Clone + Float, [src]
impl<T> Complex<T> where
T: Clone + Float, pub fn norm(&self) -> T[src]
pub fn norm(&self) -> TCalculate |self|
pub fn arg(&self) -> T[src]
pub fn arg(&self) -> TCalculate the principal Arg of self.
pub fn to_polar(&self) -> (T, T)[src]
pub fn to_polar(&self) -> (T, T)Convert to polar form (r, theta), such that
self = r * exp(i * theta)
pub fn from_polar(r: &T, theta: &T) -> Complex<T>[src]
pub fn from_polar(r: &T, theta: &T) -> Complex<T>Convert a polar representation into a complex number.
pub fn exp(&self) -> Complex<T>[src]
pub fn exp(&self) -> Complex<T>Computes e^(self), where e is the base of the natural logarithm.
pub fn ln(&self) -> Complex<T>[src]
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)) ≤ π.
pub fn sqrt(&self) -> Complex<T>[src]
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.
pub fn powf(&self, exp: T) -> Complex<T>[src]
pub fn powf(&self, exp: T) -> Complex<T>Raises self to a floating point power.
pub fn log(&self, base: T) -> Complex<T>[src]
pub fn log(&self, base: T) -> Complex<T>Returns the logarithm of self with respect to an arbitrary base.
pub fn powc(&self, exp: Complex<T>) -> Complex<T>[src]
pub fn powc(&self, exp: Complex<T>) -> Complex<T>Raises self to a complex power.
pub fn expf(&self, base: T) -> Complex<T>[src]
pub fn expf(&self, base: T) -> Complex<T>Raises a floating point number to the complex power self.
pub fn sin(&self) -> Complex<T>[src]
pub fn sin(&self) -> Complex<T>Computes the sine of self.
pub fn cos(&self) -> Complex<T>[src]
pub fn cos(&self) -> Complex<T>Computes the cosine of self.
pub fn tan(&self) -> Complex<T>[src]
pub fn tan(&self) -> Complex<T>Computes the tangent of self.
pub fn asin(&self) -> Complex<T>[src]
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.
pub fn acos(&self) -> Complex<T>[src]
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)) ≤ π.
pub fn atan(&self) -> Complex<T>[src]
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.
pub fn sinh(&self) -> Complex<T>[src]
pub fn sinh(&self) -> Complex<T>Computes the hyperbolic sine of self.
pub fn cosh(&self) -> Complex<T>[src]
pub fn cosh(&self) -> Complex<T>Computes the hyperbolic cosine of self.
pub fn tanh(&self) -> Complex<T>[src]
pub fn tanh(&self) -> Complex<T>Computes the hyperbolic tangent of self.
pub fn asinh(&self) -> Complex<T>[src]
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.
pub fn acosh(&self) -> Complex<T>[src]
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)) < ∞.
pub fn atanh(&self) -> Complex<T>[src]
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.
impl<T> Complex<T> where
T: Clone + FloatCore, [src]
impl<T> Complex<T> where
T: Clone + FloatCore, pub fn is_nan(self) -> bool[src]
pub fn is_nan(self) -> boolChecks if the given complex number is NaN
pub fn is_infinite(self) -> bool[src]
pub fn is_infinite(self) -> boolChecks if the given complex number is infinite
pub fn is_finite(self) -> bool[src]
pub fn is_finite(self) -> boolChecks if the given complex number is finite
pub fn is_normal(self) -> bool[src]
pub fn is_normal(self) -> boolChecks if the given complex number is normal
Trait Implementations
impl<T> Zero for Complex<T> where
T: Clone + Num, [src]
impl<T> Zero for Complex<T> where
T: Clone + Num, fn zero() -> Complex<T>[src]
fn zero() -> Complex<T>Returns the additive identity element of Self, 0. Read more
fn is_zero(&self) -> bool[src]
fn is_zero(&self) -> boolReturns true if self is equal to the additive identity.
impl<T> Eq for Complex<T> where
T: Eq, [src]
impl<T> Eq for Complex<T> where
T: Eq, impl<'a, T> Sum<&'a Complex<T>> for Complex<T> where
T: 'a + Clone + Num, [src]
impl<'a, T> Sum<&'a Complex<T>> for Complex<T> where
T: 'a + Clone + Num, fn sum<I>(iter: I) -> Complex<T> where
I: Iterator<Item = &'a Complex<T>>, [src]
fn sum<I>(iter: I) -> Complex<T> where
I: Iterator<Item = &'a Complex<T>>, Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more
impl<T> Sum<Complex<T>> for Complex<T> where
T: Clone + Num, [src]
impl<T> Sum<Complex<T>> for Complex<T> where
T: Clone + Num, fn sum<I>(iter: I) -> Complex<T> where
I: Iterator<Item = Complex<T>>, [src]
fn sum<I>(iter: I) -> Complex<T> where
I: Iterator<Item = Complex<T>>, Method which takes an iterator and generates Self from the elements by "summing up" the items. Read more
impl<T> UpperExp for Complex<T> where
T: UpperExp + Num + PartialOrd<T> + Clone, [src]
impl<T> UpperExp for Complex<T> where
T: UpperExp + Num + PartialOrd<T> + Clone, fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>Formats the value using the given formatter.
impl<T> FromStr for Complex<T> where
T: FromStr + Num + Clone, [src]
impl<T> FromStr for Complex<T> where
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]
fn from_str(s: &str) -> Result<Complex<T>, <Complex<T> as FromStr>::Err>Parses a +/- bi; ai +/- b; a; or bi where a and b are of type T
impl<T> ToPrimitive for Complex<T> where
T: ToPrimitive + Num, [src]
impl<T> ToPrimitive for Complex<T> where
T: ToPrimitive + Num, fn to_usize(&self) -> Option<usize>[src]
fn to_usize(&self) -> Option<usize>Converts the value of self to a usize.
fn to_isize(&self) -> Option<isize>[src]
fn to_isize(&self) -> Option<isize>Converts the value of self to an isize.
fn to_u8(&self) -> Option<u8>[src]
fn to_u8(&self) -> Option<u8>Converts the value of self to an u8.
fn to_u16(&self) -> Option<u16>[src]
fn to_u16(&self) -> Option<u16>Converts the value of self to an u16.
fn to_u32(&self) -> Option<u32>[src]
fn to_u32(&self) -> Option<u32>Converts the value of self to an u32.
fn to_u64(&self) -> Option<u64>[src]
fn to_u64(&self) -> Option<u64>Converts the value of self to an u64.
fn to_i8(&self) -> Option<i8>[src]
fn to_i8(&self) -> Option<i8>Converts the value of self to an i8.
fn to_i16(&self) -> Option<i16>[src]
fn to_i16(&self) -> Option<i16>Converts the value of self to an i16.
fn to_i32(&self) -> Option<i32>[src]
fn to_i32(&self) -> Option<i32>Converts the value of self to an i32.
fn to_i64(&self) -> Option<i64>[src]
fn to_i64(&self) -> Option<i64>Converts the value of self to an i64.
fn to_u128(&self) -> Option<u128>[src]
fn to_u128(&self) -> Option<u128>Converts the value of self to an u128. Read more
fn to_i128(&self) -> Option<i128>[src]
fn to_i128(&self) -> Option<i128>Converts the value of self to an i128. Read more
fn to_f32(&self) -> Option<f32>[src]
fn to_f32(&self) -> Option<f32>Converts the value of self to an f32.
fn to_f64(&self) -> Option<f64>[src]
fn to_f64(&self) -> Option<f64>Converts the value of self to an f64.
impl<T> FromPrimitive for Complex<T> where
T: FromPrimitive + Num, [src]
impl<T> FromPrimitive for Complex<T> where
T: FromPrimitive + Num, fn from_usize(n: usize) -> Option<Complex<T>>[src]
fn from_usize(n: usize) -> Option<Complex<T>>Convert a usize to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
fn from_isize(n: isize) -> Option<Complex<T>>[src]
fn from_isize(n: isize) -> Option<Complex<T>>Convert an isize to return an optional value of this type. If the value cannot be represented by this value, then None is returned. Read more
fn from_u8(n: u8) -> Option<Complex<T>>[src]
fn from_u8(n: u8) -> Option<Complex<T>>Convert an u8 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
fn from_u16(n: u16) -> Option<Complex<T>>[src]
fn from_u16(n: u16) -> Option<Complex<T>>Convert an u16 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
fn from_u32(n: u32) -> Option<Complex<T>>[src]
fn from_u32(n: u32) -> Option<Complex<T>>Convert an u32 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
fn from_u64(n: u64) -> Option<Complex<T>>[src]
fn from_u64(n: u64) -> Option<Complex<T>>Convert an u64 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
fn from_i8(n: i8) -> Option<Complex<T>>[src]
fn from_i8(n: i8) -> Option<Complex<T>>Convert an i8 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
fn from_i16(n: i16) -> Option<Complex<T>>[src]
fn from_i16(n: i16) -> Option<Complex<T>>Convert an i16 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
fn from_i32(n: i32) -> Option<Complex<T>>[src]
fn from_i32(n: i32) -> Option<Complex<T>>Convert an i32 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
fn from_i64(n: i64) -> Option<Complex<T>>[src]
fn from_i64(n: i64) -> Option<Complex<T>>Convert an i64 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
fn from_u128(n: u128) -> Option<Complex<T>>[src]
fn from_u128(n: u128) -> Option<Complex<T>>Convert an u128 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
fn from_i128(n: i128) -> Option<Complex<T>>[src]
fn from_i128(n: i128) -> Option<Complex<T>>Convert an i128 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
fn from_f32(n: f32) -> Option<Complex<T>>[src]
fn from_f32(n: f32) -> Option<Complex<T>>Convert a f32 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
fn from_f64(n: f64) -> Option<Complex<T>>[src]
fn from_f64(n: f64) -> Option<Complex<T>>Convert a f64 to return an optional value of this type. If the type cannot be represented by this value, then None is returned. Read more
impl<'a, T> Add<Complex<T>> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Add<Complex<T>> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the + operator.
fn add(self, other: Complex<T>) -> Complex<T>[src]
fn add(self, other: Complex<T>) -> Complex<T>Performs the + operation.
impl<T> Add<Complex<T>> for Complex<T> where
T: Clone + Num, [src]
impl<T> Add<Complex<T>> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the + operator.
fn add(self, other: Complex<T>) -> Complex<T>[src]
fn add(self, other: Complex<T>) -> Complex<T>Performs the + operation.
impl<T> Add<T> for Complex<T> where
T: Clone + Num, [src]
impl<T> Add<T> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the + operator.
fn add(self, other: T) -> Complex<T>[src]
fn add(self, other: T) -> Complex<T>Performs the + operation.
impl<'a, T> Add<T> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Add<T> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the + operator.
fn add(self, other: T) -> Complex<T>[src]
fn add(self, other: T) -> Complex<T>Performs the + operation.
impl<'a, T> Add<&'a T> for Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Add<&'a T> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the + operator.
fn add(self, other: &T) -> Complex<T>[src]
fn add(self, other: &T) -> Complex<T>Performs the + operation.
impl<'a, T> Add<&'a Complex<T>> for Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Add<&'a Complex<T>> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the + operator.
fn add(self, other: &Complex<T>) -> Complex<T>[src]
fn add(self, other: &Complex<T>) -> Complex<T>Performs the + operation.
impl<'a, 'b, T> Add<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, 'b, T> Add<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the + operator.
fn add(self, other: &Complex<T>) -> Complex<T>[src]
fn add(self, other: &Complex<T>) -> Complex<T>Performs the + operation.
impl<'a, 'b, T> Add<&'a T> for &'b Complex<T> where
T: Clone + Num, [src]
impl<'a, 'b, T> Add<&'a T> for &'b Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the + operator.
fn add(self, other: &T) -> Complex<T>[src]
fn add(self, other: &T) -> Complex<T>Performs the + operation.
impl<T> Default for Complex<T> where
T: Default, [src]
impl<T> Default for Complex<T> where
T: Default, impl<T> Copy for Complex<T> where
T: Copy, [src]
impl<T> Copy for Complex<T> where
T: Copy, impl<T> MulAssign<T> for Complex<T> where
T: Clone + NumAssign, [src]
impl<T> MulAssign<T> for Complex<T> where
T: Clone + NumAssign, fn mul_assign(&mut self, other: T)[src]
fn mul_assign(&mut self, other: T)Performs the *= operation.
impl<T> MulAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign, [src]
impl<T> MulAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign, fn mul_assign(&mut self, other: Complex<T>)[src]
fn mul_assign(&mut self, other: Complex<T>)Performs the *= operation.
impl<'a, T> MulAssign<&'a T> for Complex<T> where
T: Clone + NumAssign, [src]
impl<'a, T> MulAssign<&'a T> for Complex<T> where
T: Clone + NumAssign, fn mul_assign(&mut self, other: &T)[src]
fn mul_assign(&mut self, other: &T)Performs the *= operation.
impl<'a, T> MulAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign, [src]
impl<'a, T> MulAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign, fn mul_assign(&mut self, other: &Complex<T>)[src]
fn mul_assign(&mut self, other: &Complex<T>)Performs the *= operation.
impl<'a, T> AddAssign<&'a T> for Complex<T> where
T: Clone + NumAssign, [src]
impl<'a, T> AddAssign<&'a T> for Complex<T> where
T: Clone + NumAssign, fn add_assign(&mut self, other: &T)[src]
fn add_assign(&mut self, other: &T)Performs the += operation.
impl<T> AddAssign<T> for Complex<T> where
T: Clone + NumAssign, [src]
impl<T> AddAssign<T> for Complex<T> where
T: Clone + NumAssign, fn add_assign(&mut self, other: T)[src]
fn add_assign(&mut self, other: T)Performs the += operation.
impl<'a, T> AddAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign, [src]
impl<'a, T> AddAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign, fn add_assign(&mut self, other: &Complex<T>)[src]
fn add_assign(&mut self, other: &Complex<T>)Performs the += operation.
impl<T> AddAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign, [src]
impl<T> AddAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign, fn add_assign(&mut self, other: Complex<T>)[src]
fn add_assign(&mut self, other: Complex<T>)Performs the += operation.
impl<T> Clone for Complex<T> where
T: Clone, [src]
impl<T> Clone for Complex<T> where
T: Clone, fn clone(&self) -> Complex<T>[src]
fn clone(&self) -> Complex<T>Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl<'a, T> Rem<T> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Rem<T> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the % operator.
fn rem(self, other: T) -> Complex<T>[src]
fn rem(self, other: T) -> Complex<T>Performs the % operation.
impl<T> Rem<T> for Complex<T> where
T: Clone + Num, [src]
impl<T> Rem<T> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the % operator.
fn rem(self, other: T) -> Complex<T>[src]
fn rem(self, other: T) -> Complex<T>Performs the % operation.
impl<'a, 'b, T> Rem<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, 'b, T> Rem<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the % operator.
fn rem(self, other: &Complex<T>) -> Complex<T>[src]
fn rem(self, other: &Complex<T>) -> Complex<T>Performs the % operation.
impl<'a, T> Rem<&'a T> for Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Rem<&'a T> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the % operator.
fn rem(self, other: &T) -> Complex<T>[src]
fn rem(self, other: &T) -> Complex<T>Performs the % operation.
impl<'a, T> Rem<Complex<T>> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Rem<Complex<T>> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the % operator.
fn rem(self, other: Complex<T>) -> Complex<T>[src]
fn rem(self, other: Complex<T>) -> Complex<T>Performs the % operation.
impl<'a, 'b, T> Rem<&'a T> for &'b Complex<T> where
T: Clone + Num, [src]
impl<'a, 'b, T> Rem<&'a T> for &'b Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the % operator.
fn rem(self, other: &T) -> Complex<T>[src]
fn rem(self, other: &T) -> Complex<T>Performs the % operation.
impl<'a, T> Rem<&'a Complex<T>> for Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Rem<&'a Complex<T>> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the % operator.
fn rem(self, other: &Complex<T>) -> Complex<T>[src]
fn rem(self, other: &Complex<T>) -> Complex<T>Performs the % operation.
impl<T> Rem<Complex<T>> for Complex<T> where
T: Clone + Num, [src]
impl<T> Rem<Complex<T>> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the % operator.
fn rem(self, modulus: Complex<T>) -> Complex<T>[src]
fn rem(self, modulus: Complex<T>) -> Complex<T>Performs the % operation.
impl<T> PartialEq<Complex<T>> for Complex<T> where
T: PartialEq<T>, [src]
impl<T> PartialEq<Complex<T>> for Complex<T> where
T: PartialEq<T>, fn eq(&self, other: &Complex<T>) -> bool[src]
fn eq(&self, other: &Complex<T>) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Complex<T>) -> bool[src]
fn ne(&self, other: &Complex<T>) -> boolThis method tests for !=.
impl<T> Mul<T> for Complex<T> where
T: Clone + Num, [src]
impl<T> Mul<T> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the * operator.
fn mul(self, other: T) -> Complex<T>[src]
fn mul(self, other: T) -> Complex<T>Performs the * operation.
impl<'a, T> Mul<&'a T> for Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Mul<&'a T> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the * operator.
fn mul(self, other: &T) -> Complex<T>[src]
fn mul(self, other: &T) -> Complex<T>Performs the * operation.
impl<'a, T> Mul<Complex<T>> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Mul<Complex<T>> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the * operator.
fn mul(self, other: Complex<T>) -> Complex<T>[src]
fn mul(self, other: Complex<T>) -> Complex<T>Performs the * operation.
impl<'a, 'b, T> Mul<&'a T> for &'b Complex<T> where
T: Clone + Num, [src]
impl<'a, 'b, T> Mul<&'a T> for &'b Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the * operator.
fn mul(self, other: &T) -> Complex<T>[src]
fn mul(self, other: &T) -> Complex<T>Performs the * operation.
impl<'a, 'b, T> Mul<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, 'b, T> Mul<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the * operator.
fn mul(self, other: &Complex<T>) -> Complex<T>[src]
fn mul(self, other: &Complex<T>) -> Complex<T>Performs the * operation.
impl<T> Mul<Complex<T>> for Complex<T> where
T: Clone + Num, [src]
impl<T> Mul<Complex<T>> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the * operator.
fn mul(self, other: Complex<T>) -> Complex<T>[src]
fn mul(self, other: Complex<T>) -> Complex<T>Performs the * operation.
impl<'a, T> Mul<T> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Mul<T> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the * operator.
fn mul(self, other: T) -> Complex<T>[src]
fn mul(self, other: T) -> Complex<T>Performs the * operation.
impl<'a, T> Mul<&'a Complex<T>> for Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Mul<&'a Complex<T>> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the * operator.
fn mul(self, other: &Complex<T>) -> Complex<T>[src]
fn mul(self, other: &Complex<T>) -> Complex<T>Performs the * operation.
impl<'a, T> RemAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign, [src]
impl<'a, T> RemAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign, fn rem_assign(&mut self, other: &Complex<T>)[src]
fn rem_assign(&mut self, other: &Complex<T>)Performs the %= operation.
impl<T> RemAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign, [src]
impl<T> RemAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign, fn rem_assign(&mut self, other: Complex<T>)[src]
fn rem_assign(&mut self, other: Complex<T>)Performs the %= operation.
impl<'a, T> RemAssign<&'a T> for Complex<T> where
T: Clone + NumAssign, [src]
impl<'a, T> RemAssign<&'a T> for Complex<T> where
T: Clone + NumAssign, fn rem_assign(&mut self, other: &T)[src]
fn rem_assign(&mut self, other: &T)Performs the %= operation.
impl<T> RemAssign<T> for Complex<T> where
T: Clone + NumAssign, [src]
impl<T> RemAssign<T> for Complex<T> where
T: Clone + NumAssign, fn rem_assign(&mut self, other: T)[src]
fn rem_assign(&mut self, other: T)Performs the %= operation.
impl<T> From<T> for Complex<T> where
T: Clone + Num, [src]
impl<T> From<T> for Complex<T> where
T: Clone + Num, impl<'a, T> From<&'a T> for Complex<T> where
T: Clone + Num, [src]
impl<'a, T> From<&'a T> for Complex<T> where
T: Clone + Num, impl<T> Num for Complex<T> where
T: Clone + Num, [src]
impl<T> Num for Complex<T> where
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]
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
impl<T> Binary for Complex<T> where
T: Binary + Num + PartialOrd<T> + Clone, [src]
impl<T> Binary for Complex<T> where
T: Binary + Num + PartialOrd<T> + Clone, fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>Formats the value using the given formatter.
impl<T> Inv for Complex<T> where
T: Neg<Output = T> + Clone + Num, [src]
impl<T> Inv for Complex<T> where
T: Neg<Output = T> + Clone + Num, type Output = Complex<T>
The result after applying the operator.
fn inv(self) -> Complex<T>[src]
fn inv(self) -> Complex<T>Returns the multiplicative inverse of self. Read more
impl<'a, T> Inv for &'a Complex<T> where
T: Neg<Output = T> + Clone + Num, [src]
impl<'a, T> Inv for &'a Complex<T> where
T: Neg<Output = T> + Clone + Num, type Output = Complex<T>
The result after applying the operator.
fn inv(self) -> Complex<T>[src]
fn inv(self) -> Complex<T>Returns the multiplicative inverse of self. Read more
impl<'a, T> Sub<&'a Complex<T>> for Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Sub<&'a Complex<T>> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the - operator.
fn sub(self, other: &Complex<T>) -> Complex<T>[src]
fn sub(self, other: &Complex<T>) -> Complex<T>Performs the - operation.
impl<'a, T> Sub<&'a T> for Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Sub<&'a T> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the - operator.
fn sub(self, other: &T) -> Complex<T>[src]
fn sub(self, other: &T) -> Complex<T>Performs the - operation.
impl<'a, T> Sub<Complex<T>> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Sub<Complex<T>> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the - operator.
fn sub(self, other: Complex<T>) -> Complex<T>[src]
fn sub(self, other: Complex<T>) -> Complex<T>Performs the - operation.
impl<'a, 'b, T> Sub<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, 'b, T> Sub<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the - operator.
fn sub(self, other: &Complex<T>) -> Complex<T>[src]
fn sub(self, other: &Complex<T>) -> Complex<T>Performs the - operation.
impl<T> Sub<Complex<T>> for Complex<T> where
T: Clone + Num, [src]
impl<T> Sub<Complex<T>> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the - operator.
fn sub(self, other: Complex<T>) -> Complex<T>[src]
fn sub(self, other: Complex<T>) -> Complex<T>Performs the - operation.
impl<'a, 'b, T> Sub<&'a T> for &'b Complex<T> where
T: Clone + Num, [src]
impl<'a, 'b, T> Sub<&'a T> for &'b Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the - operator.
fn sub(self, other: &T) -> Complex<T>[src]
fn sub(self, other: &T) -> Complex<T>Performs the - operation.
impl<T> Sub<T> for Complex<T> where
T: Clone + Num, [src]
impl<T> Sub<T> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the - operator.
fn sub(self, other: T) -> Complex<T>[src]
fn sub(self, other: T) -> Complex<T>Performs the - operation.
impl<'a, T> Sub<T> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Sub<T> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the - operator.
fn sub(self, other: T) -> Complex<T>[src]
fn sub(self, other: T) -> Complex<T>Performs the - operation.
impl<T, U> AsPrimitive<U> for Complex<T> where
T: AsPrimitive<U>,
U: 'static + Copy, [src]
impl<T, U> AsPrimitive<U> for Complex<T> where
T: AsPrimitive<U>,
U: 'static + Copy, impl<T> Debug for Complex<T> where
T: Debug, [src]
impl<T> Debug for Complex<T> where
T: Debug, fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>Formats the value using the given formatter. Read more
impl<'a, T> Product<&'a Complex<T>> for Complex<T> where
T: 'a + Clone + Num, [src]
impl<'a, T> Product<&'a Complex<T>> for Complex<T> where
T: 'a + Clone + Num, fn product<I>(iter: I) -> Complex<T> where
I: Iterator<Item = &'a Complex<T>>, [src]
fn product<I>(iter: I) -> Complex<T> where
I: Iterator<Item = &'a Complex<T>>, Method which takes an iterator and generates Self from the elements by multiplying the items. Read more
impl<T> Product<Complex<T>> for Complex<T> where
T: Clone + Num, [src]
impl<T> Product<Complex<T>> for Complex<T> where
T: Clone + Num, fn product<I>(iter: I) -> Complex<T> where
I: Iterator<Item = Complex<T>>, [src]
fn product<I>(iter: I) -> Complex<T> where
I: Iterator<Item = Complex<T>>, Method which takes an iterator and generates Self from the elements by multiplying the items. Read more
impl<T> Neg for Complex<T> where
T: Neg<Output = T> + Clone + Num, [src]
impl<T> Neg for Complex<T> where
T: Neg<Output = T> + Clone + Num, type Output = Complex<T>
The resulting type after applying the - operator.
fn neg(self) -> Complex<T>[src]
fn neg(self) -> Complex<T>Performs the unary - operation.
impl<'a, T> Neg for &'a Complex<T> where
T: Neg<Output = T> + Clone + Num, [src]
impl<'a, T> Neg for &'a Complex<T> where
T: Neg<Output = T> + Clone + Num, type Output = Complex<T>
The resulting type after applying the - operator.
fn neg(self) -> Complex<T>[src]
fn neg(self) -> Complex<T>Performs the unary - operation.
impl<T> Display for Complex<T> where
T: Display + Num + PartialOrd<T> + Clone, [src]
impl<T> Display for Complex<T> where
T: Display + Num + PartialOrd<T> + Clone, fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>Formats the value using the given formatter. Read more
impl<T> DivAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign, [src]
impl<T> DivAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign, fn div_assign(&mut self, other: Complex<T>)[src]
fn div_assign(&mut self, other: Complex<T>)Performs the /= operation.
impl<'a, T> DivAssign<&'a T> for Complex<T> where
T: Clone + NumAssign, [src]
impl<'a, T> DivAssign<&'a T> for Complex<T> where
T: Clone + NumAssign, fn div_assign(&mut self, other: &T)[src]
fn div_assign(&mut self, other: &T)Performs the /= operation.
impl<T> DivAssign<T> for Complex<T> where
T: Clone + NumAssign, [src]
impl<T> DivAssign<T> for Complex<T> where
T: Clone + NumAssign, fn div_assign(&mut self, other: T)[src]
fn div_assign(&mut self, other: T)Performs the /= operation.
impl<'a, T> DivAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign, [src]
impl<'a, T> DivAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign, fn div_assign(&mut self, other: &Complex<T>)[src]
fn div_assign(&mut self, other: &Complex<T>)Performs the /= operation.
impl<T> LowerExp for Complex<T> where
T: LowerExp + Num + PartialOrd<T> + Clone, [src]
impl<T> LowerExp for Complex<T> where
T: LowerExp + Num + PartialOrd<T> + Clone, fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>Formats the value using the given formatter.
impl<'a, 'b, T> Div<&'a T> for &'b Complex<T> where
T: Clone + Num, [src]
impl<'a, 'b, T> Div<&'a T> for &'b Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the / operator.
fn div(self, other: &T) -> Complex<T>[src]
fn div(self, other: &T) -> Complex<T>Performs the / operation.
impl<'a, T> Div<T> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Div<T> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the / operator.
fn div(self, other: T) -> Complex<T>[src]
fn div(self, other: T) -> Complex<T>Performs the / operation.
impl<T> Div<T> for Complex<T> where
T: Clone + Num, [src]
impl<T> Div<T> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the / operator.
fn div(self, other: T) -> Complex<T>[src]
fn div(self, other: T) -> Complex<T>Performs the / operation.
impl<'a, T> Div<&'a T> for Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Div<&'a T> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the / operator.
fn div(self, other: &T) -> Complex<T>[src]
fn div(self, other: &T) -> Complex<T>Performs the / operation.
impl<'a, T> Div<Complex<T>> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Div<Complex<T>> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the / operator.
fn div(self, other: Complex<T>) -> Complex<T>[src]
fn div(self, other: Complex<T>) -> Complex<T>Performs the / operation.
impl<'a, T> Div<&'a Complex<T>> for Complex<T> where
T: Clone + Num, [src]
impl<'a, T> Div<&'a Complex<T>> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the / operator.
fn div(self, other: &Complex<T>) -> Complex<T>[src]
fn div(self, other: &Complex<T>) -> Complex<T>Performs the / operation.
impl<T> Div<Complex<T>> for Complex<T> where
T: Clone + Num, [src]
impl<T> Div<Complex<T>> for Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the / operator.
fn div(self, other: Complex<T>) -> Complex<T>[src]
fn div(self, other: Complex<T>) -> Complex<T>Performs the / operation.
impl<'a, 'b, T> Div<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num, [src]
impl<'a, 'b, T> Div<&'b Complex<T>> for &'a Complex<T> where
T: Clone + Num, type Output = Complex<T>
The resulting type after applying the / operator.
fn div(self, other: &Complex<T>) -> Complex<T>[src]
fn div(self, other: &Complex<T>) -> Complex<T>Performs the / operation.
impl<'a, T> SubAssign<&'a T> for Complex<T> where
T: Clone + NumAssign, [src]
impl<'a, T> SubAssign<&'a T> for Complex<T> where
T: Clone + NumAssign, fn sub_assign(&mut self, other: &T)[src]
fn sub_assign(&mut self, other: &T)Performs the -= operation.
impl<T> SubAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign, [src]
impl<T> SubAssign<Complex<T>> for Complex<T> where
T: Clone + NumAssign, fn sub_assign(&mut self, other: Complex<T>)[src]
fn sub_assign(&mut self, other: Complex<T>)Performs the -= operation.
impl<T> SubAssign<T> for Complex<T> where
T: Clone + NumAssign, [src]
impl<T> SubAssign<T> for Complex<T> where
T: Clone + NumAssign, fn sub_assign(&mut self, other: T)[src]
fn sub_assign(&mut self, other: T)Performs the -= operation.
impl<'a, T> SubAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign, [src]
impl<'a, T> SubAssign<&'a Complex<T>> for Complex<T> where
T: Clone + NumAssign, fn sub_assign(&mut self, other: &Complex<T>)[src]
fn sub_assign(&mut self, other: &Complex<T>)Performs the -= operation.
impl<T> LowerHex for Complex<T> where
T: LowerHex + Num + PartialOrd<T> + Clone, [src]
impl<T> LowerHex for Complex<T> where
T: LowerHex + Num + PartialOrd<T> + Clone, fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>Formats the value using the given formatter.
impl<T> Hash for Complex<T> where
T: Hash, [src]
impl<T> Hash for Complex<T> where
T: Hash, fn hash<__HT>(&self, state: &mut __HT) where
__HT: Hasher, [src]
fn hash<__HT>(&self, state: &mut __HT) where
__HT: Hasher, 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]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, Feeds a slice of this type into the given [Hasher]. Read more
impl<T> UpperHex for Complex<T> where
T: UpperHex + Num + PartialOrd<T> + Clone, [src]
impl<T> UpperHex for Complex<T> where
T: UpperHex + Num + PartialOrd<T> + Clone, fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>Formats the value using the given formatter.
impl<T> NumCast for Complex<T> where
T: NumCast + Num, [src]
impl<T> NumCast for Complex<T> where
T: NumCast + Num, fn from<U>(n: U) -> Option<Complex<T>> where
U: ToPrimitive, [src]
fn from<U>(n: U) -> Option<Complex<T>> where
U: ToPrimitive, Creates a number from another value that can be converted into a primitive via the ToPrimitive trait. Read more
impl<T> Octal for Complex<T> where
T: Octal + Num + PartialOrd<T> + Clone, [src]
impl<T> Octal for Complex<T> where
T: Octal + Num + PartialOrd<T> + Clone, fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>Formats the value using the given formatter.
impl<T> One for Complex<T> where
T: Clone + Num, [src]
impl<T> One for Complex<T> where
T: Clone + Num, Auto Trait Implementations
Blanket Implementations
impl<T, U> TryFrom for T where
T: From<U>, [src]
impl<T, U> TryFrom for T where
T: From<U>, type Error = !
try_from)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>try_from)Performs the conversion.
impl<T> From for T[src]
impl<T> From for Timpl<T, U> TryInto for T where
U: TryFrom<T>, [src]
impl<T, U> TryInto for T where
U: TryFrom<T>, type Error = <U as TryFrom<T>>::Error
try_from)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>try_from)Performs the conversion.
impl<T, U> Into for T where
U: From<T>, [src]
impl<T, U> Into for T where
U: From<T>, impl<T> Borrow for T where
T: ?Sized, [src]
impl<T> Borrow for T where
T: ?Sized, impl<T> BorrowMut for T where
T: ?Sized, [src]
impl<T> BorrowMut for T where
T: ?Sized, fn borrow_mut(&mut self) -> &mut T[src]
fn borrow_mut(&mut self) -> &mut TMutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized, [src]
impl<T> Any for T where
T: 'static + ?Sized, fn get_type_id(&self) -> TypeId[src]
fn get_type_id(&self) -> TypeId🔬 This is a nightly-only experimental API. (get_type_id)
this method will likely be replaced by an associated static
Gets the TypeId of self. Read more
impl<T, Rhs, Output> NumOps 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]
impl<T, Rhs, Output> NumOps for T where
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]
impl<T> NumRef for T where
T: Num + NumOps<&'r T, T>, impl<T, Base> RefNum for T where
T: NumOps<Base, Base> + NumOps<&'r Base, Base>, [src]
impl<T, Base> RefNum for T where
T: NumOps<Base, Base> + NumOps<&'r Base, Base>, impl<T, Rhs> NumAssignOps for T where
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>, [src]
impl<T, Rhs> NumAssignOps for T where
T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>, impl<T> NumAssign for T where
T: Num + NumAssignOps<T>, [src]
impl<T> NumAssign for T where
T: Num + NumAssignOps<T>, impl<T> NumAssignRef for T where
T: NumAssign + NumAssignOps<&'r T>, [src]
impl<T> NumAssignRef for T where
T: NumAssign + NumAssignOps<&'r T>, impl<T> ToString for T where
T: Display + ?Sized, [src]
impl<T> ToString for T where
T: Display + ?Sized, impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, type Owned = T
fn to_owned(&self) -> T[src]
fn to_owned(&self) -> TCreates owned data from borrowed data, usually by cloning. Read more
fn clone_into(&self, target: &mut T)[src]
fn clone_into(&self, target: &mut T)🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more