secp256k1ScalarFromSigned62 static method
Implementation
static void secp256k1ScalarFromSigned62(
Secp256k1Scalar r, Secp256k1ModinvSigned a) {
BigInt a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4];
_cond(a0 >> 62 == BigInt.zero, "secp256k1ScalarFromSigned62");
_cond(a1 >> 62 == BigInt.zero, "secp256k1ScalarFromSigned62");
_cond(a2 >> 62 == BigInt.zero, "secp256k1ScalarFromSigned62");
_cond(a3 >> 62 == BigInt.zero, "secp256k1ScalarFromSigned62");
_cond(a4 >> 8 == BigInt.zero, "secp256k1ScalarFromSigned62");
r[0] = (a0 | a1 << 62).toUnsigned64;
r[1] = (a1 >> 2 | a2 << 60).toUnsigned64;
r[2] = (a2 >> 4 | a3 << 58).toUnsigned64;
r[3] = (a3 >> 6 | a4 << 56).toUnsigned64;
secp256k1ScalarVerify(r);
}