|
|
@ -19,22 +19,19 @@ impl BW6Config for Config { |
|
|
|
// X is the same as in bls12_381
|
|
|
|
const X: BigInteger = BigInt!("0xd201000000010000");
|
|
|
|
const X_IS_NEGATIVE: bool = true;
|
|
|
|
// [(-X)+1]/3, since X < 0
|
|
|
|
// X
|
|
|
|
const ATE_LOOP_COUNT_1: &'static [u64] = &[0xd201000000010000];
|
|
|
|
const X_MINUS_1_DIV_3: BigInteger = BigInt!("0x460055555555aaab");
|
|
|
|
// -[(-X)+1]
|
|
|
|
const ATE_LOOP_COUNT_1: &'static [u64] = &[0xd20100000000ffff];
|
|
|
|
const ATE_LOOP_COUNT_1_IS_NEGATIVE: bool = true;
|
|
|
|
// -[(-X)^3-(-X)^2-(-X)] in 2-NAF
|
|
|
|
// X^2-X-1
|
|
|
|
const ATE_LOOP_COUNT_2: &'static [i8] = &[
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 1, 0, 0, 0, 0, 0, 0, -1,
|
|
|
|
0, -1, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0,
|
|
|
|
0, 0, 0, -1, 0, 1, 0, -1, 0, 1, 0, 0, 1, 0, -1, 0, 1, 0, 1, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0,
|
|
|
|
0, 0, 0, 0, -1, 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, 0, 1, 0, 1, 0, 1, 0, -1, 0, 1, 0, 0, 1,
|
|
|
|
-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
|
|
|
|
1, 0, -1, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, -1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, -1, 0, -1, 0, 1, 0, 0, 1,
|
|
|
|
0, 0, 0, -1, 0, -1, 0, -1, 0, 1,
|
|
|
|
];
|
|
|
|
const ATE_LOOP_COUNT_2_IS_NEGATIVE: bool = true;
|
|
|
|
const ATE_LOOP_COUNT_2_IS_NEGATIVE: bool = false;
|
|
|
|
const TWIST_TYPE: TwistType = TwistType::M;
|
|
|
|
const H_T: i64 = -4;
|
|
|
|
const H_Y: i64 = -6;
|
|
|
|