diff options
Diffstat (limited to 'libtommath/bn_mp_mod.c')
| -rw-r--r-- | libtommath/bn_mp_mod.c | 18 | 
1 files changed, 9 insertions, 9 deletions
| diff --git a/libtommath/bn_mp_mod.c b/libtommath/bn_mp_mod.c index 22cb069..b67467d 100644 --- a/libtommath/bn_mp_mod.c +++ b/libtommath/bn_mp_mod.c @@ -1,4 +1,4 @@ -#include <tommath.h> +#include <tommath_private.h>  #ifdef BN_MP_MOD_C  /* LibTomMath, multiple-precision integer library -- Tom St Denis   * @@ -12,10 +12,10 @@   * The library is free for all purposes without any express   * guarantee it works.   * - * Tom St Denis, tomstdenis@iahu.ca, http://math.libtomcrypt.org + * Tom St Denis, tstdenis82@gmail.com, http://libtom.org   */ -/* c = a mod b, 0 <= c < b */ +/* c = a mod b, 0 <= c < b if b > 0, b < c <= 0 if b < 0 */  int  mp_mod (mp_int * a, mp_int * b, mp_int * c)  { @@ -31,11 +31,11 @@ mp_mod (mp_int * a, mp_int * b, mp_int * c)      return res;    } -  if (t.sign != b->sign) { -    res = mp_add (b, &t, c); -  } else { +  if ((mp_iszero(&t) != MP_NO) || (t.sign == b->sign)) {      res = MP_OKAY;      mp_exch (&t, c); +  } else { +    res = mp_add (b, &t, c);    }    mp_clear (&t); @@ -43,6 +43,6 @@ mp_mod (mp_int * a, mp_int * b, mp_int * c)  }  #endif -/* $Source: /root/tcl/repos-to-convert/tcl/libtommath/bn_mp_mod.c,v $ */ -/* $Revision: 1.1.1.2 $ */ -/* $Date: 2005/09/26 16:31:56 $ */ +/* $Source$ */ +/* $Revision$ */ +/* $Date$ */ | 
