summaryrefslogtreecommitdiff
path: root/demos/factorize.c
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2002-03-23 23:15:31 +0100
committerKevin Ryde <user42@zip.com.au>2002-03-23 23:15:31 +0100
commit561b00c072f09836abce40fa8739d0b0c8cb7be7 (patch)
tree6ddfdbf26f706ff0b49786052e339e5c6de79529 /demos/factorize.c
parentf413b4b9bf4c2fc31caa2f506b6878b472d09f74 (diff)
downloadgmp-561b00c072f09836abce40fa8739d0b0c8cb7be7.tar.gz
* demos/factorize.c: Use mpn_random() instead of random(), to avoid
portability problems.
Diffstat (limited to 'demos/factorize.c')
-rw-r--r--demos/factorize.c22
1 files changed, 5 insertions, 17 deletions
diff --git a/demos/factorize.c b/demos/factorize.c
index 0eee2b470..467f13c87 100644
--- a/demos/factorize.c
+++ b/demos/factorize.c
@@ -27,22 +27,6 @@ int flag_verbose = 0;
static unsigned add[] = {4, 2, 4, 2, 4, 6, 2, 6};
-#if defined (__hpux) || defined (__alpha) || defined (__svr4__) || defined (__SVR4)
-/* HPUX lacks random(). DEC OSF/1 1.2 random() returns a double. */
-long mrand48 ();
-static long
-random ()
-{
- return mrand48 ();
-}
-#else
-/* Glibc stdlib.h has "int32_t random();" which, on i386 at least, conflicts
- with a redeclaration as "long". */
-#ifndef __GLIBC__
-long random ();
-#endif
-#endif
-
void
factor_using_division (mpz_t t, unsigned int limit)
{
@@ -240,7 +224,11 @@ S4:
if (!mpz_probab_prime_p (g, 3))
{
do
- a_int = random ();
+ {
+ mp_limb_t a_limb;
+ mpn_random (&a_limb, (mp_size_t) 1);
+ a_int = (int) a_limb;
+ }
while (a_int == -2 || a_int == 0);
if (flag_verbose)