Added curated list of rule/seed combinations to WolframAutomata for use when user...
authorAaron Taylor <ataylor@subgeniuskitty.com>
Mon, 15 Mar 2021 12:50:48 +0000 (05:50 -0700)
committerAaron Taylor <ataylor@subgeniuskitty.com>
Mon, 15 Mar 2021 12:50:48 +0000 (05:50 -0700)
hacks/WolframAutomata/WolframAutomata.c

index 4f882a2..71e51bb 100644 (file)
@@ -82,10 +82,9 @@ struct state {
 
 // TODO: Decorations
 enum seed_population {
 
 // TODO: Decorations
 enum seed_population {
-    left_only,
-    middle_only,
-    right_only,
-    random_seed
+    random_cell,
+    middle_cell,
+    edge_cell
 };
 
 // TODO: Decorations
 };
 
 // TODO: Decorations
@@ -94,10 +93,46 @@ struct curated_ruleset {
     enum seed_population seed;
 };
 
     enum seed_population seed;
 };
 
-// TODO: Check the full set of 256 CAs for visually interesting examples.
-// TODO: Add comments explaining why each ruleset is interesting.
+// TODO: Decorations
 static const struct curated_ruleset curated_ruleset_list[] = {
 static const struct curated_ruleset curated_ruleset_list[] = {
-    {110, random_seed}
+    {18, middle_cell},
+    {30, middle_cell},
+    {45, middle_cell},
+    {54, middle_cell},
+    {57, middle_cell},
+    {73, middle_cell},
+    {105, middle_cell},
+    {109, middle_cell},
+    {129, middle_cell},
+    {133, middle_cell},
+    {135, middle_cell},
+    {150, middle_cell},
+    {30, edge_cell},
+    {45, edge_cell},
+    {57, edge_cell},
+    {60, edge_cell},
+    {75, edge_cell},
+    {107, edge_cell},
+    {110, edge_cell},
+    {133, edge_cell},
+    {137, edge_cell},
+    {169, edge_cell},
+    {225, edge_cell},
+    {22, random_cell},
+    {30, random_cell},
+    {54, random_cell},
+    {62, random_cell},
+    {90, random_cell},
+    {105, random_cell},
+    {108, random_cell},
+    {110, random_cell},
+    {126, random_cell},
+    {146, random_cell},
+    {150, random_cell},
+    {182, random_cell},
+    {184, random_cell},
+    {225, random_cell},
+    {240, random_cell}
 };
 
 /* -------------------------------------------------------------------------- */
 };
 
 /* -------------------------------------------------------------------------- */
@@ -239,10 +274,9 @@ WolframAutomata_init(Display * dpy, Window win)
         /* setting the seed generation, instead drawing that information from */
         /* the curated ruleset.                                               */
         switch (curated_ruleset->seed) {
         /* setting the seed generation, instead drawing that information from */
         /* the curated ruleset.                                               */
         switch (curated_ruleset->seed) {
-            case random_seed: generate_random_seed(state);                                break;
-            case left_only:   state->current_generation[0] = True;                        break;
-            case right_only:  state->current_generation[state->number_of_cells-1] = True; break;
-            case middle_only: state->current_generation[state->number_of_cells/2] = True; break;
+            case random_cell: generate_random_seed(state);                                break;
+            case middle_cell: state->current_generation[state->number_of_cells/2] = True; break;
+            case edge_cell  : state->current_generation[0] = True;                        break;
         }
     } else {
         /* If we're not using a curated ruleset, process any relevant flags   */
         }
     } else {
         /* If we're not using a curated ruleset, process any relevant flags   */