chiark / gitweb /
merge
[moebius2.git] / primer.c
index 1ec587d..76939a6 100644 (file)
--- a/primer.c
+++ b/primer.c
@@ -9,15 +9,15 @@
 
 int main(int argc, const char **argv) {
   static const int prec= DBL_DIG+2;
-  int vi, k;
+  int vi;
   
-  if (argc!=10 || !strlen(argv[2]) || strlen(argv[2]) != strlen(argv[3]))
-    { fputs("wrong # args or lengths\n",stderr); exit(8); }
+  if (argc!=1) { fputs("need no args\n",stderr); exit(8); }
 
-  printf("%s%d%s%d%s%d%s%d%s%d\n",
-        argv[7], DIM, argv[8], N, argv[8], X, argv[8], Y, argv[8], D3);
-  
-  FOR_VERTEX(vi) {
+  printf("%d %d %d %d %d\n%%-%d.%dg\n",
+        X*Y, N, X, Y, D3,
+        prec+5,prec);
+
+  FOR_VERTEX(vi, INNER) {
     int x= vi & XMASK; /* distance along strip */
     int y= vi >> YSHIFT; /* distance across strip */
     double u= y * 1.0 / (Y-1); /* SGT's u runs 0..1 across the strip */
@@ -27,17 +27,12 @@ int main(int argc, const char **argv) {
      * Vertices with odd y coordinate are halfway to the next x coordinate.
      */
     double v= (x*2 + (y&1)) * 1.0 / (X*2);
+    v += 0.5;
+    v *= M_PI;
 
-    if (!strchr(argv[9],'u'))
-      v *= M_PI;
-    
-    K {
-      if (k >= strlen(argv[2])) break;
-      printf("%s%c%c%s%-*.*g%s%-*.*g%s%03x %2d %2d\n",
-            argv[1], argv[2][k], argv[3][k], argv[4],
-            prec+5,prec,u, argv[5], prec+5,prec,v,
-            argv[6], vi, x, y);
-    }
+    printf("%-*.*g %-*.*g # %03x %2d %2d\n",
+          prec+5,prec,u, prec+5,prec,v,
+          vi, x, y);
   }
   flushoutput();
   return 0;