summaryrefslogtreecommitdiff
path: root/mpz/powm.c
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2002-05-25 02:32:21 +0200
committerKevin Ryde <user42@zip.com.au>2002-05-25 02:32:21 +0200
commita4a26dc57e985fc37c3290916b306807edd61ebf (patch)
treeb5fc41a00ab075bf77535e8a5a2641d066332738 /mpz/powm.c
parentda46cb73a525df4e8ed549ffb0a876b309c873e9 (diff)
downloadgmp-a4a26dc57e985fc37c3290916b306807edd61ebf.tar.gz
* mpz/powm.c (redc): Nailify q.
Diffstat (limited to 'mpz/powm.c')
-rw-r--r--mpz/powm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/mpz/powm.c b/mpz/powm.c
index af5df3741..5ef678d96 100644
--- a/mpz/powm.c
+++ b/mpz/powm.c
@@ -41,11 +41,13 @@ redc (mp_ptr cp, mp_srcptr mp, mp_size_t n, mp_limb_t Nprim, mp_ptr tp)
mp_limb_t q;
mp_size_t j;
+ ASSERT_MPN (tp, 2*n);
+
tp[2 * n] = 0; /* carry guard */
for (j = 0; j < n; j++)
{
- q = tp[0] * Nprim;
+ q = (tp[0] * Nprim) & GMP_NUMB_MASK;
cy = mpn_addmul_1 (tp, mp, n, q);
mpn_incr_u (tp + n, cy);
tp++;