Add an internal-representation no-op function.
[u/mdw/catacomb] / limlee.c
index afc1e7d..3f8435b 100644 (file)
--- a/limlee.c
+++ b/limlee.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: limlee.c,v 1.7 2001/01/25 21:40:44 mdw Exp $
+ * $Id: limlee.c,v 1.8 2001/02/03 11:59:07 mdw Exp $
  *
  * Generate Lim-Lee primes
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: limlee.c,v $
+ * Revision 1.8  2001/02/03 11:59:07  mdw
+ * Don't use the @pgen@ random number generator for generating primes: it's
+ * only for testing them.  Use a caller-supplied one instead.
+ *
  * Revision 1.7  2001/01/25 21:40:44  mdw
  * Remove dead code now that the new stepper structure is trustworthy.
  *
@@ -156,8 +160,7 @@ again:
 
 static void llfree(limlee_factor *f, limlee_stepctx *l)
 {
-  if (f->p)
-    mp_drop(f->p);
+  mp_drop(f->p);
 }
 
 static const limlee_primeops primeops_simple = { llgen, llfree };
@@ -211,7 +214,6 @@ static int init(pgen_event *ev, limlee_stepctx *l)
   /* --- Other bits of initialization --- */
 
   l->seq = 0;
-  l->r = ev->r;
   dstr_create(&l->d);
   if (!l->pops) {
     l->pops = &primeops_simple;
@@ -246,9 +248,7 @@ static int next(int rq, pgen_event *ev, limlee_stepctx *l)
   mp *p;
   int rc;
 
-  if (ev->m)
-    mp_drop(ev->m);
-  l->r = ev->r;
+  mp_drop(ev->m);
 
   for (;;) {
     size_t i;
@@ -408,6 +408,7 @@ mp *limlee(const char *name, mp *d, mp *newp,
   l.pops = 0;
   l.iev = iev;
   l.iec = iec;
+  l.r = r;
 
   d = pgen(name, d, 0, oev, oec, on, limlee_step, &l,
           rabin_iters(pl), pgen_test, &rr);