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);
  }
}