pub trait TrinomialQuinticData: MontyParameters + Sized {
type ArrayLike: AsRef<[[MontyField31<Self>; 5]]> + Sized;
const EXT_GENERATOR: [MontyField31<Self>; 5];
const EXT_TWO_ADICITY: usize;
const FROBENIUS_COEFFS: [[MontyField31<Self>; 5]; 4];
const TWO_ADIC_EXTENSION_GENERATORS: Self::ArrayLike;
}Expand description
Data for a quintic extension using the trinomial polynomial X^5 + X^2 - 1.
This is required for fields where 5 does not divide (P - 1), making simple
binomial extensions X^5 - W impossible.
Required Associated Constants§
Sourceconst EXT_GENERATOR: [MontyField31<Self>; 5]
const EXT_GENERATOR: [MontyField31<Self>; 5]
Multiplicative generator of the extension field F_{p^5}*.
Sourceconst EXT_TWO_ADICITY: usize
const EXT_TWO_ADICITY: usize
Two-adicity of the extension field order p^5 - 1.
Sourceconst FROBENIUS_COEFFS: [[MontyField31<Self>; 5]; 4]
const FROBENIUS_COEFFS: [[MontyField31<Self>; 5]; 4]
Frobenius coefficients: FROBENIUS_COEFFS[k] = X^{(k+1)*p} mod (X^5 + X^2 - 1).
Sourceconst TWO_ADIC_EXTENSION_GENERATORS: Self::ArrayLike
const TWO_ADIC_EXTENSION_GENERATORS: Self::ArrayLike
Generators of 2-adic subgroups not in the base field.
Required Associated Types§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".