summaryrefslogtreecommitdiff
path: root/gmpxx.h
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2002-11-12 00:01:58 +0100
committerKevin Ryde <user42@zip.com.au>2002-11-12 00:01:58 +0100
commit3b84d92321be344860827eef82702a4ab4aeafd7 (patch)
tree3a28afd255b611359f065af2ed782af4e28312fe /gmpxx.h
parent05b8f782d74eb188ca57b31530019add6d95379d (diff)
downloadgmp-3b84d92321be344860827eef82702a4ab4aeafd7.tar.gz
* gmpxx.h (gmp_randclass constructors): Patch from Roberto Bagnara to
use extern "C" on C function pointer arguments.
Diffstat (limited to 'gmpxx.h')
-rw-r--r--gmpxx.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/gmpxx.h b/gmpxx.h
index e589f8634..96ed373c7 100644
--- a/gmpxx.h
+++ b/gmpxx.h
@@ -5366,6 +5366,10 @@ public:
}
};
+extern "C" typedef void __gmp_randinit_default_t (gmp_randstate_t);
+extern "C" typedef void __gmp_randinit_lc_2exp_t (gmp_randstate_t, mpz_srcptr, unsigned long int, unsigned long int);
+extern "C" typedef void __gmp_randinit_lc_2exp_size_t (gmp_randstate_t, unsigned long int);
+
class gmp_randclass
{
private:
@@ -5388,16 +5392,15 @@ public:
}
// gmp_randinit_default
- gmp_randclass(void (*f)(gmp_randstate_t)) { f(state); }
+ gmp_randclass(__gmp_randinit_default_t* f) { f(state); }
// gmp_randinit_lc_2exp
- gmp_randclass(void (*f)(gmp_randstate_t, mpz_srcptr,
- unsigned long int, unsigned long int),
+ gmp_randclass(__gmp_randinit_lc_2exp_t* f,
mpz_class z, unsigned long int l1, unsigned long int l2)
{ f(state, z.get_mpz_t(), l1, l2); }
// gmp_randinit_lc_2exp_size
- gmp_randclass(int (*f)(gmp_randstate_t, unsigned long int),
+ gmp_randclass(__gmp_randinit_lc_2exp_size_t* f,
unsigned long int size)
{ f(state, size); }