secp256k1GeSetGejVar static method

void secp256k1GeSetGejVar(
  1. Secp256k1Ge r,
  2. Secp256k1Gej a
)

Implementation

static void secp256k1GeSetGejVar(Secp256k1Ge r, Secp256k1Gej a) {
  Secp256k1Fe z2 = Secp256k1Fe(), z3 = Secp256k1Fe();
  if (secp256k1GejIsInfinity(a).toBool) {
    secp256k1GeSetInfinity(r);
    return;
  }
  r.infinity = 0;
  secp256k1FeInvVar(a.z, a.z);
  secp256k1FeSqr(z2, a.z);
  secp256k1FeMul(z3, a.z, z2);
  secp256k1FeMul(a.x, a.x, z2);
  secp256k1FeMul(a.y, a.y, z3);
  secp256k1FeSetInt(a.z, 1);
  secp256k1GeSetXy(r, a.x, a.y);
}