Trait ark_ff::fields::FftParameters [−][src]
pub trait FftParameters: 'static + Send + Sync + Sized { type BigInt: BigInteger; const TWO_ADICITY: u32; const TWO_ADIC_ROOT_OF_UNITY: Self::BigInt; const SMALL_SUBGROUP_BASE: Option<u32>; const SMALL_SUBGROUP_BASE_ADICITY: Option<u32>; const LARGE_SUBGROUP_ROOT_OF_UNITY: Option<Self::BigInt>; }
Expand description
A trait that defines parameters for a field that can be used for FFTs.
Associated Types
type BigInt: BigInteger[src]Associated Constants
const TWO_ADICITY: u32[src]
const TWO_ADICITY: u32[src]Let N be the size of the multiplicative group defined by the field.
Then TWO_ADICITY is the two-adicity of N, i.e. the integer s
such that N = 2^s * t for some odd integer t.
const TWO_ADIC_ROOT_OF_UNITY: Self::BigInt[src]
const TWO_ADIC_ROOT_OF_UNITY: Self::BigInt[src]2^s root of unity computed by GENERATOR^t
const SMALL_SUBGROUP_BASE: Option<u32>[src]
const SMALL_SUBGROUP_BASE: Option<u32>[src]An integer b such that there exists a multiplicative subgroup
of size b^k for some integer k.
const SMALL_SUBGROUP_BASE_ADICITY: Option<u32>[src]
const SMALL_SUBGROUP_BASE_ADICITY: Option<u32>[src]The integer k such that there exists a multiplicative subgroup
of size Self::SMALL_SUBGROUP_BASE^k.
const LARGE_SUBGROUP_ROOT_OF_UNITY: Option<Self::BigInt>[src]
const LARGE_SUBGROUP_ROOT_OF_UNITY: Option<Self::BigInt>[src]GENERATOR^((MODULUS-1) / (2^s * SMALL_SUBGROUP_BASE^SMALL_SUBGROUP_BASE_ADICITY)) Used for mixed-radix FFT.