neg method
Implementation
JubJubFr neg() {
// Compute modulus - self
List<BigInt> t = BigintUtils.sbb(
JubJubFrConst.modulus.limbs[0],
limbs[0],
BigInt.zero,
);
BigInt d0 = t[0];
BigInt borrow = t[1];
t = BigintUtils.sbb(JubJubFrConst.modulus.limbs[1], limbs[1], borrow);
BigInt d1 = t[0];
borrow = t[1];
t = BigintUtils.sbb(JubJubFrConst.modulus.limbs[2], limbs[2], borrow);
BigInt d2 = t[0];
borrow = t[1];
t = BigintUtils.sbb(JubJubFrConst.modulus.limbs[3], limbs[3], borrow);
BigInt d3 = t[0];
final oRed = limbs[0] | limbs[1] | limbs[2] | limbs[3];
final isZero = oRed == BigInt.zero;
final mask = isZero ? BigInt.zero : BinaryOps.maskBig64;
return JubJubFr([d0 & mask, d1 & mask, d2 & mask, d3 & mask]);
}