secp256k1ECmultTableGetGeLambda static method

void secp256k1ECmultTableGetGeLambda(
  1. Secp256k1Ge r,
  2. List<Secp256k1Ge> pre,
  3. List<Secp256k1Fe> x,
  4. int n,
  5. int w,
)

Implementation

static void secp256k1ECmultTableGetGeLambda(
    Secp256k1Ge r, List<Secp256k1Ge> pre, List<Secp256k1Fe> x, int n, int w) {
  secp256k1EcmultTableVerify(n, w);
  if (n > 0) {
    secp256k1GeSetXy(r, x[(n - 1) ~/ 2], pre[(n - 1) ~/ 2].y);
  } else {
    secp256k1GeSetXy(r, x[(-n - 1) ~/ 2], pre[(-n - 1) ~/ 2].y);
    secp256k1FeNegate((r.y), (r.y), 1);
  }
}