secp256k1FeInvVar static method

void secp256k1FeInvVar(
  1. Secp256k1Fe r,
  2. Secp256k1Fe x
)

Implementation

static void secp256k1FeInvVar(Secp256k1Fe r, Secp256k1Fe x) {
  int inputIsZero = secp256k1FeNormalizesToZero(x);
  Secp256k1Fe tmp = x.clone();
  Secp256k1ModinvSigned s = Secp256k1ModinvSigned();

  secp256k1FeNormalizeVar(tmp);
  secp256k1FeToSigned62(s, tmp);
  secp256k1Modinv64Var(s, Secp256k1Const.secp256k1ConstModinfoFe);
  secp256k1FeFromSigned62(r, s);
  _cond(secp256k1FeNormalizesToZero(r) == inputIsZero, "secp256k1FeInvVar");
}