G2NativePrepared.fromG2 constructor
G2NativePrepared.fromG2()
Implementation
factory G2NativePrepared.fromG2(G2NativeAffinePoint q) {
bool isIdentity = q.isIdentity();
final a = G2NativeAffinePoint.conditionalSelect(
q,
G2NativeAffinePoint.generator(),
isIdentity,
);
final adder = _G2AffineMillerLoopDriver(
cur: G2NativeProjective.fromAffine(q),
base: a,
);
Bls12PairingUtils.millerLoop(adder);
assert(adder.length == 68);
return G2NativePrepared(coeffs: adder._coeffs, infinity: isIdentity);
}