Add an internal-representation no-op function.
[u/mdw/catacomb] / genprimes.c
index 4474110..2961621 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: genprimes.c,v 1.1 1999/11/19 13:19:37 mdw Exp $
+ * $Id: genprimes.c,v 1.4 2001/03/04 13:08:10 mdw Exp $
  *
  * Generate prime number table
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: genprimes.c,v $
+ * Revision 1.4  2001/03/04 13:08:10  mdw
+ * Use @DA_LAST@ to determine @MAXPRIME@, now that it exists.
+ *
+ * Revision 1.3  2000/08/15 21:41:58  mdw
+ * Create a new type for the small primes table elements.
+ *
+ * Revision 1.2  1999/12/22 15:48:39  mdw
+ * Rename output file.  Make output constants unsigned.
+ *
  * Revision 1.1  1999/11/19 13:19:37  mdw
  * Generate small primes table.
  *
@@ -59,9 +68,9 @@ int main(int argc, char *argv[])
 {
   int p_max = 0, p_n = 0;
   char *type = "unsigned int";
-  char *header = "ptab.h";
-  char *source = "ptab.c";
-  char *name = "ptab";
+  char *header = "primetab.h";
+  char *source = "primetab.c";
+  char *name = "primetab";
   intv p = DA_INIT;
   int i;
 
@@ -101,7 +110,7 @@ int main(int argc, char *argv[])
   if (!p_max && !p_n)
     die(EXIT_FAILURE, "bad arguments to `-n' or `-m'");
 
-  if (p_max >= 2)
+  if (p_n || p_max >= 2)
     DA_PUSH(&p, 2);
   for (i = 3; (!p_max && !p_n) ||
              (p_n && DA_LEN(&p) < p_n) ||
@@ -140,16 +149,17 @@ int main(int argc, char *argv[])
 #ifndef %s\n\
 #define %s\n\
 \n\
-#define NPRIME %lu\n\
-#define MAXPRIME %i\n\
+#define NPRIME %luu\n\
+#define MAXPRIME %uu\n\
 \n\
-extern %s %s[];\n\
+typedef %s smallprime;\n\
+extern smallprime %s[];\n\
 \n\
 #endif\n\
 ",
            d.buf, d.buf,
            (unsigned long)DA_LEN(&p),
-           DA(&p)[DA_LEN(&p) - 1],
+           DA_LAST(&p),
            type, name);
     dstr_destroy(&d);
     if (fclose(fp) == EOF) {