Struct snarkvm_curves::bls12_377::FqParameters
source · pub struct FqParameters;
Trait Implementations
sourceimpl FftParameters for FqParameters
impl FftParameters for FqParameters
type BigInteger = BigInteger384
sourceconst POWERS_OF_ROOTS_OF_UNITY: &'static [BigInteger] = _
const POWERS_OF_ROOTS_OF_UNITY: &'static [BigInteger] = _
TWO_ADIC_ROOT_OF_UNITY^2^i
for i := 0..TWO_ADICITY-1
sourceconst TWO_ADICITY: u32 = 46u32
const TWO_ADICITY: u32 = 46u32
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
.
2^s * t = MODULUS - 1 with t odd. This is the two-adicity of the prime. Read moresourceconst TWO_ADIC_ROOT_OF_UNITY: BigInteger = _
const TWO_ADIC_ROOT_OF_UNITY: BigInteger = _
2^s root of unity, defined as
GENERATOR^t
.sourceconst SMALL_SUBGROUP_BASE: Option<u32> = None
const SMALL_SUBGROUP_BASE: Option<u32> = None
An integer
b
such that there exists a multiplicative subgroup
of size b^k
for some integer k
. Read moresourceconst SMALL_SUBGROUP_BASE_ADICITY: Option<u32> = None
const SMALL_SUBGROUP_BASE_ADICITY: Option<u32> = None
The integer
k
such that there exists a multiplicative subgroup
of size Self::SMALL_SUBGROUP_BASE^k
. Read moresourceconst LARGE_SUBGROUP_ROOT_OF_UNITY: Option<Self::BigInteger> = None
const LARGE_SUBGROUP_ROOT_OF_UNITY: Option<Self::BigInteger> = None
GENERATOR^((MODULUS-1) / (2^s *
SMALL_SUBGROUP_BASE^SMALL_SUBGROUP_BASE_ADICITY)) Used for mixed-radix FFT. Read more
sourceimpl FieldParameters for FqParameters
impl FieldParameters for FqParameters
sourceconst GENERATOR: BigInteger = _
const GENERATOR: BigInteger = _
GENERATOR = -5
sourceconst MODULUS: BigInteger = _
const MODULUS: BigInteger = _
MODULUS = 258664426012969094010652733694893533536393512754914660539884262666720468348340822774968888139573360124440321458177
sourceconst T: BigInteger = _
const T: BigInteger = _
T = (MODULUS - 1) // 2^S = 3675842578061421676390135839012792950148785745837396071634149488243117337281387659330802195819009059
sourceconst T_MINUS_ONE_DIV_TWO: BigInteger = _
const T_MINUS_ONE_DIV_TWO: BigInteger = _
(T - 1) // 2 = 1837921289030710838195067919506396475074392872918698035817074744121558668640693829665401097909504529
sourceconst CAPACITY: u32 = 376u32
const CAPACITY: u32 = 376u32
The number of bits that can be reliably stored.
(Should equal
SELF::MODULUS_BITS - 1
) Read moresourceconst MODULUS_BITS: u32 = 377u32
const MODULUS_BITS: u32 = 377u32
The number of bits needed to represent the
Self::MODULUS
.sourceconst MODULUS_MINUS_ONE_DIV_TWO: BigInteger = _
const MODULUS_MINUS_ONE_DIV_TWO: BigInteger = _
(Self::MODULUS - 1) / 2
sourceconst R: BigInteger = _
const R: BigInteger = _
R = 2^256 % Self::MODULUS
sourceconst R2: BigInteger = _
const R2: BigInteger = _
R2 = R^2 % Self::MODULUS
sourceconst REPR_SHAVE_BITS: u32 = 7u32
const REPR_SHAVE_BITS: u32 = 7u32
The number of bits that must be shaved from the beginning of
the representation when randomly sampling. Read more
sourceimpl PoseidonDefaultParameters for FqParameters
impl PoseidonDefaultParameters for FqParameters
sourceconst PARAMS_OPT_FOR_CONSTRAINTS: [PoseidonDefaultParametersEntry; 7] = _
const PARAMS_OPT_FOR_CONSTRAINTS: [PoseidonDefaultParametersEntry; 7] = _
An array of the parameters optimized for constraints
(rate, alpha, full_rounds, partial_rounds, skip_matrices)
for rate = 2, 3, 4, 5, 6, 7, 8 Read more
impl Fp384Parameters for FqParameters
Auto Trait Implementations
impl RefUnwindSafe for FqParameters
impl Send for FqParameters
impl Sync for FqParameters
impl Unpin for FqParameters
impl UnwindSafe for FqParameters
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more