chiark / gitweb /
settlings wip
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 29 Oct 2022 19:44:29 +0000 (20:44 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 29 Oct 2022 19:44:29 +0000 (20:44 +0100)
src/bin/settlings.rs [new file with mode: 0644]

diff --git a/src/bin/settlings.rs b/src/bin/settlings.rs
new file mode 100644 (file)
index 0000000..7f9bb74
--- /dev/null
@@ -0,0 +1,43 @@
+
+use z3_treefoil::*;
+
+fn main() -> io::Result<()> {
+  for shape in read_vertices() {
+
+    
+
+    let has_all_corners =
+      iter::repeat([0,MAX].into_iter())
+      .take(DIM)
+      .multi_cartesian_product()
+      .all(|need| shape.iter().any(|got| &got[..]==need));
+
+    if !has_all_corners { continue }
+
+    if !has_all_corners { continue }
+    
+    let middle_vertices =
+      iter::repeat([1,2].into_iter())
+      .take(DIM)
+      .multi_cartesian_product()
+      .filter(|need| shape.iter().any(|got| &got[..]==need))
+      .count();
+
+    print!("{} ", middle_vertices);
+
+    let mut edges_middlish = [0; 3];
+
+    for ab in shape_edges(&shape) {
+      let middles = ab.iter().filter(|p| point_middle(p)).count();
+      edges_middlish[middles] += 1;
+    }
+
+    for em in &edges_middlish {
+      print!("{:2} ", em);
+    }
+
+    print_shape(&shape)?;
+  }
+
+  Ok(())
+}