From d50e18d7deb50d449c002a21319b2437ed2429d6 Mon Sep 17 00:00:00 2001 From: mdw Date: Thu, 25 Jan 2001 21:40:44 +0000 Subject: [PATCH] Remove dead code now that the new stepper structure is trustworthy. --- limlee.c | 208 ++------------------------------------------------------------- 1 file changed, 4 insertions(+), 204 deletions(-) diff --git a/limlee.c b/limlee.c index 0f807ff..afc1e7d 100644 --- a/limlee.c +++ b/limlee.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: limlee.c,v 1.6 2001/01/25 21:16:20 mdw Exp $ + * $Id: limlee.c,v 1.7 2001/01/25 21:40:44 mdw Exp $ * * Generate Lim-Lee primes * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: limlee.c,v $ + * Revision 1.7 2001/01/25 21:40:44 mdw + * Remove dead code now that the new stepper structure is trustworthy. + * * Revision 1.6 2001/01/25 21:16:20 mdw * Boring cosmetic stuff. * @@ -396,208 +399,6 @@ mp *limlee(const char *name, mp *d, mp *newp, pgen_proc *iev, void *iec, size_t *nf, mp ***f) { -#ifdef notdef - dstr dn = DSTR_INIT; - unsigned qql; - mp *qq = 0; - unsigned nn; - unsigned mm; - mp **v; - octet *c; - unsigned i; - unsigned long seq = 0; - pgen_event ev; - unsigned ntest; - rabin rb; - pgen_filterctx pf; - - /* --- First of all, decide on a number of factors to make --- */ - - nn = pl/ql; - qql = pl%ql; - if (!nn) - return (0); - else if (qql && nn > 1) { - nn--; - qql += ql; - } - - /* --- Now decide on how many primes I'll actually generate --- * - * - * The formula %$m = \max(3 n + 5, 25)$% comes from GPG's prime generation - * library. - */ - - mm = nn * 3 + 5; - if (mm < 25) - mm = 25; - - /* --- Now allocate the working memory --- */ - - v = xmalloc(mm * sizeof(mp *)); - c = xmalloc(mm); - - /* --- Initialize everything and try to find a prime --- */ - - ev.name = name; - ev.m = 0; - ev.steps = on; - ev.tests = ntest = rabin_iters(pl); - ev.r = r; - - if (oev && oev(PGEN_BEGIN, &ev, oec) == PGEN_ABORT) - goto fail; - - pf.step = 2; - if (qql) { - dstr_putf(&dn, "%s*", name); - qq = mprand(d, qql, r, 1); - qq = pgen(dn.buf, qq, qq, iev, iec, - 0, pgen_filter, &pf, rabin_iters(qql), pgen_test, &rb); - } - -again: - comb_init(c, mm, nn); - for (i = 0; i < mm; i++) - v[i] = 0; - - /* --- The main combinations loop --- */ - - do { - mpmul mmul = MPMUL_INIT; - - /* --- Multiply a bunch of primes together --- */ - - if (qq) - mpmul_add(&mmul, qq); - for (i = 0; i < mm; i++) { - if (!c[i]) - continue; - if (!v[i]) { - mp *z; - - DRESET(&dn); - dstr_putf(&dn, "%s_%lu] = ", name, seq++); - z = mprand(newp, ql, ev.r, 1); - z = pgen(dn.buf, z, z, iev, iec, - 0, pgen_filter, &pf, rabin_iters(ql), pgen_test, &rb); - v[i] = z; - } - mpmul_add(&mmul, v[i]); - } - - /* --- Now do some testing --- */ - - { - mp *p = mpmul_done(&mmul); - mp *g; - int rc; - - /* --- Check for small factors --- */ - - p = mp_lsl(p, p, 1); - p = mp_add(p, p, MP_ONE); - rc = pfilt_smallfactor(p); - if (rc == PGEN_FAIL) { - mp_drop(p); - continue; - } - - /* --- Send an event out --- */ - - ev.m = p; - if (oev && oev(PGEN_TRY, &ev, oec) == PGEN_ABORT) { - mp_drop(p); - goto fail; - } - - /* --- Do the Rabin testing --- */ - - rabin_create(&rb, p); - g = MP_NEW; - do { - g = mprand_range(g, p, ev.r, 1); - rc = rabin_test(&rb, g); - if (rc == PGEN_PASS) { - ev.tests--; - if (!ev.tests) - rc = PGEN_DONE; - } - if (oev && oev(rc, &ev, oec) == PGEN_ABORT) - rc = PGEN_ABORT; - } while (rc == PGEN_PASS); - - rabin_destroy(&rb); - mp_drop(g); - if (rc == PGEN_DONE) - d = p; - else - mp_drop(p); - if (rc == PGEN_ABORT) - goto fail; - if (rc == PGEN_DONE) - goto done; - ev.tests = ntest; - ev.m = 0; - } - } while (comb_next(c, mm, nn)); - - /* --- That failed --- */ - - if (ev.steps) { - ev.steps--; - if (!ev.steps) { - if (oev) - oev(PGEN_ABORT, &ev, &oec); - goto fail; - } - } - - for (i = 0; i < mm; i++) - mp_drop(v[i]); - goto again; - - /* --- We did it! --- */ - -done: { - mp **vv = 0; - if (f) { - if (qq) - nn++; - *nf = nn; - *f = vv = xmalloc(nn * sizeof(mp *)); - } - - for (i = 0; i < mm; i++) { - if (c[i] && vv) - *vv++ = v[i]; - else if (v[i]) - mp_drop(v[i]); - } - if (qq) { - if (vv) - *vv++ = qq; - else - mp_drop(qq); - } - xfree(v); - xfree(c); - dstr_destroy(&dn); - return (d); - } - - /* --- We blew it --- */ - -fail: - for (i = 0; i < mm; i++) - mp_drop(v[i]); - if (qq) - mp_drop(qq); - xfree(v); - xfree(c); - dstr_destroy(&dn); - return (0); -#else limlee_stepctx l; rabin rr; @@ -623,7 +424,6 @@ fail: } return (d); -#endif } /*----- That's all, folks -------------------------------------------------*/ -- 2.11.0