Lines Matching refs:carry

48  * The calling function has to handle a possible final carry.
55 mpd_uint_t carry = 0;
62 s = u[i] + (v[i] + carry);
63 carry = (s < u[i]) | (s >= MPD_RADIX);
64 w[i] = carry ? s-MPD_RADIX : s;
66 /* if there is a carry, propagate it */
67 for (; carry && i < m; i++) {
68 s = u[i] + carry;
69 carry = (s == MPD_RADIX);
70 w[i] = carry ? 0 : s;
77 return carry;
88 mpd_uint_t carry = 0;
95 s = w[i] + (u[i] + carry);
96 carry = (s < w[i]) | (s >= MPD_RADIX);
97 w[i] = carry ? s-MPD_RADIX : s;
99 /* if there is a carry, propagate it */
100 for (; carry; i++) {
101 s = w[i] + carry;
102 carry = (s == MPD_RADIX);
103 w[i] = carry ? 0 : s;
109 * final carry. Assumption: m > 0.
115 mpd_uint_t carry;
122 carry = (s < v) | (s >= MPD_RADIX);
123 w[0] = carry ? s-MPD_RADIX : s;
125 /* if there is a carry, propagate it */
126 for (i = 1; carry && i < m; i++) {
127 s = w[i] + carry;
128 carry = (s == MPD_RADIX);
129 w[i] = carry ? 0 : s;
132 return carry;
135 /* Increment u. The calling function has to handle a possible carry. */
140 mpd_uint_t carry = 1;
145 /* if there is a carry, propagate it */
146 for (i = 0; carry && i < n; i++) {
147 s = u[i] + carry;
148 carry = (s == MPD_RADIX);
149 u[i] = carry ? 0 : s;
152 return carry;
220 mpd_uint_t carry = 0;
228 lo = carry + lo;
229 if (lo < carry) hi++;
231 _mpd_div_words_r(&carry, &w[i], hi, lo);
233 w[i] = carry;
246 mpd_uint_t carry;
252 carry = 0;
258 lo = carry + lo;
259 if (lo < carry) hi++;
261 _mpd_div_words_r(&carry, &w[i+j], hi, lo);
263 w[j+m] = carry;
313 mpd_uint_t carry;
362 carry = 0;
367 lo = carry + lo;
368 if (lo < carry) hi++;
373 carry = (u[i+j] < x);
374 u[i+j] = carry ? x+MPD_RADIX : x;
375 carry += hi;
379 if (carry) {
560 * final carry. Assumption: m > 0.
566 mpd_uint_t carry;
573 carry = (s < v) | (s >= b);
574 w[0] = carry ? s-b : s;
576 /* if there is a carry, propagate it */
577 for (i = 1; carry && i < m; i++) {
578 s = w[i] + carry;
579 carry = (s == b);
580 w[i] = carry ? 0 : s;
583 return carry;
586 /* w := product of u (len n) and v (single word). Return carry. */
591 mpd_uint_t carry = 0;
599 lo = carry + lo;
600 if (lo < carry) hi++;
602 _mpd_div_words_r(&carry, &w[i], hi, lo);
605 return carry;
614 mpd_uint_t carry = 0;
622 lo = carry + lo;
623 if (lo < carry) hi++;
625 _mpd_div_words(&carry, &w[i], hi, lo, b);
628 return carry;