Home | History | Annotate | Download | only in elliptic

Lines Matching full:carry

219 // p256ReduceCarry adds a multiple of p in order to cancel |carry|,
222 // On entry: carry < 2**3, inout[0,2,...] < 2**29, inout[1,3,...] < 2**28.
224 func p256ReduceCarry(inout *[p256Limbs]uint32, carry uint32) {
225 carry_mask := nonZeroToAllOnes(carry)
227 inout[0] += carry << 1
229 // carry < 2**3 thus (carry << 11) < 2**14 and we added 2**28 in the
231 inout[3] -= carry << 11
235 inout[6] -= carry << 22
236 // This may underflow if carry is non-zero but, if so, we'll fix it in the
239 inout[7] += carry << 25
247 carry := uint32(0)
250 out[i] += carry
251 carry = out[i] >> 29
260 out[i] += carry
261 carry = out[i] >> 28
265 p256ReduceCarry(out, carry)
285 var carry uint32
290 out[i] += carry
291 carry = out[i] >> 29
301 out[i] += carry
302 carry = out[i] >> 28
306 p256ReduceCarry(out, carry)
327 var carry, x, xMask uint32
338 carry = tmp2[1] >> 28
346 tmp2[i] += carry
347 carry = tmp2[i] >> 29
358 tmp2[i] += carry
359 carry = tmp2[i] >> 28
366 tmp2[17] += carry
473 // We merge the right shift with a carry chain. The words above 2**257 have
475 carry = 0
481 out[i] += carry
483 carry = out[i] >> 29
488 out[i] += carry
489 carry = out[i] >> 28
494 out[8] += carry
495 carry = out[8] >> 29
498 p256ReduceCarry(out, carry)
730 var carry uint32
734 out[i] += carry
735 carry = out[i] >> 29
744 out[i] += carry
745 carry = out[i] >> 28
749 p256ReduceCarry(out, carry)
757 var carry, nextCarry uint32
763 out[i] += carry
764 carry = nextCarry + (out[i] >> 29)
774 out[i] += carry
775 carry = nextCarry + (out[i] >> 28)
779 p256ReduceCarry(out, carry)
787 var carry, nextCarry uint32
793 out[i] += carry
794 carry = nextCarry + (out[i] >> 29)
804 out[i] += carry
805 carry = nextCarry + (out[i] >> 28)
809 p256ReduceCarry(out, carry)