Lines Matching refs:out
60 ATTRIBUTE_WARN_UNUSED_RET static int _nn_cnd_add(int cnd, nn_t out, nn_src_t in1, nn_src_t in2, in _nn_cnd_add() argument
74 if ((out != in1) && (out != in2)) { in _nn_cnd_add()
75 ret = nn_init(out, (u16)(loop_wlen * WORD_BYTES)); EG(ret, err); in _nn_cnd_add()
77 ret = nn_set_wlen(out, loop_wlen); EG(ret, err); in _nn_cnd_add()
84 out->val[i] = (word_t)(tmp + _carry); in _nn_cnd_add()
85 carry2 = (word_t)(out->val[i] < tmp); in _nn_cnd_add()
119 int nn_cnd_add(int cnd, nn_t out, nn_src_t in1, nn_src_t in2) in nn_cnd_add() argument
124 ret = _nn_cnd_add(cnd, out, in1, in2, &carry); EG(ret, err); in nn_cnd_add()
127 MUST_HAVE(((out->wlen != NN_MAX_WORD_LEN) || (!carry)), ret, err); in nn_cnd_add()
129 if (out->wlen != NN_MAX_WORD_LEN) { 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()
158 int nn_add(nn_t out, nn_src_t in1, nn_src_t in2) in nn_add() argument
160 return nn_cnd_add(1, out, in1, in2); in nn_add()
179 ATTRIBUTE_WARN_UNUSED_RET static int nn_add_word(nn_t out, nn_src_t in1, word_t w) in nn_add_word() argument
189 if (out != in1) { in nn_add_word()
190 ret = nn_init(out, (u16)(n_wlen * WORD_BYTES)); EG(ret, err); in nn_add_word()
192 ret = nn_set_wlen(out, n_wlen); EG(ret, err); in nn_add_word()
200 out->val[i] = tmp; in nn_add_word()
203 MUST_HAVE(((out->wlen != NN_MAX_WORD_LEN) || (!carry)), ret, err); in nn_add_word()
204 if (out->wlen != NN_MAX_WORD_LEN) { 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()
231 int nn_inc(nn_t out, nn_src_t in1) in nn_inc() argument
233 return nn_add_word(out, in1, WORD(1)); in nn_inc()
250 int nn_cnd_sub(int cnd, nn_t out, nn_src_t in1, nn_src_t in2) in nn_cnd_sub() argument
262 if ((out != in1) && (out != in2)) { in nn_cnd_sub()
263 ret = nn_init(out, (u16)(loop_wlen * WORD_BYTES)); EG(ret, err); in nn_cnd_sub()
265 ret = nn_set_wlen(out, in1->wlen); EG(ret, err); in nn_cnd_sub()
272 out->val[i] = (word_t)(tmp - borrow); in nn_cnd_sub()
273 borrow2 = (word_t)(out->val[i] > tmp); in nn_cnd_sub()
286 int nn_sub(nn_t out, nn_src_t in1, nn_src_t in2) in nn_sub() argument
288 return nn_cnd_sub(1, out, in1, in2); in nn_sub()
296 int nn_dec(nn_t out, nn_src_t in1) in nn_dec() argument
305 ret = nn_set_wlen(out, n_wlen); EG(ret, err); in nn_dec()
312 out->val[i] = tmp; in nn_dec()
339 static int _nn_mod_add(nn_t out, nn_src_t in1, nn_src_t in2, nn_src_t p) in _nn_mod_add() argument
350 ret = nn_add(out, in1, in2); EG(ret, err); in _nn_mod_add()
363 ret = nn_set_wlen(out, (u8)(p->wlen + 1)); EG(ret, err); in _nn_mod_add()
364 ret = nn_cmp(out, p, &cmp); EG(ret, err); in _nn_mod_add()
366 ret = nn_cnd_sub(larger, out, out, p); EG(ret, err); in _nn_mod_add()
367 ret = nn_set_wlen(out, p->wlen); in _nn_mod_add()
379 int nn_mod_add(nn_t out, nn_src_t in1, nn_src_t in2, nn_src_t p) in nn_mod_add() argument
383 if(out == p){ in nn_mod_add()
388 ret = _nn_mod_add(out, in1, in2, &p_cpy); in nn_mod_add()
395 ret = _nn_mod_add(out, in1, in2, p); in nn_mod_add()
407 static int _nn_mod_inc(nn_t out, nn_src_t in1, nn_src_t p) in _nn_mod_inc() argument
416 ret = nn_inc(out, in1); EG(ret, err); in _nn_mod_inc()
417 ret = nn_set_wlen(out, (u8)(p->wlen + 1)); EG(ret, err); /* see comment in nn_mod_add() */ in _nn_mod_inc()
418 ret = nn_cmp(out, p, &cmp); EG(ret, err); in _nn_mod_inc()
420 ret = nn_cnd_sub(larger, out, out, p); EG(ret, err); in _nn_mod_inc()
421 ret = nn_set_wlen(out, p->wlen); in _nn_mod_inc()
432 int nn_mod_inc(nn_t out, nn_src_t in1, nn_src_t p) in nn_mod_inc() argument
436 if(out == p){ in nn_mod_inc()
441 ret = _nn_mod_inc(out, in1, &p_cpy); in nn_mod_inc()
448 ret = _nn_mod_inc(out, in1, p); in nn_mod_inc()
462 static int _nn_mod_sub(nn_t out, nn_src_t in1, nn_src_t in2, nn_src_t p) in _nn_mod_sub() argument
477 if (in2 == out) { in _nn_mod_sub()
488 ret = nn_cnd_add(smaller, out, in1, p); EG(ret, err); in _nn_mod_sub()
489 ret = nn_set_wlen(out, (u8)(p->wlen + 1)); EG(ret, err);/* See Comment in nn_mod_add() */ in _nn_mod_sub()
490 ret = nn_sub(out, out, in2_); EG(ret, err); in _nn_mod_sub()
491 ret = nn_set_wlen(out, p->wlen); in _nn_mod_sub()
505 int nn_mod_sub(nn_t out, nn_src_t in1, nn_src_t in2, nn_src_t p) in nn_mod_sub() argument
509 if(out == p){ in nn_mod_sub()
514 ret = _nn_mod_sub(out, in1, in2, &p_cpy); in nn_mod_sub()
521 ret = _nn_mod_sub(out, in1, in2, p); in nn_mod_sub()
533 static int _nn_mod_dec(nn_t out, nn_src_t in1, nn_src_t p) in _nn_mod_dec() argument
545 ret = nn_cnd_add(iszero, out, in1, p); EG(ret, err); in _nn_mod_dec()
546 ret = nn_set_wlen(out, (u8)(p->wlen + 1)); EG(ret, err); /* See Comment in nn_mod_add() */ in _nn_mod_dec()
547 ret = nn_dec(out, out); EG(ret, err); in _nn_mod_dec()
548 ret = nn_set_wlen(out, p->wlen); in _nn_mod_dec()
559 int nn_mod_dec(nn_t out, nn_src_t in1, nn_src_t p) in nn_mod_dec() argument
563 if(out == p){ in nn_mod_dec()
568 ret = _nn_mod_dec(out, in1, &p_cpy); in nn_mod_dec()
575 ret = _nn_mod_dec(out, in1, p); in nn_mod_dec()
592 int nn_mod_neg(nn_t out, nn_src_t in, nn_src_t p) in nn_mod_neg() argument
605 ret = nn_init(out, 0); EG(ret, err); in nn_mod_neg()
606 ret = nn_zero(out); EG(ret, err); in nn_mod_neg()
608 ret = nn_sub(out, p, in); EG(ret, err); in nn_mod_neg()