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 = BigInteger256
sourceconst TWO_ADICITY: u32 = 47u32
const TWO_ADICITY: u32 = 47u32
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 = 252u32
const CAPACITY: u32 = 252u32
The number of bits that can be reliably stored.
(Should equal SELF::MODULUS_BITS - 1
) Read more
sourceconst MODULUS_BITS: u32 = 253u32
const MODULUS_BITS: u32 = 253u32
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 = 3u32
const REPR_SHAVE_BITS: u32 = 3u32
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
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 · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more