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 $ */