chiark / gitweb /
starting to make it compile
[moebius2.git] / mgraph.h
index ae341fae532786f45a2b53c779802eeb47ab0f25..46383677d2ec6c153e799d5936329529d3e75de2 100644 (file)
--- a/mgraph.h
+++ b/mgraph.h
@@ -1,3 +1,6 @@
+/*
+ * Graph topology
+ */
 /*
  * Vertices in strip are numbered as follows:
  *
@@ -66,8 +69,6 @@
 
 #define V6 6
 
-#define D3 3
-
 #define FOR_VERTEX(v) \
   for ((v)=0; (v)<N; (v)++)
 
@@ -80,7 +81,7 @@
 extern int edge_end2(unsigned v1, int e);
 #define EDGE_END2 edge_end2
 
-#define FOR_VEDGE_X(v1,e,init,otherwise)       \
+#define FOR_VEDGE_X(v1,e,v2,init,otherwise)    \
   FOR_VPEDGE((v1),(e))                         \
     if (((v2)= EDGE_END2((v1),(e)),            \
         (init),                                \
@@ -88,11 +89,11 @@ extern int edge_end2(unsigned v1, int e);
 
 #define NOTHING ((void)0)
 
-#define FOR_VEDGE(v1,e) \
-  FOR_VEDGE_X(v1,e,NOTHING,NOTHING)
+#define FOR_VEDGE(v1,e,v2)                     \
+  FOR_VEDGE_X(v1,e,v2,NOTHING,NOTHING)
 
-#define FOR_EDGE(v1,e,v2) \
-  FOR_VERTEX((v1)) \
+#define FOR_EDGE(v1,e,v2)                      \
+  FOR_VERTEX((v1))                             \
     FOR_VEDGE((v1),(e),(v2))
 
 #define FOR_COORD(k) \
@@ -100,11 +101,10 @@ extern int edge_end2(unsigned v1, int e);
 
 #define K FOR_COORD(k)
 
-typedef struct {
-  double v[N][D3];
-} Layout;
+#define FOR_RIM_VERTEX(vy,vx,v)                                        \
+  for ((vy)=0; (vy)<Y; (vy)+=Y-1)                              \
+    for ((vx)=0; (v)= (vy)<<YSHIFT | (vx), (vx)<X; (vx)++)
 
-double hypotD(const double p[D3], const double q[D3]);
-double hypotD2(const double p[D3], const double q[D3]);
+typedef double Vertices[N][D3];
 
 #endif /*MGRAPH_H*/