pub trait ExtensionField<F: Field>: Field + From<F> + TryInto<F> + Add<F, Output = Self> + Sub<F, Output = Self> + Mul<F, Output = Self> + AddAssign<F> + SubAssign<F> + MulAssign<F> {
    type Iterator: Iterator<Item = F>;

    const DEGREE: usize;

    // Required methods
    fn basis(i: usize) -> Result<Self, Error>;
    fn from_bases(base_elems: &[F]) -> Result<Self, Error>;
    fn iter_bases(&self) -> Self::Iterator;
}

Required Associated Types§

source

type Iterator: Iterator<Item = F>

Required Associated Constants§

Required Methods§

source

fn basis(i: usize) -> Result<Self, Error>

source

fn from_bases(base_elems: &[F]) -> Result<Self, Error>

source

fn iter_bases(&self) -> Self::Iterator

Object Safety§

This trait is not object safe.

Implementors§

source§

impl ExtensionField<AESTowerField8b> for AESTowerField16b

source§

impl ExtensionField<AESTowerField8b> for AESTowerField32b

source§

impl ExtensionField<AESTowerField8b> for AESTowerField64b

source§

impl ExtensionField<AESTowerField8b> for AESTowerField128b

source§

impl ExtensionField<AESTowerField16b> for AESTowerField32b

source§

impl ExtensionField<AESTowerField16b> for AESTowerField64b

source§

impl ExtensionField<AESTowerField16b> for AESTowerField128b

source§

impl ExtensionField<AESTowerField32b> for AESTowerField64b

source§

impl ExtensionField<AESTowerField32b> for AESTowerField128b

source§

impl ExtensionField<AESTowerField64b> for AESTowerField128b

source§

impl ExtensionField<BinaryField1b> for AESTowerField8b

source§

impl ExtensionField<BinaryField1b> for AESTowerField16b

source§

impl ExtensionField<BinaryField1b> for AESTowerField32b

source§

impl ExtensionField<BinaryField1b> for AESTowerField64b

source§

impl ExtensionField<BinaryField1b> for AESTowerField128b

source§

impl ExtensionField<BinaryField1b> for BinaryField2b

source§

impl ExtensionField<BinaryField1b> for BinaryField4b

source§

impl ExtensionField<BinaryField1b> for BinaryField8b

source§

impl ExtensionField<BinaryField1b> for BinaryField16b

source§

impl ExtensionField<BinaryField1b> for BinaryField32b

source§

impl ExtensionField<BinaryField1b> for BinaryField64b

source§

impl ExtensionField<BinaryField1b> for BinaryField128b

source§

impl ExtensionField<BinaryField1b> for BinaryField128bPolyval

source§

impl ExtensionField<BinaryField2b> for BinaryField4b

source§

impl ExtensionField<BinaryField2b> for BinaryField8b

source§

impl ExtensionField<BinaryField2b> for BinaryField16b

source§

impl ExtensionField<BinaryField2b> for BinaryField32b

source§

impl ExtensionField<BinaryField2b> for BinaryField64b

source§

impl ExtensionField<BinaryField2b> for BinaryField128b

source§

impl ExtensionField<BinaryField4b> for BinaryField8b

source§

impl ExtensionField<BinaryField4b> for BinaryField16b

source§

impl ExtensionField<BinaryField4b> for BinaryField32b

source§

impl ExtensionField<BinaryField4b> for BinaryField64b

source§

impl ExtensionField<BinaryField4b> for BinaryField128b

source§

impl ExtensionField<BinaryField8b> for BinaryField16b

source§

impl ExtensionField<BinaryField8b> for BinaryField32b

source§

impl ExtensionField<BinaryField8b> for BinaryField64b

source§

impl ExtensionField<BinaryField8b> for BinaryField128b

source§

impl ExtensionField<BinaryField16b> for BinaryField32b

source§

impl ExtensionField<BinaryField16b> for BinaryField64b

source§

impl ExtensionField<BinaryField16b> for BinaryField128b

source§

impl ExtensionField<BinaryField32b> for BinaryField64b

source§

impl ExtensionField<BinaryField32b> for BinaryField128b

source§

impl ExtensionField<BinaryField64b> for BinaryField128b

source§

impl<F: Field> ExtensionField<F> for F

§

type Iterator = Once<F>

source§

const DEGREE: usize = 1usize