Mercurial > dropbear
comparison libtommath/bn_mp_sub_d.c @ 435:337c45621e81
merge of 'a9b0496634cdd25647b65e585cc3240f3fa699ee'
and 'c22be8b8f570b48e9662dac32c7b3e7148a42206'
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 22 Feb 2007 14:53:49 +0000 |
parents | 5ff8218bcee9 |
children | 60fc6476e044 |
comparison
equal
deleted
inserted
replaced
434:0aaaf68e97dc | 435:337c45621e81 |
---|---|
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 $ */ |