Struct snarkvm_curves::bls12_377::FrParameters
source · [−]pub struct FrParameters;
Trait Implementations
sourceimpl FftParameters for FrParameters
impl FftParameters for FrParameters
sourceconst TWO_ADIC_ROOT_OF_UNITY: BigInteger
const TWO_ADIC_ROOT_OF_UNITY: BigInteger
TWO_ADIC_ROOT_OF_UNITY = 8065159656716812877374967518403273466521432693661810619979959746626482506078 Encoded in Montgomery form, the value is (8065159656716812877374967518403273466521432693661810619979959746626482506078 * R % q) = 7039866554349711480672062101017509031917008525101396696252683426045173093960
type BigInteger = BigInteger
sourceconst TWO_ADICITY: u32
const TWO_ADICITY: u32
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 more
sourceconst SMALL_SUBGROUP_BASE: Option<u32>
const SMALL_SUBGROUP_BASE: Option<u32>
An integer b
such that there exists a multiplicative subgroup
of size b^k
for some integer k
. Read more
sourceconst SMALL_SUBGROUP_BASE_ADICITY: Option<u32>
const SMALL_SUBGROUP_BASE_ADICITY: Option<u32>
The integer k
such that there exists a multiplicative subgroup
of size Self::SMALL_SUBGROUP_BASE^k
. Read more
sourceconst LARGE_SUBGROUP_ROOT_OF_UNITY: Option<Self::BigInteger>
const LARGE_SUBGROUP_ROOT_OF_UNITY: Option<Self::BigInteger>
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
GENERATOR = 22 Encoded in Montgomery form, so the value is (22 * R) % q = 5642976643016801619665363617888466827793962762719196659561577942948671127251
sourceconst MODULUS: BigInteger
const MODULUS: BigInteger
MODULUS = 8444461749428370424248824938781546531375899335154063827935233455917409239041
sourceconst MODULUS_MINUS_ONE_DIV_TWO: BigInteger
const MODULUS_MINUS_ONE_DIV_TWO: BigInteger
(r - 1)/2 = 4222230874714185212124412469390773265687949667577031913967616727958704619520
sourceconst T: BigInteger
const T: BigInteger
t = (r - 1) / 2^s = 60001509534603559531609739528203892656505753216962260608619555
sourceconst T_MINUS_ONE_DIV_TWO: BigInteger
const T_MINUS_ONE_DIV_TWO: BigInteger
(t - 1) / 2 = 30000754767301779765804869764101946328252876608481130304309777
sourceconst CAPACITY: u32
const CAPACITY: u32
The number of bits that can be reliably stored.
(Should equal SELF::MODULUS_BITS - 1
) Read more
sourceconst MODULUS_BITS: u32
const MODULUS_BITS: u32
The number of bits needed to represent the Self::MODULUS
.
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
const REPR_SHAVE_BITS: u32
The number of bits that must be shaved from the beginning of the representation when randomly sampling. Read more
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
sourceconst PARAMS_OPT_FOR_WEIGHTS: [PoseidonDefaultParametersEntry; 7]
const PARAMS_OPT_FOR_WEIGHTS: [PoseidonDefaultParametersEntry; 7]
An array of the parameters optimized for weights (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 T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more