secp256k1ScalarToSigned62 static method

void secp256k1ScalarToSigned62(
  1. Secp256k1ModinvSigned r,
  2. Secp256k1Scalar a
)

Implementation

static void secp256k1ScalarToSigned62(
    Secp256k1ModinvSigned r, Secp256k1Scalar a) {
  final BigInt m62 = Secp256k1Const.mask62;
  BigInt a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3];
  secp256k1ScalarVerify(a);

  r[0] = a0 & m62;
  r[1] = ((a0 >> 62 | a1 << 2) & m62);
  r[2] = ((a1 >> 60 | a2 << 4) & m62);
  r[3] = ((a2 >> 58 | a3 << 6) & m62);
  r[4] = (a3 >> 56);
}