Trait ark_ff::fields::models::cubic_extension::CubicExtParameters[][src]

pub trait CubicExtParameters: 'static + Send + Sync {
    type BasePrimeField: PrimeField;
    type BaseField: Field<BasePrimeField = Self::BasePrimeField>;
    type FrobCoeff: Field;

    const DEGREE_OVER_BASE_PRIME_FIELD: usize;
    const NONRESIDUE: Self::BaseField;
    const FROBENIUS_COEFF_C1: &'static [Self::FrobCoeff];
    const FROBENIUS_COEFF_C2: &'static [Self::FrobCoeff];

    fn mul_base_field_by_frob_coeff(
        c1: &mut Self::BaseField,
        c2: &mut Self::BaseField,
        power: usize
    ); fn mul_base_field_by_nonresidue(fe: &Self::BaseField) -> Self::BaseField { ... } }

Associated Types

The prime field that this cubic extension is eventually an extension of.

The base field that this field is a cubic extension of.

The type of the coefficients for an efficient implemntation of the Frobenius endomorphism.

Associated Constants

The degree of the extension over the base prime field.

The cubic non-residue used to construct the extension.

Coefficients for the Frobenius automorphism.

Required methods

A specializable method for multiplying an element of the base field by the appropriate Frobenius coefficient.

Provided methods

A specializable method for multiplying an element of the base field by the quadratic non-residue. This is used in multiplication and squaring.

Implementors