G2NativeAffinePoint.fromProjective constructor

G2NativeAffinePoint.fromProjective(
  1. G2NativeProjective p
)

Implementation

factory G2NativeAffinePoint.fromProjective(G2NativeProjective p) {
  final zInv = p.z.invert() ?? Bls12NativeFp2.zero();
  final x = p.x * zInv;
  final y = p.y * zInv;
  final tmp = G2NativeAffinePoint(x: x, y: y, infinity: false);
  return G2NativeAffinePoint.conditionalSelect(
    tmp,
    G2NativeAffinePoint.identity(),
    zInv.isZero(),
  );
}