summaryrefslogtreecommitdiff
path: root/src/mpfr-mini-gmp.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2015-10-29 12:29:44 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2015-10-29 12:29:44 +0000
commitb9028a17d0ab8d523f44f771e18f67f14d8effb7 (patch)
tree9cfa2a6a1513da3b7e7bd2f0e5af3a882bb21d7e /src/mpfr-mini-gmp.c
parenta32fcfd5927d45929a27bd91348765e296b2b55e (diff)
downloadmpfr-b9028a17d0ab8d523f44f771e18f67f14d8effb7.tar.gz
more tests do work with mini-gmp (from GMP 6.1.0-rc1)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9708 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'src/mpfr-mini-gmp.c')
-rw-r--r--src/mpfr-mini-gmp.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mpfr-mini-gmp.c b/src/mpfr-mini-gmp.c
index e8ae8fe58..e7e319832 100644
--- a/src/mpfr-mini-gmp.c
+++ b/src/mpfr-mini-gmp.c
@@ -66,7 +66,7 @@ mpn_neg (mp_limb_t *rp, const mp_limb_t *sp, mp_size_t n)
#endif
#ifdef WANT_mpn_com
-mp_limb_t
+void
mpn_com (mp_limb_t *rp, const mp_limb_t *sp, mp_size_t n)
{
mp_size_t i;
@@ -118,10 +118,12 @@ mpn_divrem_1 (mp_limb_t *qp, mp_size_t qxn, mp_limb_t *np, mp_size_t nn,
static mp_limb_t
random_limb (void)
{
+ /* lrand48() only gives 31 bits */
#if GMP_NUMB_BITS == 32
- return lrand48 ();
+ return lrand48 () + (lrand48 () << 31);
#else
- return (((mp_limb_t) lrand48 ()) << 32) + lrand48 ();
+ return lrand48 () + (((mp_limb_t) lrand48 ()) << 31)
+ + (((mp_limb_t) lrand48 ()) << 62);
#endif
}