-#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)++)
+#define FOR_NEAR_RIM_VERTEX(vy,vx,v, disttorim, loop) \
+ for ((vy)=(disttorim); (vy)<Y; (vy)+=Y-1-2*(disttorim)) \
+ loop ((vx), 0, X, (v)= (vy)<<YSHIFT | (vx))
+
+#define FOR_RIM_VERTEX(vy,vx,v, loop) \
+ FOR_NEAR_RIM_VERTEX((vy),(vx),(v), 0, loop)
+
+int vertices_span_join_p(int v0, int v1);