secp256k1GeIsValidVar static method

int secp256k1GeIsValidVar(
  1. Secp256k1Ge a
)

Implementation

static int secp256k1GeIsValidVar(Secp256k1Ge a) {
  Secp256k1Fe y2 = Secp256k1Fe(), x3 = Secp256k1Fe();
  if (a.infinity.toBool) {
    return 0;
  }

  /// y^2 = x^3 + 7
  secp256k1FeSqr(y2, a.y);
  secp256k1FeSqr(x3, a.x);
  secp256k1FeMul(x3, x3, a.x);
  secp256k1FeAddInt(x3, Secp256k1Const.secp256k1B);
  return secp256k1FeEqual(y2, x3);
}