p3_field::extension

Type Alias Complex

Source
pub type Complex<AF> = BinomialExtensionField<AF, 2>;

Aliased Type§

struct Complex<AF> { /* private fields */ }

Implementations§

Source§

impl<AF: AbstractField> Complex<AF>

Convenience methods for complex extensions

Source

pub const fn new(real: AF, imag: AF) -> Self

Source

pub const fn new_real(real: AF) -> Self

Source

pub const fn new_imag(imag: AF) -> Self

Source

pub fn real(&self) -> AF

Source

pub fn imag(&self) -> AF

Source

pub fn conjugate(&self) -> Self

Source

pub fn norm(&self) -> AF

Source

pub fn to_array(&self) -> [AF; 2]

Source

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>

Source§

const W: Self = _

Source§

const DTH_ROOT: Self = _

Source§

const EXT_GENERATOR: [Self; D] = F::EXT_GENERATOR

Source§

impl<F, const D: usize> HasTwoAdicBionmialExtension<D> for Complex<F>

Source§

const EXT_TWO_ADICITY: usize = F::COMPLEX_EXT_TWO_ADICITY

Source§

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.