Mercurial > dropbear
diff libtommath/bn_mp_gcd.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 |
line wrap: on
line diff
--- a/libtommath/bn_mp_gcd.c Thu Feb 22 14:52:46 2007 +0000 +++ b/libtommath/bn_mp_gcd.c Thu Feb 22 14:53:49 2007 +0000 @@ -12,7 +12,7 @@ * The library is free for all purposes without any express * guarantee it works. * - * Tom St Denis, [email protected], http://math.libtomcrypt.org + * Tom St Denis, [email protected], http://math.libtomcrypt.com */ /* Greatest Common Divisor using the binary method */ @@ -22,21 +22,13 @@ int k, u_lsb, v_lsb, res; /* either zero than gcd is the largest */ - if (mp_iszero (a) == 1 && mp_iszero (b) == 0) { + if (mp_iszero (a) == MP_YES) { return mp_abs (b, c); } - if (mp_iszero (a) == 0 && mp_iszero (b) == 1) { + if (mp_iszero (b) == MP_YES) { return mp_abs (a, c); } - /* optimized. At this point if a == 0 then - * b must equal zero too - */ - if (mp_iszero (a) == 1) { - mp_zero(c); - return MP_OKAY; - } - /* get copies of a and b we can modify */ if ((res = mp_init_copy (&u, a)) != MP_OKAY) { return res; @@ -107,3 +99,7 @@ return res; } #endif + +/* $Source: /cvs/libtom/libtommath/bn_mp_gcd.c,v $ */ +/* $Revision: 1.4 $ */ +/* $Date: 2006/03/31 14:18:44 $ */