pub trait BinomiallyExtendable<const D: usize>: Field + BinomiallyExtendableAlgebra<Self, D> {
const W: Self;
const DTH_ROOT: Self;
const EXT_GENERATOR: [Self; D];
}Expand description
Trait for fields that support binomial extension of the form F[X]/(X^D - W).
A type implementing this trait can define a degree-D extension field using an
irreducible binomial polynomial X^D - W, where W is a nonzero constant in the base field.
This is used to construct extension fields with efficient arithmetic.
Required Associated Constants§
Sourceconst DTH_ROOT: Self
const DTH_ROOT: Self
A D-th root of unity derived from W.
This is W^((n - 1)/D), where n is the order of the field.
Valid only when n = kD + 1 for some k.
Sourceconst EXT_GENERATOR: [Self; D]
const EXT_GENERATOR: [Self; D]
A generator for the extension field, expressed as a degree-D polynomial.
This is an array of size D, where each entry is a base field element.
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.