diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2017-02-01 15:03:59 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2017-02-01 15:03:59 (GMT) |
commit | 3bf70f8a7d94966b183bc23250a2b45fd4248241 (patch) | |
tree | a3a8dd299606092b7219a6d8ae10b5deba724aab /libtommath/bn_mp_sqr.c | |
parent | 8826c4b5dc048432fbed200da55eef080c75b32c (diff) | |
parent | 680d27740a871cd27464c07ed2afee0f4104dbd4 (diff) | |
download | tcl-pyk_emptystring.zip tcl-pyk_emptystring.tar.gz tcl-pyk_emptystring.tar.bz2 |
merge trunkpyk_emptystring
Diffstat (limited to 'libtommath/bn_mp_sqr.c')
-rw-r--r-- | libtommath/bn_mp_sqr.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/libtommath/bn_mp_sqr.c b/libtommath/bn_mp_sqr.c index 3938537..ad2099b 100644 --- a/libtommath/bn_mp_sqr.c +++ b/libtommath/bn_mp_sqr.c @@ -1,4 +1,4 @@ -#include <tommath.h> +#include <tommath_private.h> #ifdef BN_MP_SQR_C /* LibTomMath, multiple-precision integer library -- Tom St Denis * @@ -12,7 +12,7 @@ * The library is free for all purposes without any express * guarantee it works. * - * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com + * Tom St Denis, tstdenis82@gmail.com, http://libtom.org */ /* computes b = a*a */ @@ -29,26 +29,32 @@ mp_sqr (mp_int * a, mp_int * b) } else #endif #ifdef BN_MP_KARATSUBA_SQR_C -if (a->used >= KARATSUBA_SQR_CUTOFF) { + if (a->used >= KARATSUBA_SQR_CUTOFF) { res = mp_karatsuba_sqr (a, b); } else #endif { #ifdef BN_FAST_S_MP_SQR_C /* can we use the fast comba multiplier? */ - if ((a->used * 2 + 1) < MP_WARRAY && - a->used < - (1 << (sizeof(mp_word) * CHAR_BIT - 2*DIGIT_BIT - 1))) { + if ((((a->used * 2) + 1) < MP_WARRAY) && + (a->used < + (1 << (((sizeof(mp_word) * CHAR_BIT) - (2 * DIGIT_BIT)) - 1)))) { res = fast_s_mp_sqr (a, b); } else #endif + { #ifdef BN_S_MP_SQR_C res = s_mp_sqr (a, b); #else res = MP_VAL; #endif + } } b->sign = MP_ZPOS; return res; } #endif + +/* $Source$ */ +/* $Revision$ */ +/* $Date$ */ |