Lines Matching full:carry

36  * in "out" and returning the carry in 'carry' parameter on success. This
61 word_t *carry) in _nn_cnd_add() argument
68 MUST_HAVE((carry != NULL), ret, err); in _nn_cnd_add()
80 /* Perform addition one word at a time, propagating the carry. */ in _nn_cnd_add()
86 /* There is at most one carry going out. */ in _nn_cnd_add()
90 (*carry) = _carry; in _nn_cnd_add()
98 * in "out", including the potential carry overflowing past the maximal
112 * For finer carry propagation and length control the internal "_nn_cnd_add"
121 word_t carry; in nn_cnd_add() local
124 ret = _nn_cnd_add(cnd, out, in1, in2, &carry); EG(ret, err); in nn_cnd_add()
126 /* We cannot allow a non-zero carry if out->wlen is at its limit */ in nn_cnd_add()
127 MUST_HAVE(((out->wlen != NN_MAX_WORD_LEN) || (!carry)), ret, err); in nn_cnd_add()
131 * To maintain constant time, we perform carry addition in all in nn_cnd_add()
132 * cases. If carry is 0, no change is performed in practice, in nn_cnd_add()
137 out->val[out->wlen] = carry; in nn_cnd_add()
138 out->wlen = (u8)(out->wlen + carry); in nn_cnd_add()
147 * including the potential carry overflowing past the maximal length of
181 word_t carry, tmp; in nn_add_word() local
195 /* No matter its value, propagate the carry. */ in nn_add_word()
196 carry = w; in nn_add_word()
198 tmp = (word_t)(in1->val[i] + carry); in nn_add_word()
199 carry = (word_t)(tmp < in1->val[i]); in nn_add_word()
203 MUST_HAVE(((out->wlen != NN_MAX_WORD_LEN) || (!carry)), ret, err); in nn_add_word()
206 * To maintain constant time, we perform carry addition in all in nn_add_word()
207 * cases. If carry is 0, no change is performed in practice, in nn_add_word()
212 out->val[out->wlen] = carry; in nn_add_word()
213 out->wlen = (u8)(out->wlen + carry); in nn_add_word()
346 MUST_HAVE((p->wlen < NN_MAX_WORD_LEN), ret, err); /* otherwise carry could overflow */ in _nn_mod_add()
357 * We could also use _nn_cnd_add to catch the carry and deal in _nn_mod_add()
360 * of in1 and in2 so getting a carry out does not necessarily mean in _nn_mod_add()
413 MUST_HAVE((p->wlen < NN_MAX_WORD_LEN), ret, err); /* otherwise carry could overflow */ in _nn_mod_inc()
472 MUST_HAVE((p->wlen < NN_MAX_WORD_LEN), ret, err); /* otherwise carry could overflow */ in _nn_mod_sub()
539 MUST_HAVE((p->wlen < NN_MAX_WORD_LEN), ret, err); /* otherwise carry could overflow */ in _nn_mod_dec()