secp256k1ScalarInverse static method

void secp256k1ScalarInverse(
  1. Secp256k1Scalar r,
  2. Secp256k1Scalar x
)

Implementation

static void secp256k1ScalarInverse(Secp256k1Scalar r, Secp256k1Scalar x) {
  Secp256k1ModinvSigned s = Secp256k1ModinvSigned();
  int zeroIn = secp256k1ScalarIsZero(x);
  secp256k1ScalarVerify(x);

  secp256k1ScalarToSigned62(s, x);
  secp256k1Modinv64(s, Secp256k1Const.secp256k1ConstModinfoScalar);
  secp256k1ScalarFromSigned62(r, s);

  secp256k1ScalarVerify(r);
  _cond(secp256k1ScalarIsZero(r) == zeroIn, "secp256k1ScalarInverse");
}