double method
Point doubling.
Implementation
@override
G2NativeProjective double() {
Bls12NativeFp2 t0 = y.square();
Bls12NativeFp2 z3 = t0 + t0;
z3 = z3 + z3;
z3 = z3 + z3;
Bls12NativeFp2 t1 = y * z;
Bls12NativeFp2 t2 = z.square();
t2 = mulBy3b(t2);
Bls12NativeFp2 x3 = t2 * z3;
Bls12NativeFp2 y3 = t0 + t2;
z3 = t1 * z3;
t1 = t2 + t2;
t2 = t1 + t2;
t0 = t0 - t2;
y3 = t0 * y3;
y3 = x3 + y3;
t1 = x * y;
x3 = t0 * t1;
x3 = x3 + x3;
return G2NativeProjective(x: x3, y: y3, z: z3);
}