summaryrefslogtreecommitdiffstats
path: root/mpi-patches/fix-mult-bug
blob: 78bc59b17c0094998f31509109393d39e5bb0067 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Index: mpi-1.8.6/mpi.c
===================================================================
--- mpi-1.8.6.orig/mpi.c	2011-12-10 19:43:20.000000000 -0800
+++ mpi-1.8.6/mpi.c	2011-12-12 14:31:12.000000000 -0800
@@ -3255,7 +3255,7 @@
     unless absolutely necessary.
    */
   max = USED(a);
-  w = dp[max - 1] * d;
+  w = dp[max - 1] * (mp_word) d;
   if(CARRYOUT(w) != 0) {
     if((res = s_mp_pad(a, max + 1)) != MP_OKAY)
       return res;
@@ -3263,7 +3263,7 @@
   }
 
   for(ix = 0; ix < max; ix++) {
-    w = (dp[ix] * d) + k;
+    w = (dp[ix] * (mp_word) d) + k;
     dp[ix] = ACCUM(w);
     k = CARRYOUT(w);
   }
@@ -3480,7 +3480,7 @@
     pa = DIGITS(a);
     for(jx = 0; jx < ua; ++jx, ++pa) {
       pt = pbt + ix + jx;
-      w = *pb * *pa + k + *pt;
+      w = *pb * (mp_word) *pa + k + *pt;
       *pt = ACCUM(w);
       k = CARRYOUT(w);
     }