Struct snarkvm_curves::bls12_377::FqParameters
source · [−]pub struct FqParameters;
Trait Implementations
sourceimpl FftParameters for FqParameters
impl FftParameters for FqParameters
type BigInteger = BigInteger384
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 more
sourceconst TWO_ADIC_ROOT_OF_UNITY: BigInteger = _
const TWO_ADIC_ROOT_OF_UNITY: BigInteger = _
2^s root of unity computed by GENERATOR^t
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 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 more
sourceconst 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 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