chiark / gitweb /
build more stuff
[moebius2.git] / mgraph.h
index 7f2ab4397ad747ea54e95901d0f093eb71f42d1a..2267fdbda1ffcf59bbf7a9919c651bee46ffa6b0 100644 (file)
--- a/mgraph.h
+++ b/mgraph.h
 #define V6 6
 #define V3 3
 
+
+/* Loop constructors are macros of the form
+ *    LOOP(v,zero,n, precomp)
+ * which work much like this one:
+ */
 #define INNER(v,zero,n, precomp)  \
   for ((v)=(zero); precomp, (v)<(n); (v)++)
 
 #define FOR_VPEDGE(e) \
   for ((e)=0; (e)<V6; (e)++)
 
-int edge_end2(unsigned v1, int e);
-#define EDGE_END2 edge_end2
+extern short edge_end2_memo[][V6];
+#define EDGE_END2(v1,e) edge_end2_memo[v1][e]
 
 /* given    v1,e     s.t.  v2==EDGE_END2(v1,e) >= 0,
  * returns  eprime   s.t.  v1==EDGE_END2(v2,eprime) */
@@ -133,4 +138,6 @@ int vertices_span_join_p(int v0, int v1);
 typedef double Vertices[N][D3];
 struct Vertices { Vertices a; };
 
+void mgraph_prepare(void);
+
 #endif /*MGRAPH_H*/