return x | y;
}
+
+static const unsigned reverse[2][V6]= {{ 3, 4, 5, 0, 1, 2 },
+ { 3, 2, 1, 0, 5, 4 }};
+
+int edge_reverse(int v1, int e) {
+ unsigned x2;
+ int flip;
+
+ x2= (v1 & XMASK) + dx[(v1 >> YSHIFT) & 1][e];
+ flip= !!(x2 & ~XMASK);
+ return reverse[flip][e];
+}