Trait ark_ff::fields::models::cubic_extension::CubicExtParameters [−][src]
Associated Types
type BasePrimeField: PrimeField
[src]
The prime field that this cubic extension is eventually an extension of.
type BaseField: Field<BasePrimeField = Self::BasePrimeField>
[src]
The base field that this field is a cubic extension of.
type FrobCoeff: Field
[src]
The type of the coefficients for an efficient implemntation of the Frobenius endomorphism.
Associated Constants
const DEGREE_OVER_BASE_PRIME_FIELD: usize
[src]
The degree of the extension over the base prime field.
const NONRESIDUE: Self::BaseField
[src]
The cubic non-residue used to construct the extension.
const FROBENIUS_COEFF_C1: &'static [Self::FrobCoeff]
[src]
Coefficients for the Frobenius automorphism.
const FROBENIUS_COEFF_C2: &'static [Self::FrobCoeff]
[src]
Required methods
fn mul_base_field_by_frob_coeff(
c1: &mut Self::BaseField,
c2: &mut Self::BaseField,
power: usize
)
[src]
c1: &mut Self::BaseField,
c2: &mut Self::BaseField,
power: usize
)
A specializable method for multiplying an element of the base field by the appropriate Frobenius coefficient.
Provided methods
fn mul_base_field_by_nonresidue(fe: &Self::BaseField) -> Self::BaseField
[src]
A specializable method for multiplying an element of the base field by the quadratic non-residue. This is used in multiplication and squaring.
Implementors
impl<P: Fp3Parameters> CubicExtParameters for Fp3ParamsWrapper<P>
[src]
type BasePrimeField = P::Fp
type BaseField = P::Fp
type FrobCoeff = P::Fp
const DEGREE_OVER_BASE_PRIME_FIELD: usize
[src]
const NONRESIDUE: Self::BaseField
[src]
const FROBENIUS_COEFF_C1: &'static [Self::FrobCoeff]
[src]
const FROBENIUS_COEFF_C2: &'static [Self::FrobCoeff]
[src]
fn mul_base_field_by_nonresidue(fe: &Self::BaseField) -> Self::BaseField
[src]
fn mul_base_field_by_frob_coeff(
c1: &mut Self::BaseField,
c2: &mut Self::BaseField,
power: usize
)
[src]
c1: &mut Self::BaseField,
c2: &mut Self::BaseField,
power: usize
)
impl<P: Fp6Parameters> CubicExtParameters for Fp6ParamsWrapper<P>
[src]
type BasePrimeField = <P::Fp2Params as Fp2Parameters>::Fp
type BaseField = Fp2<P::Fp2Params>
type FrobCoeff = Fp2<P::Fp2Params>
const DEGREE_OVER_BASE_PRIME_FIELD: usize
[src]
const NONRESIDUE: Self::BaseField
[src]
const FROBENIUS_COEFF_C1: &'static [Self::FrobCoeff]
[src]
const FROBENIUS_COEFF_C2: &'static [Self::FrobCoeff]
[src]
fn mul_base_field_by_nonresidue(fe: &Self::BaseField) -> Self::BaseField
[src]
fn mul_base_field_by_frob_coeff(
c1: &mut Self::BaseField,
c2: &mut Self::BaseField,
power: usize
)
[src]
c1: &mut Self::BaseField,
c2: &mut Self::BaseField,
power: usize
)