ark_msm/
types.rs

1use ark_bls12_381::G1Affine;
2use ark_ec::{
3    AffineCurve,
4    models::ModelParameters
5};
6use ark_ff::{FpParameters, PrimeField};
7
8pub const G1_SCALAR_SIZE: u32 =
9    <<<G1Affine as AffineCurve>::ScalarField as PrimeField>::Params as FpParameters>::MODULUS_BITS
10        as u32;
11pub const G1_SCALAR_SIZE_GLV: u32 = 128u32;
12pub const GROUP_SIZE_IN_BITS: usize = 6;
13pub const GROUP_SIZE: usize = 1 << GROUP_SIZE_IN_BITS;
14
15pub type G1BigInt = <<G1Affine as AffineCurve>::ScalarField as PrimeField>::BigInt;
16pub type G1Projective = <G1Affine as AffineCurve>::Projective;
17pub type G1ScalarField = <G1Affine as AffineCurve>::ScalarField;
18pub type G1BaseField = <G1Affine as AffineCurve>::BaseField;
19
20pub type BigInt<P> = <<P as ModelParameters>::ScalarField as PrimeField>::BigInt;