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.
type BaseField: Field<BasePrimeField = Self::BasePrimeField>
[src]
type BaseField: Field<BasePrimeField = Self::BasePrimeField>
[src]The base field that this field is a cubic extension of.
Associated Constants
const DEGREE_OVER_BASE_PRIME_FIELD: usize
[src]
const DEGREE_OVER_BASE_PRIME_FIELD: usize
[src]The degree of the extension over the base prime field.
const NONRESIDUE: Self::BaseField
[src]
const NONRESIDUE: Self::BaseField
[src]The cubic non-residue used to construct the extension.
const FROBENIUS_COEFF_C1: &'static [Self::FrobCoeff]
[src]
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]
fn mul_base_field_by_frob_coeff(
c1: &mut Self::BaseField,
c2: &mut Self::BaseField,
power: usize
)
[src]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]
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
type BasePrimeField = P::Fp
fn mul_base_field_by_frob_coeff(
c1: &mut Self::BaseField,
c2: &mut Self::BaseField,
power: usize
)
[src]type BasePrimeField = <P::Fp2Params as Fp2Parameters>::Fp
fn mul_base_field_by_frob_coeff(
c1: &mut Self::BaseField,
c2: &mut Self::BaseField,
power: usize
)
[src]