Use the new trial division equipment in pfilt. This gives a 10%
[u/mdw/catacomb] / dsa-gen.c
index 3943dd5..2d89115 100644 (file)
--- a/dsa-gen.c
+++ b/dsa-gen.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: dsa-gen.c,v 1.6 2000/07/29 10:00:14 mdw Exp $
+ * $Id: dsa-gen.c,v 1.7 2000/08/15 21:45:05 mdw Exp $
  *
  * Generate DSA shared parameters
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: dsa-gen.c,v $
+ * Revision 1.7  2000/08/15 21:45:05  mdw
+ * Use the new trial division equipment in pfilt.  This gives a 10%
+ * performance improvement in dsa-gen.t.
+ *
  * Revision 1.6  2000/07/29 10:00:14  mdw
  * Rename `dsa_seed' to `dsa_gen' for consistency with other parameter-
  * generation interfaces.
@@ -100,15 +104,7 @@ static int next(pgen_event *ev, dsa_stepctx *d)
 
   /* --- Do the trial division --- */
 
-  {
-    mp *g = MP_NEW;
-    mp_gcd(&g, 0, 0, m, primorial);
-    if (MP_CMP(g, ==, MP_ONE) || MP_CMP(g, ==, m))
-      rc = PGEN_TRY;
-    else
-      rc = PGEN_FAIL;
-    mp_drop(g);
-  }
+  rc = pfilt_smallfactor(m);
 
   /* --- Return the result --- */
 
@@ -265,7 +261,7 @@ static int verify(dstr *v)
   if (!rc) {
     mp_drop(dp.q); mp_drop(dp.p); mp_drop(dp.g);
   }
-  assert(mparena_count(MPARENA_GLOBAL) == 1); /* Primorial! */
+  assert(mparena_count(MPARENA_GLOBAL) == 0);
   return (ok);
 }