Skip to main content

HasComplexBinomialExtension

Trait HasComplexBinomialExtension 

Source
pub trait HasComplexBinomialExtension<const D: usize>: ComplexExtendable {
    const W: Complex<Self>;
    const DTH_ROOT: Complex<Self>;
    const EXT_GENERATOR: [Complex<Self>; D];

    // Provided method
    fn mul_by_w(z: Complex<Self>) -> Complex<Self> { ... }
}
Expand description

The complex extension of this field has a binomial extension.

This exists if the polynomial ring F[i][X] has an irreducible polynomial X^d-W allowing us to define the binomial extension field F[i][X]/(X^d-W).

Required Associated Constants§

Source

const W: Complex<Self>

Source

const DTH_ROOT: Complex<Self>

Source

const EXT_GENERATOR: [Complex<Self>; D]

Provided Methods§

Source

fn mul_by_w(z: Complex<Self>) -> Complex<Self>

Multiply a Complex<Self> element by W = Self::W.

The default is a general complex multiplication. Override when W has structure that makes multiplication cheaper (e.g. add-only when all coefficients of W are small).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§