summaryrefslogtreecommitdiff
path: root/src/mpfr-mini-gmp.c
diff options
context:
space:
mode:
authorzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2015-10-29 08:31:48 +0000
committerzimmerma <zimmerma@280ebfd0-de03-0410-8827-d642c229c3f4>2015-10-29 08:31:48 +0000
commit055f887fb71ed9d3d7a4877c461918a7c8e55cc8 (patch)
tree6294f3be786cad6be2c403e68e23001725122ebd /src/mpfr-mini-gmp.c
parent1ed2b6314fec9b90854669a4ff52e5fdfdb7694c (diff)
downloadmpfr-055f887fb71ed9d3d7a4877c461918a7c8e55cc8.tar.gz
adapt for mini-gmp (from GMP 6.1.0-rc1)
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9703 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'src/mpfr-mini-gmp.c')
-rw-r--r--src/mpfr-mini-gmp.c47
1 files changed, 25 insertions, 22 deletions
diff --git a/src/mpfr-mini-gmp.c b/src/mpfr-mini-gmp.c
index 17756cf1f..57e8614ba 100644
--- a/src/mpfr-mini-gmp.c
+++ b/src/mpfr-mini-gmp.c
@@ -51,39 +51,26 @@ gmp_randclear (gmp_randstate_t state)
}
#endif
-#ifdef WANT_gmp_default_alloc
-void *
-gmp_default_alloc (size_t s)
-{
- return malloc (s);
-}
-#endif
-
-#ifdef WANT_gmp_default_realloc
-void *
-gmp_default_realloc (void *x, size_t olds, size_t s)
+#ifdef WANT_mpn_neg
+mp_limb_t
+mpn_neg (mp_limb_t *rp, const mp_limb_t *sp, mp_size_t n)
{
- return realloc (x, s);
-}
-#endif
+ mp_size_t i;
-#ifdef WANT_gmp_default_free
-void
-gmp_default_free (void *x, size_t s)
-{
- free (x);
+ for (i = 0; i < n; i++)
+ rp[i] = ~sp[i];
+ return mpn_add_1 (rp, rp, n, (mp_limb_t) 1);
}
#endif
-#ifdef WANT_mpn_neg
+#ifdef WANT_mpn_com
mp_limb_t
-mpn_neg (mp_limb_t *rp, const mp_limb_t *sp, mp_size_t n)
+mpn_com (mp_limb_t *rp, const mp_limb_t *sp, mp_size_t n)
{
mp_size_t i;
for (i = 0; i < n; i++)
rp[i] = ~sp[i];
- return mpn_add_1 (rp, rp, n, (mp_limb_t) 1);
}
#endif
@@ -156,6 +143,22 @@ mpz_urandomb (mpz_t rop, gmp_randstate_t state, mp_bitcnt_t nbits)
}
#endif
+#ifdef WANT_gmp_urandomm_ui
+unsigned long
+gmp_urandomm_ui (gmp_randstate_t state, unsigned long n)
+{
+ return random_limb () % n;
+}
+#endif
+
+#ifdef WANT_gmp_urandomb_ui
+unsigned long
+gmp_urandomb_ui (gmp_randstate_t state, unsigned long n)
+{
+ return random_limb () % (1UL << n);
+}
+#endif
+
#ifdef WANT_mpn_divrem
mp_limb_t
mpn_divrem (mp_limb_t *qp, mp_size_t qn, mp_limb_t *np,