pub type Complex<F> = BinomialExtensionField<F, 2>;Aliased Type§
pub struct Complex<F> { /* private fields */ }Implementations§
Source§impl<R: PrimeCharacteristicRing> Complex<R>
Convenience methods for complex extensions
impl<R: PrimeCharacteristicRing> Complex<R>
Convenience methods for complex extensions
pub const fn new_complex(real: R, imag: R) -> Self
pub const fn new_real(real: R) -> Self
pub const fn new_imag(imag: R) -> Self
pub fn real(&self) -> R
pub fn imag(&self) -> R
pub fn conjugate(&self) -> Self
pub fn norm(&self) -> R
pub fn to_array(&self) -> [R; 2]
pub fn rotate<Ext: Algebra<R>>(&self, rhs: &Complex<Ext>) -> Complex<Ext>
Trait Implementations§
Source§impl<F, const D: usize> BinomiallyExtendable<D> for Complex<F>where
F: HasComplexBinomialExtension<D>,
impl<F, const D: usize> BinomiallyExtendable<D> for Complex<F>where
F: HasComplexBinomialExtension<D>,
Source§impl<F, const D: usize> ExtensionAlgebra<ExtField<F, 2, Binomial<F>>, D, Binomial<ExtField<F, 2, Binomial<F>>>> for Complex<F>where
F: HasComplexBinomialExtension<D>,
impl<F, const D: usize> ExtensionAlgebra<ExtField<F, 2, Binomial<F>>, D, Binomial<ExtField<F, 2, Binomial<F>>>> for Complex<F>where
F: HasComplexBinomialExtension<D>,
Source§fn ext_mul(a: &[Self; D], b: &[Self; D], res: &mut [Self; D])
fn ext_mul(a: &[Self; D], b: &[Self; D], res: &mut [Self; D])
Multiplication in the algebra extension ring.
Source§fn ext_square(a: &[Self; D], res: &mut [Self; D])
fn ext_square(a: &[Self; D], res: &mut [Self; D])
Squaring in the algebra extension ring. Read more
Source§fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
fn ext_base_mul(lhs: [Self; D], rhs: Self) -> [Self; D]
Multiply an extension element by a base-field scalar.