|
@ -33,13 +33,21 @@ impl MNT6Parameters for Parameters { |
|
|
Fp3::new(Fq::ZERO, Fq::ZERO, g1::Parameters::COEFF_A);
|
|
|
Fp3::new(Fq::ZERO, Fq::ZERO, g1::Parameters::COEFF_A);
|
|
|
|
|
|
|
|
|
// https://github.com/o1-labs/snarky/blob/9c21ab2bb23874604640740d646a932e813432c3/snarkette/mnt6753.ml
|
|
|
// https://github.com/o1-labs/snarky/blob/9c21ab2bb23874604640740d646a932e813432c3/snarkette/mnt6753.ml
|
|
|
const ATE_LOOP_COUNT: &'static [u64] = &[
|
|
|
|
|
|
8824542903220142080,
|
|
|
|
|
|
7711082599397206192,
|
|
|
|
|
|
8303354903384568230,
|
|
|
|
|
|
5874150271971943936,
|
|
|
|
|
|
9717849827920685054,
|
|
|
|
|
|
95829799234282493,
|
|
|
|
|
|
|
|
|
const ATE_LOOP_COUNT: &'static [i8] = &[
|
|
|
|
|
|
1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, -1, 0, 1, 0, 1, 0, -1, 0, -1, 0, 0, 1, 0, 0, 0, -1, 0,
|
|
|
|
|
|
-1, 0, -1, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
|
|
|
|
|
|
0, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 1, 0, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, -1, 0,
|
|
|
|
|
|
0, -1, 0, 1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, 1, 0, 0, -1, 0, -1, 0, 1, 0, 1, 0, 0, 0, 0,
|
|
|
|
|
|
0, 0, 0, 0, 0, -1, 0, 0, 1, 0, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, -1, 0, -1,
|
|
|
|
|
|
0, 0, 1, 0, 0, 1, 0, -1, 0, 1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 1, 0, 1, 0, 0, -1, 0, 0, -1,
|
|
|
|
|
|
0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 1, 0, -1, 0, 1, 0, 0, 0, -1, 0, 0,
|
|
|
|
|
|
-1, 0, 0, -1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
|
|
|
|
|
|
-1, 0, 0, 0, 1, 0, -1, 0, 0, 1, 0, -1, 0, 1, 0, 1, 0, -1, 0, 1, 0, 0, -1, 0, -1, 0, -1, 0,
|
|
|
|
|
|
0, 0, 0, 0, 1, 0, -1, 0, 1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0, 0, 1, 0, 1, 0, 0, -1, 0, 0, 1,
|
|
|
|
|
|
0, -1, 0, -1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, -1, 0, -1, 0, 0, 0, 0, 1, 0, 0,
|
|
|
|
|
|
0, -1, 0, 1, 0, 1, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0, 0, 0, 0, 1, 0, 0,
|
|
|
|
|
|
0, 0, 1, 0, 0, -1, 0, 0, -1, 0, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
|
|
0, 0, 0,
|
|
|
];
|
|
|
];
|
|
|
const ATE_IS_LOOP_COUNT_NEG: bool = false;
|
|
|
const ATE_IS_LOOP_COUNT_NEG: bool = false;
|
|
|
const FINAL_EXPONENT_LAST_CHUNK_1: BigInteger768 =
|
|
|
const FINAL_EXPONENT_LAST_CHUNK_1: BigInteger768 =
|
|
|