secp256k1FeStorageCmov static method

void secp256k1FeStorageCmov(
  1. Secp256k1FeStorage r,
  2. Secp256k1FeStorage a,
  3. int flag
)

Implementation

static void secp256k1FeStorageCmov(
    Secp256k1FeStorage r, Secp256k1FeStorage a, int flag) {
  BigInt mask0, mask1;
  int vflag = flag;
  mask0 = vflag.toBigInt + ~(BigInt.zero);
  mask1 = ~mask0;
  r[0] = (r[0] & mask0) | (a[0] & mask1);
  r[1] = (r[1] & mask0) | (a[1] & mask1);
  r[2] = (r[2] & mask0) | (a[2] & mask1);
  r[3] = (r[3] & mask0) | (a[3] & mask1);
}