pub trait BinomialExtensionData<const DEG: usize>: MontyParameters + Sized {
type ArrayLike: AsRef<[[MontyField31<Self>; DEG]]> + Sized;
const W: MontyField31<Self>;
const DTH_ROOT: MontyField31<Self>;
const EXT_GENERATOR: [MontyField31<Self>; DEG];
const EXT_TWO_ADICITY: usize;
const TWO_ADIC_EXTENSION_GENERATORS: Self::ArrayLike;
}
Expand description
TODO: This should be deleted long term once we have improved our API for defining extension fields. This allows us to implement Binomial Extensions over Monty31 fields.
Required Associated Constants§
Sourceconst W: MontyField31<Self>
const W: MontyField31<Self>
W is a value such that (x^DEG - WN) is irreducible.
Sourceconst DTH_ROOT: MontyField31<Self>
const DTH_ROOT: MontyField31<Self>
DTH_ROOT = W^((p - 1)/DEG)
Sourceconst EXT_GENERATOR: [MontyField31<Self>; DEG]
const EXT_GENERATOR: [MontyField31<Self>; DEG]
A generator of the extension fields multiplicative group.
const EXT_TWO_ADICITY: usize
Sourceconst TWO_ADIC_EXTENSION_GENERATORS: Self::ArrayLike
const TWO_ADIC_EXTENSION_GENERATORS: Self::ArrayLike
A list of generators of 2-adic subgroups not contained 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", so this trait is not object safe.