Mercurial > dropbear
comparison libtommath/bn_mp_sub_d.c @ 415:8b9aba1d5fa4 channel-fix
merge of '73fe066c5d9e2395354ba74756124d45c978a04d'
and 'f5014cc84558f1e8eba42dbecf9f72f94bfe6134'
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Tue, 06 Feb 2007 16:00:18 +0000 |
parents | 5ff8218bcee9 |
children | 60fc6476e044 |
comparison
equal
deleted
inserted
replaced
414:c53a26c430e5 | 415:8b9aba1d5fa4 |
---|---|
10 * additional optimizations in place. | 10 * additional optimizations in place. |
11 * | 11 * |
12 * The library is free for all purposes without any express | 12 * The library is free for all purposes without any express |
13 * guarantee it works. | 13 * guarantee it works. |
14 * | 14 * |
15 * Tom St Denis, [email protected], http://math.libtomcrypt.org | 15 * Tom St Denis, [email protected], http://math.libtomcrypt.com |
16 */ | 16 */ |
17 | 17 |
18 /* single digit subtraction */ | 18 /* single digit subtraction */ |
19 int | 19 int |
20 mp_sub_d (mp_int * a, mp_digit b, mp_int * c) | 20 mp_sub_d (mp_int * a, mp_digit b, mp_int * c) |
34 */ | 34 */ |
35 if (a->sign == MP_NEG) { | 35 if (a->sign == MP_NEG) { |
36 a->sign = MP_ZPOS; | 36 a->sign = MP_ZPOS; |
37 res = mp_add_d(a, b, c); | 37 res = mp_add_d(a, b, c); |
38 a->sign = c->sign = MP_NEG; | 38 a->sign = c->sign = MP_NEG; |
39 | |
40 /* clamp */ | |
41 mp_clamp(c); | |
42 | |
39 return res; | 43 return res; |
40 } | 44 } |
41 | 45 |
42 /* setup regs */ | 46 /* setup regs */ |
43 oldused = c->used; | 47 oldused = c->used; |
81 mp_clamp(c); | 85 mp_clamp(c); |
82 return MP_OKAY; | 86 return MP_OKAY; |
83 } | 87 } |
84 | 88 |
85 #endif | 89 #endif |
90 | |
91 /* $Source: /cvs/libtom/libtommath/bn_mp_sub_d.c,v $ */ | |
92 /* $Revision: 1.5 $ */ | |
93 /* $Date: 2006/03/31 14:18:44 $ */ |