RootsOfUnity

Trait RootsOfUnity 

Source
pub trait RootsOfUnity: Sized + 'static {
    const MAX_ROU_PO2: usize;
    const ROU_FWD: &'static [Self];
    const ROU_REV: &'static [Self];
}
Expand description

Roots of unity for the field whose elements are represented by ExtElem and whose subfield elements are represented by Elem

Required Associated Constants§

Source

const MAX_ROU_PO2: usize

Maximum root of unity which is a power of 2 (i.e., there is a 2^MAX_ROU_PO2th root of unity, but no 2^(MAX_ROU_PO2+1)th root.

Source

const ROU_FWD: &'static [Self]

For each power of 2, the ‘forward’ root of unity for the po2. That is, this list satisfies ROU_FWD[i+1] ^ 2 = ROU_FWD[i] in the prime field, which implies ROU_FWD[i] ^ (2 ^ i) = 1.

Source

const ROU_REV: &'static [Self]

For each power of 2, the ‘reverse’ root of unity for the po2. This list satisfies ROU_FWD[i] * ROU_REV[i] = 1 in the prime field F_2013265921.

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.

Implementors§

Source§

impl RootsOfUnity for Elem

Source§

const MAX_ROU_PO2: usize = 27usize

Source§

const ROU_FWD: &'static [Elem]

Source§

const ROU_REV: &'static [Elem]