1 #include <tommath.h> 2 #ifdef BN_MP_CMP_D_C 3 /* LibTomMath, multiple-precision integer library -- Tom St Denis 4 * 5 * LibTomMath is a library that provides multiple-precision 6 * integer arithmetic as well as number theoretic functionality. 7 * 8 * The library was designed directly after the MPI library by 9 * Michael Fromberger but has been written from scratch with 10 * additional optimizations in place. 11 * 12 * The library is free for all purposes without any express 13 * guarantee it works. 14 * 15 * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com 16 */ 17 18 /* compare a digit */ mp_cmp_d(mp_int * a,mp_digit b)19int mp_cmp_d(mp_int * a, mp_digit b) 20 { 21 /* compare based on sign */ 22 if (a->sign == MP_NEG) { 23 return MP_LT; 24 } 25 26 /* compare based on magnitude */ 27 if (a->used > 1) { 28 return MP_GT; 29 } 30 31 /* compare the only digit of a to b */ 32 if (a->dp[0] > b) { 33 return MP_GT; 34 } else if (a->dp[0] < b) { 35 return MP_LT; 36 } else { 37 return MP_EQ; 38 } 39 } 40 #endif 41 42 /* $Source: /cvs/libtom/libtommath/bn_mp_cmp_d.c,v $ */ 43 /* $Revision: 1.3 $ */ 44 /* $Date: 2006/03/31 14:18:44 $ */ 45