double method

  1. @override
G2NativeProjective double()
override

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);
}