add method

JubJubFr add(
  1. JubJubFr rhs
)

Implementation

JubJubFr add(JubJubFr rhs) {
  List<BigInt> t = BigintUtils.adc(limbs[0], rhs.limbs[0], BigInt.zero);
  BigInt d0 = t[0];
  BigInt carry = t[1];

  t = BigintUtils.adc(limbs[1], rhs.limbs[1], carry);
  BigInt d1 = t[0];
  carry = t[1];

  t = BigintUtils.adc(limbs[2], rhs.limbs[2], carry);
  BigInt d2 = t[0];
  carry = t[1];

  t = BigintUtils.adc(limbs[3], rhs.limbs[3], carry);
  BigInt d3 = t[0];
  return JubJubFr([d0, d1, d2, d3]).sub(JubJubFrConst.modulus);
}