Struct Complex

Source
pub struct Complex { /* private fields */ }
Expand description

Holds a complex number with 64-bit float parts.

Implementations§

Source§

impl Complex

Source

pub fn new(re: f64, im: f64) -> Complex

Construct a new complex number as re + im * i with 64-bit float parts.

Source

pub fn new_euler(r: f64, phi: f64) -> Complex

Construct a new complex number as r * exp(i * phi) with 64-bit float parts.

Source

pub fn nth_root_of_unity(n: u32) -> Complex

Construct a new primitive nth root of unity.

Source

pub fn zero() -> Complex

Zero in the complex plane, i.e. 0 + 0i.

Source

pub fn one() -> Complex

One in the complex plane, i.e. 1 + 0i.

Source

pub fn i() -> Complex

The imaginary unit.

Source

pub fn norm_sqr(&self) -> f64

Compute the square of the norm/absolute value, i.e. |z|^2.

Source

pub fn pow(&self, n: u32) -> Complex

Compute an integer power of this number efficiently with repeated squaring.

Source

pub fn re(&self) -> f64

The real part.

Source

pub fn im(&self) -> f64

The imaginary part.

Source

pub fn approx_eq(&self, other: &Complex) -> bool

Approximately equal test.

Trait Implementations§

Source§

impl Add for Complex

Source§

type Output = Complex

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Complex) -> Complex

Performs the + operation. Read more
Source§

impl AddAssign for Complex

Source§

fn add_assign(&mut self, rhs: Complex)

Performs the += operation. Read more
Source§

impl Clone for Complex

Source§

fn clone(&self) -> Complex

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Complex

Source§

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

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

impl Mul for Complex

Source§

type Output = Complex

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Complex) -> Complex

Performs the * operation. Read more
Source§

impl MulAssign for Complex

Source§

fn mul_assign(&mut self, rhs: Complex)

Performs the *= operation. Read more
Source§

impl Neg for Complex

Source§

type Output = Complex

The resulting type after applying the - operator.
Source§

fn neg(self) -> Complex

Performs the unary - operation. Read more
Source§

impl PartialEq for Complex

Source§

fn eq(&self, other: &Complex) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Complex

Source§

impl StructuralPartialEq for Complex

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.