secp256k1ECmultGenScalarDiff static method

void secp256k1ECmultGenScalarDiff(
  1. Secp256k1Scalar diff
)

Implementation

static void secp256k1ECmultGenScalarDiff(Secp256k1Scalar diff) {
  int i;

  /// Compute scalar -1/2.
  Secp256k1Scalar neghalf = Secp256k1Scalar();
  secp256k1ScalarHalf(neghalf, _secp256k1ScalarOne);
  secp256k1ScalarNegate(neghalf, neghalf);

  /// Compute offset = 2^(combBits - 1).
  diff.set(_secp256k1ScalarOne);
  for (i = 0; i < Secp256k1Const.combBits - 1; ++i) {
    secp256k1ScalarAdd(diff, diff, diff);
  }

  /// The result is the sum 2^(combBits - 1) + (-1/2).
  secp256k1ScalarAdd(diff, diff, neghalf);
}