pub type Complex<AF> = BinomialExtensionField<AF, 2>;
Aliased Type§
struct Complex<AF> { /* private fields */ }
Implementations§
Source§impl<AF: AbstractField> Complex<AF>
impl<AF: AbstractField> Complex<AF>
Convenience methods for complex extensions
pub const fn new(real: AF, imag: AF) -> Self
pub const fn new_real(real: AF) -> Self
pub const fn new_imag(imag: AF) -> Self
pub fn real(&self) -> AF
pub fn imag(&self) -> AF
pub fn conjugate(&self) -> Self
pub fn norm(&self) -> AF
pub fn to_array(&self) -> [AF; 2]
pub fn rotate<Ext: AbstractExtensionField<AF>>( &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> HasTwoAdicBionmialExtension<D> for Complex<F>where
F: HasTwoAdicComplexBinomialExtension<D>,
impl<F, const D: usize> HasTwoAdicBionmialExtension<D> for Complex<F>where
F: HasTwoAdicComplexBinomialExtension<D>,
const EXT_TWO_ADICITY: usize = F::COMPLEX_EXT_TWO_ADICITY
Source§fn ext_two_adic_generator(bits: usize) -> [Self; D]
fn ext_two_adic_generator(bits: usize) -> [Self; D]
Assumes the multiplicative group size has at least
bits
powers of two, otherwise the
behavior is undefined.