patches/gmp/4.3.1/100-multiplicity-that-does-not-fit-an-int.patch
author |
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
|
Wed Dec 30 15:36:22 2009 +0100 (2009-12-30) |
changeset 1669 |
61edd9d19e3c |
permissions |
-rw-r--r-- |
scripts/functions: add aria2, a powerfull downloader
aria2 is a powerfull downloader that is capable of chunking and
parallel retrieval.
Due to li;itations in crosstool-NG retrieval facilities, it's not possible
to take fully advantage of aria2. It might happen that, in the future,
those limitations get lifted away, so we can take use features such as
parallel downloading from more than one server at the same time. For now,
it should still speed up downloads thanks to parallel downloading of chunks.
yann@1440
|
1 |
diff --git a/mpz/remove.c b/mpz/remove.c
|
yann@1440
|
2 |
--- a/mpz/remove.c
|
yann@1440
|
3 |
+++ b/mpz/remove.c
|
yann@1440
|
4 |
@@ -23,7 +23,7 @@
|
yann@1440
|
5 |
unsigned long int
|
yann@1440
|
6 |
mpz_remove (mpz_ptr dest, mpz_srcptr src, mpz_srcptr f)
|
yann@1440
|
7 |
{
|
yann@1440
|
8 |
- mpz_t fpow[40]; /* inexhaustible...until year 2020 or so */
|
yann@1440
|
9 |
+ mpz_t fpow[GMP_LIMB_BITS]; /* Really MP_SIZE_T_BITS */
|
yann@1440
|
10 |
mpz_t x, rem;
|
yann@1440
|
11 |
unsigned long int pwr;
|
yann@1440
|
12 |
int p;
|
yann@1440
|
13 |
@@ -69,7 +69,7 @@
|
yann@1440
|
14 |
mpz_set (dest, x);
|
yann@1440
|
15 |
}
|
yann@1440
|
16 |
|
yann@1440
|
17 |
- pwr = (1 << p) - 1;
|
yann@1440
|
18 |
+ pwr = (1L << p) - 1;
|
yann@1440
|
19 |
|
yann@1440
|
20 |
mpz_clear (fpow[p]);
|
yann@1440
|
21 |
|
yann@1440
|
22 |
diff --git a/mpz/remove.c b/mpz/remove.c
|
yann@1440
|
23 |
--- a/mpz/remove.c
|
yann@1440
|
24 |
+++ b/mpz/remove.c
|
yann@1440
|
25 |
@@ -80,7 +80,7 @@
|
yann@1440
|
26 |
mpz_tdiv_qr (x, rem, dest, fpow[p]);
|
yann@1440
|
27 |
if (SIZ (rem) == 0)
|
yann@1440
|
28 |
{
|
yann@1440
|
29 |
- pwr += 1 << p;
|
yann@1440
|
30 |
+ pwr += 1L << p;
|
yann@1440
|
31 |
mpz_set (dest, x);
|
yann@1440
|
32 |
}
|
yann@1440
|
33 |
mpz_clear (fpow[p]);
|