G1NativeAffinePoint.fromProjective constructor

G1NativeAffinePoint.fromProjective(
  1. G1NativeProjective p
)

Implementation

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