subtract method

void subtract(
  1. Element a,
  2. Element b
)

Subtract sets v = a - b, and returns v.

Implementation

void subtract(Element a, Element b) {
  // We first add 2 * p, to guarantee the subtraction won't underflow, and
  // then subtract b (which can be up to 2^255 + 2^13 * 19).
  l0 = (a.l0 + _fFFFFFFFFFFDA) - b.l0;
  l1 = (a.l1 + _fFFFFFFFFFFFE) - b.l1;
  l2 = (a.l2 + _fFFFFFFFFFFFE) - b.l2;
  l3 = (a.l3 + _fFFFFFFFFFFFE) - b.l3;
  l4 = (a.l4 + _fFFFFFFFFFFFE) - b.l4;
  carryPropagateGeneric();
}