Skip to main content

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".

Implementors§

Source§

impl RootsOfUnity for Elem

Source§

const MAX_ROU_PO2: usize = 27

Source§

const ROU_FWD: &'static [Elem]

Source§

const ROU_REV: &'static [Elem]