pub struct Complex64;

Implementations§

source§

impl Complex64

source

pub const RING: RingValue<Complex64> = _

source

pub const I: Complex64El = _

source

pub fn abs(&self, Complex64El: Complex64El) -> f64

source

pub fn conjugate(&self, Complex64El: Complex64El) -> Complex64El

source

pub fn exp(&self, Complex64El: Complex64El) -> Complex64El

source

pub fn closest_gaussian_int(&self, Complex64El: Complex64El) -> (i64, i64)

source

pub fn ln_main_branch(&self, Complex64El: Complex64El) -> Complex64El

source

pub fn is_absolute_approx_eq( &self, lhs: Complex64El, rhs: Complex64El, absolute_threshold: f64 ) -> bool

source

pub fn is_relative_approx_eq( &self, lhs: Complex64El, rhs: Complex64El, relative_limit: f64 ) -> bool

source

pub fn is_approx_eq( &self, lhs: Complex64El, rhs: Complex64El, precision: u64 ) -> bool

source

pub fn from_f64(&self, x: f64) -> Complex64El

source

pub fn root_of_unity(&self, i: i64, n: i64) -> Complex64El

Trait Implementations§

source§

impl CanHomFrom<Complex64> for Complex64

§

type Homomorphism = ()

source§

fn has_canonical_hom(&self, from: &Self) -> Option<()>

source§

fn map_in( &self, _from: &Self, el: <Self as RingBase>::Element, _: &Self::Homomorphism ) -> <Self as RingBase>::Element

source§

fn map_in_ref( &self, from: &S, el: &S::Element, hom: &Self::Homomorphism ) -> Self::Element

source§

fn mul_assign_map_in( &self, from: &S, lhs: &mut Self::Element, rhs: S::Element, hom: &Self::Homomorphism )

source§

fn mul_assign_map_in_ref( &self, from: &S, lhs: &mut Self::Element, rhs: &S::Element, hom: &Self::Homomorphism )

source§

impl CanonicalIso<Complex64> for Complex64

§

type Isomorphism = ()

source§

fn has_canonical_iso(&self, from: &Self) -> Option<()>

source§

fn map_out( &self, _from: &Self, el: <Self as RingBase>::Element, _: &Self::Homomorphism ) -> <Self as RingBase>::Element

source§

impl Clone for Complex64

source§

fn clone(&self) -> Complex64

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 DivisibilityRing for Complex64

source§

fn checked_left_div( &self, lhs: &Self::Element, rhs: &Self::Element ) -> Option<Self::Element>

Checks whether there is an element x such that rhs * x = lhs, and returns it if it exists. Note that this does not have to be unique, if rhs is a left zero-divisor. In particular, this function will return any element in the ring if lhs = rhs = 0.
source§

fn is_unit(&self, x: &Self::Element) -> bool

source§

impl EuclideanRing for Complex64

source§

fn euclidean_div_rem( &self, _lhs: Self::Element, _rhs: &Self::Element ) -> (Self::Element, Self::Element)

source§

fn euclidean_deg(&self, _: &Self::Element) -> Option<usize>

source§

fn euclidean_div( &self, lhs: Self::Element, rhs: &Self::Element ) -> Self::Element

source§

fn euclidean_rem( &self, lhs: Self::Element, rhs: &Self::Element ) -> Self::Element

source§

impl Field for Complex64

source§

fn div(&self, lhs: &Self::Element, rhs: &Self::Element) -> Self::Element

source§

impl PartialEq for Complex64

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PrincipalIdealRing for Complex64

source§

fn ideal_gen( &self, _lhs: &Self::Element, _rhs: &Self::Element ) -> (Self::Element, Self::Element, Self::Element)

Computes a Bezout identity. Read more
source§

impl RingBase for Complex64

§

type Element = Complex64El

source§

fn clone_el(&self, val: &Self::Element) -> Self::Element

source§

fn add_assign( &self, Complex64El: &mut Self::Element, Complex64El: Self::Element )

source§

fn negate_inplace(&self, Complex64El: &mut Self::Element)

source§

fn mul_assign( &self, Complex64El: &mut Self::Element, Complex64El: Self::Element )

source§

fn from_int(&self, value: i32) -> Self::Element

source§

fn eq_el(&self, _: &Self::Element, _: &Self::Element) -> bool

source§

fn pow_gen<R: IntegerRingStore>( &self, x: Self::Element, power: &El<R>, integers: R ) -> Self::Element
where R::Type: IntegerRing,

Raises x to the power of an arbitrary, nonnegative integer given by a custom integer ring implementation. Read more
source§

fn is_commutative(&self) -> bool

source§

fn is_noetherian(&self) -> bool

source§

fn is_approximate(&self) -> bool

Returns whether this ring computes with approximations to elements. This would usually be the case for rings that are based on f32 or f64, to represent real or complex numbers. Read more
source§

fn dbg<'a>( &self, Complex64El: &Self::Element, out: &mut Formatter<'a> ) -> Result

source§

fn characteristic<I: IntegerRingStore>(&self, ZZ: &I) -> Option<El<I>>
where I::Type: IntegerRing,

Returns the characteristic of this ring as an element of the given implementation of ZZ. Read more
source§

fn add_assign_ref(&self, lhs: &mut Self::Element, rhs: &Self::Element)

source§

fn sub_assign_ref(&self, lhs: &mut Self::Element, rhs: &Self::Element)

source§

fn mul_assign_ref(&self, lhs: &mut Self::Element, rhs: &Self::Element)

source§

fn zero(&self) -> Self::Element

source§

fn one(&self) -> Self::Element

source§

fn neg_one(&self) -> Self::Element

source§

fn is_zero(&self, value: &Self::Element) -> bool

source§

fn is_one(&self, value: &Self::Element) -> bool

source§

fn is_neg_one(&self, value: &Self::Element) -> bool

source§

fn square(&self, value: &mut Self::Element)

source§

fn negate(&self, value: Self::Element) -> Self::Element

source§

fn sub_assign(&self, lhs: &mut Self::Element, rhs: Self::Element)

source§

fn mul_assign_int(&self, lhs: &mut Self::Element, rhs: i32)

source§

fn mul_int(&self, lhs: Self::Element, rhs: i32) -> Self::Element

source§

fn mul_int_ref(&self, lhs: &Self::Element, rhs: i32) -> Self::Element

source§

fn sub_self_assign(&self, lhs: &mut Self::Element, rhs: Self::Element)

Computes lhs := rhs - lhs.
source§

fn sub_self_assign_ref(&self, lhs: &mut Self::Element, rhs: &Self::Element)

Computes lhs := rhs - lhs.
source§

fn add_ref(&self, lhs: &Self::Element, rhs: &Self::Element) -> Self::Element

source§

fn add_ref_fst(&self, lhs: &Self::Element, rhs: Self::Element) -> Self::Element

source§

fn add_ref_snd(&self, lhs: Self::Element, rhs: &Self::Element) -> Self::Element

source§

fn add(&self, lhs: Self::Element, rhs: Self::Element) -> Self::Element

source§

fn sub_ref(&self, lhs: &Self::Element, rhs: &Self::Element) -> Self::Element

source§

fn sub_ref_fst(&self, lhs: &Self::Element, rhs: Self::Element) -> Self::Element

source§

fn sub_ref_snd(&self, lhs: Self::Element, rhs: &Self::Element) -> Self::Element

source§

fn sub(&self, lhs: Self::Element, rhs: Self::Element) -> Self::Element

source§

fn mul_ref(&self, lhs: &Self::Element, rhs: &Self::Element) -> Self::Element

source§

fn mul_ref_fst(&self, lhs: &Self::Element, rhs: Self::Element) -> Self::Element

source§

fn mul_ref_snd(&self, lhs: Self::Element, rhs: &Self::Element) -> Self::Element

source§

fn mul(&self, lhs: Self::Element, rhs: Self::Element) -> Self::Element

source§

fn sum<I>(&self, els: I) -> Self::Element
where I: Iterator<Item = Self::Element>,

source§

fn prod<I>(&self, els: I) -> Self::Element
where I: Iterator<Item = Self::Element>,

source§

impl Copy for Complex64

source§

impl Domain for Complex64

source§

impl StructuralPartialEq for Complex64

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<R, S> CooleyTuckeyButterfly<S> for R
where S: RingBase + ?Sized, R: RingBase + ?Sized,

source§

default fn butterfly<V, H>( &self, hom: &H, values: &mut V, twiddle: &<S as RingBase>::Element, i1: usize, i2: usize )
where V: VectorViewMut<<R as RingBase>::Element>, H: Homomorphism<S, R>,

Should compute (values[i1], values[i2]) := (values[i1] + twiddle * values[i2], values[i1] - twiddle * values[i2])
source§

default fn inv_butterfly<V, H>( &self, hom: &H, values: &mut V, twiddle: &<S as RingBase>::Element, i1: usize, i2: usize )
where V: VectorViewMut<<R as RingBase>::Element>, H: Homomorphism<S, R>,

Should compute (values[i1], values[i2]) := (values[i1] + values[i2], (values[i1] - values[i2]) * twiddle)
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<F> GBRingDescriptorRing for F
where F: Field,

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<R> KaratsubaHint for R
where R: RingBase + ?Sized,

source§

default fn karatsuba_threshold(&self) -> usize

source§

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

§

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>,

§

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>,

§

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.
source§

impl<R> SelfIso for R
where R: CanonicalIso<R> + ?Sized,