Struct snarkvm_curves::edwards_bls12::FrParameters
source · pub struct FrParameters;
Trait Implementations
sourceimpl FftParameters for FrParameters
impl FftParameters for FrParameters
type BigInteger = BigInteger256
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 = 1u32
const TWO_ADICITY: u32 = 1u32
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 FrParameters
impl FieldParameters for FrParameters
sourceconst GENERATOR: BigInteger = _
const GENERATOR: BigInteger = _
70865795004005329077606947863872807680085016823885970091001235374859923341923
sourceconst MODULUS: BigInteger = _
const MODULUS: BigInteger = _
MODULUS = 2111115437357092606062206234695386632838870926408408195193685246394721360383
sourceconst CAPACITY: u32 = 250u32
const CAPACITY: u32 = 250u32
The number of bits that can be reliably stored.
(Should equal
SELF::MODULUS_BITS - 1
) Read moresourceconst MODULUS_BITS: u32 = 251u32
const MODULUS_BITS: u32 = 251u32
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 = 5u32
const REPR_SHAVE_BITS: u32 = 5u32
The number of bits that must be shaved from the beginning of
the representation when randomly sampling. Read more
sourceconst T: BigInteger = _
const T: BigInteger = _
t for 2^s * t = MODULUS - 1
sourceconst T_MINUS_ONE_DIV_TWO: BigInteger = _
const T_MINUS_ONE_DIV_TWO: BigInteger = _
(t - 1) / 2
sourceimpl PoseidonDefaultParameters for FrParameters
impl PoseidonDefaultParameters for FrParameters
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 Fp256Parameters for FrParameters
Auto Trait Implementations
impl RefUnwindSafe for FrParameters
impl Send for FrParameters
impl Sync for FrParameters
impl Unpin for FrParameters
impl UnwindSafe for FrParameters
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