summaryrefslogtreecommitdiff
path: root/app/xlockmore/modes/life.h
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2006-11-26 11:09:41 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2006-11-26 11:09:41 +0000
commit95c2d1cbda23a41cdf6e63520c7f0b825e63dd5b (patch)
tree06d3ffa4312e568c4157f69fe1bddaddec9bc497 /app/xlockmore/modes/life.h
parent3928433848e2d6a9356f3d438a14b32a4f87f660 (diff)
Importing xlockmore 5.22
Diffstat (limited to 'app/xlockmore/modes/life.h')
-rw-r--r--app/xlockmore/modes/life.h4972
1 files changed, 4972 insertions, 0 deletions
diff --git a/app/xlockmore/modes/life.h b/app/xlockmore/modes/life.h
new file mode 100644
index 000000000..a7351ca60
--- /dev/null
+++ b/app/xlockmore/modes/life.h
@@ -0,0 +1,4972 @@
+/*-
+ * Copyright (c) 1991 by Patrick J. Naughton.
+ * Copyright (c) 1997 by David Bagley.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notice appear in all copies and that
+ * both that copyright notice and this permission notice appear in
+ * supporting documentation.
+ *
+ * This file is provided AS IS with no warranties of any kind. The author
+ * shall have no liability with respect to the infringement of copyrights,
+ * trade secrets or any patents by this file or any part thereof. In no
+ * event will the author be liable for any lost revenue or profits or
+ * other special, indirect and consequential damages.
+ *
+ * Revision History:
+ * 28-Jun-2004: LIFE_NAMES compile-time option.
+ * 14-Feb-2003: Added many more lifeforms from Stephen Silver's Life Lexicon
+ * http://www.argentum.freeserve.co.uk/lex_home.htm
+ * 25-Jan-2003: File spawned from life.c
+ *
+ */
+
+/*-
+ * neighbors of 0 does not randomize. All inappropriate
+ * modes will be set at 8. 3, 6, 9, & 12 also available.
+ */
+
+#define MAXNEIGHBORS 12
+#define MAXGROUPS 3 /* Eventually this may be MAXNEIGHBORS - 3 */
+#define FIRSTGROUP 2 /* Need at least 2 to make a group */
+#define MAXCOUNTNEIGHBORS 9 /* This restriction is because of base 10 */
+#define NEIGHBORKINDS 6
+#define NUMPTS 64
+
+typedef struct {
+ int survival, birth;
+ int survival_group[MAXGROUPS];
+ int birth_group[MAXGROUPS];
+} paramstruct;
+
+static char plots[NEIGHBORKINDS] =
+{
+ 3, 4, 6, 8, 9, 12 /* Neighborhoods */
+};
+
+static char maxgroups[NEIGHBORKINDS] =
+{0, 0, 3, 0, 0, 0};
+static char groupnumber[NEIGHBORKINDS][MAXGROUPS] =
+{
+ {0, 0, 0}, /* Triangular */
+ {0, 0, 0}, /* Future improvement */
+ {3, 3, 3}, /* Hexagonal */
+ {0, 0, 0}, /* Maxgroup will expand... */
+ {0, 0, 0}, /* Future improvement */
+ {0, 0, 0} /* Future improvement */
+};
+
+static char style6[64] =
+{0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 1, 0, 1, 0, 0,
+ 0, 1, 2, 1, 1, 2, 1, 1, 0, 1, 1, 2, 0, 1, 0, 0,
+ 0, 0, 1, 0, 2, 1, 1, 0, 1, 1, 2, 1, 1, 2, 1, 0,
+ 0, 0, 1, 0, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0};
+
+
+/*-
+ * Patterns have < NUMPTS pts (and should have a size of <= 32x32,
+ * the Glider Gun is an exception)
+ */
+static char patterns_8S23B3_6[][2 * NUMPTS + 1] =
+{
+#ifdef LIFE_NAMES
+ {"almosymmetric, clock (flywheel), blinker (p2)"}, /* 0 */
+#endif
+ {
+ -1, -4,
+ -1, -3, 1, -3,
+ -3, -2,
+ 2, -1, 3, -1,
+ -4, 0, -3, 0,
+ 2, 1,
+ -2, 2, 0, 2,
+ 0, 3,
+
+ 5, 3,
+ 3, 4, 4, 4,
+ 5, 5, 6, 5,
+ 4, 6,
+
+ 8, 0,
+ 8, 1,
+ 8, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"baker (c p4 fuse)"}, /* 126 */
+#endif
+ {
+ 6, -7, 7, -7,
+ 5, -6, 7, -6,
+ 4, -5,
+ 3, -4,
+ 2, -3,
+ 1, -2,
+ 0, -1,
+ -1, 0,
+ -2, 1,
+ -3, 2,
+ -4, 3,
+ -5, 4,
+ -8, 5, -7, 5, -6, 5,
+ -7, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"barber's pole (p2)"}, /* 2 */
+#endif
+ {
+ -6, -6, -5, -6,
+ -6, -5, -4, -5,
+ -4, -3, -2, -3,
+ -2, -1, 0, -1,
+ 0, 1, 2, 1,
+ 2, 3, 4, 3,
+ 5, 4,
+ 4, 5, 5, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"bent keys (p3), from Lexicon"}, /* 3 */
+#endif
+ {
+ -5, -2, 4, -2,
+ -6, -1, -4, -1, 3, -1, 5, -1,
+ -5, 0, -3, 0, -2, 0, 1, 0, 2, 0, 4, 0,
+ -2, 1, 1, 1,
+ -2, 2, 1, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"blinkers bit pole (p2), from Lexicon"}, /* 4 */
+#endif
+ {
+ 2, -3, 3, -3,
+ -3, -2, -2, -2, -1, -2, 1, -2, 3, -2,
+ -2, 0, 0, 0, 3, 0,
+ -3, 1, 2, 1,
+ -3, 2, -2, 2, 2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"boat maker (c p4 fuse)"}, /* 5 */
+#endif
+ {
+ 7, -8, 8, -8,
+ 6, -7, 8, -7,
+ 5, -6,
+ 4, -5,
+ 3, -4,
+ 2, -3,
+ 1, -2,
+ 0, -1,
+ -1, 0,
+ -2, 1,
+ -3, 2,
+ -4, 3,
+ -9, 4, -8, 4, -7, 4, -6, 4, -5, 4,
+ -5, 5,
+ -5, 6,
+ -5, 7,
+ -5, 8,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"by flops (p2), from Lexicon"}, /* 6 */
+#endif
+ {
+ 0, -3,
+ -2, -2, 0, -2,
+ 2, -1,
+ -3, 0, -2, 0, -1, 0, 0, 0, 1, 0,
+ 2, 1,
+ -2, 2, 0, 2,
+ 0, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"candlefrobra (p3), from Lexicon"}, /* 7 */
+#endif
+ {
+ 0, -2,
+ -4, -1, -2, -1, -1, -1, 1, -1, 3, -1, 4, -1,
+ -5, 0, -3, 0, 1, 0, 3, 0, 4, 0,
+ -4, 1, 1, 1,
+ 0, 2, 1, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"clock II (p4)"}, /* 8 */
+#endif
+ {
+ -2, -6, -1, -6,
+ -2, -5, -1, -5,
+ -2, -3, -1, -3, 0, -3, 1, -3,
+ -6, -2, -5, -2, -3, -2, 0, -2, 2, -2,
+ -6, -1, -5, -1, -3, -1, -1, -1, 2, -1,
+ -3, 0, -1, 0, 2, 0, 4, 0, 5, 0,
+ -3, 1, 2, 1, 4, 1, 5, 1,
+ -2, 2, -1, 2, 0, 2, 1, 2,
+ 0, 4, 1, 4,
+ 0, 5, 1, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Coe's p8, from Lexicon"}, /* 9 */
+#endif
+ {
+ -6, -3, -5, -3,
+ -6, -2, -5, -2, -2, -2, -1, -2,
+ -1, -1, 0, -1,
+ -2, 0, 1, 0,
+ 1, 1, 4, 1, 5, 1,
+ -1, 2, 1, 2, 4, 2, 5, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"confused eaters (p4), from Lexicon"}, /* 10 */
+#endif
+ {
+ -5, -5,
+ -5, -4, -4, -4, -3, -4,
+ -2, -3,
+ -3, -2,
+ -3, -1, 0, -1,
+ 0, 0,
+ -2, 1, 0, 1,
+ -2, 2, -1, 2, 2, 2, 3, 2,
+ 2, 3, 4, 3,
+ 4, 4,
+ 4, 5, 5, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"cross (p3), from Lexicon"}, /* 11 */
+#endif
+ {
+ -2, -4, -1, -4, 0, -4, 1, -4,
+ -2, -3, 1, -3,
+ -4, -2, -3, -2, -2, -2, 1, -2, 2, -2, 3, -2,
+ -4, -1, 3, -1,
+ -4, 0, 3, 0,
+ -4, 1, -3, 1, -2, 1, 1, 1, 2, 1, 3, 1,
+ -2, 2, 1, 2,
+ -2, 3, -1, 3, 0, 3, 1, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"cuphook (p3) (in compact form), from Lexicon"}, /* 12 */
+#endif
+ {
+ 1, -4, 2, -4,
+ 0, -3, 2, -3,
+ 0, -2,
+ -3, -1, -2, -1, 0, -1,
+ -3, 0, -2, 0, 0, 0, 3, 0,
+ 0, 1, 2, 1, 3, 1,
+ 0, 2,
+ -1, 3, 0, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"diehard (vanishes at 130, longest 7 cells)"}, /* 13 */
+#endif
+ {
+ 2, -1,
+ -4, 0, -3, 0,
+ -3, 1, 1, 1, 2, 1, 3, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"eater/bound frob (p4), from Lexicon"}, /* 14 */
+#endif
+ {
+ -4, -5, -3, -5,
+ -3, -4,
+ -3, -3, -1, -3,
+ -2, -2, 0, -2,
+ 0, -1, 1, -1, 3, -1, 4, -1,
+ 3, 0, 4, 0,
+ -3, 1, -2, 1,
+ -2, 2,
+ -5, 3, -4, 3, -3, 3,
+ -5, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"flotilla (school of fish, escort), from Lexicon"}, /* 15 */
+#endif
+ {
+ -3, -8, -2, -8, -1, -8, 0, -8,
+ -4, -7, -3, -7, -2, -7, -1, -7, 0, -7, 1, -7,
+ -5, -6, -4, -6, -2, -6, -1, -6, 0, -6, 1, -6,
+ -4, -5, -3, -5,
+ 4, -3, 5, -3,
+ -6, -2, 7, -2,
+ -7, -1,
+ -7, 0, 7, 0,
+ -7, 1, -6, 1, -5, 1, -4, 1, -3, 1, -2, 1, -1, 1, 0, 1, 1, 1,
+ 2, 1, 3, 1, 4, 1, 5, 1, 6, 1,
+ -3, 4, -2, 4, -1, 4, 0, 4,
+ -4, 5, -3, 5, -2, 5, -1, 5, 0, 5, 1, 5,
+ -5, 6, -4, 6, -2, 6, -1, 6, 0, 6, 1, 6,
+ -4, 7, -3, 7,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"fore and back (p2), from Lexicon"}, /* 16 */
+#endif
+ {
+ -3, -3, -2, -3, 0, -3, 1, -3,
+ -3, -2, -2, -2, 0, -2, 2, -2,
+ 3, -1,
+ -3, 0, -2, 0, -1, 0, 1, 0, 2, 0, 3, 0,
+ -3, 1,
+ -2, 2, 0, 2, 2, 2, 3, 2,
+ -1, 3, 0, 3, 2, 3, 3, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"fox (p2), from Lexicon"}, /* 17 */
+#endif
+ {
+ 1, -3,
+ 1, -2,
+ -1, -1, 2, -1,
+ -3, 0, -2, 0,
+ 1, 1, 3, 1,
+ -1, 2, 1, 2, 3, 2,
+ 3, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"French kiss (p3), from Lexicon"}, /* 18 */
+#endif
+ {
+ -5, -4,
+ -5, -3, -4, -3, -3, -3,
+ -2, -2,
+ -3, -1, 0, -1, 1, -1,
+ -3, 0, 2, 0,
+ -2, 1, -1, 1, 2, 1,
+ 1, 2,
+ 2, 3, 3, 3, 4, 3,
+ 4, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"fumarole (p5), from Lexicon"}, /* 19 */
+#endif
+ {
+ -1, -3, 0, -3,
+ -3, -2, 2, -2,
+ -3, -1, 2, -1,
+ -3, 0, 2, 0,
+ -2, 1, 1, 1,
+ -4, 2, -2, 2, 1, 2, 3, 2,
+ -4, 3, -3, 3, 2, 3, 3, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"hammer (3 LWSS to 1 MWSS), from Lexicon"}, /* 20 */
+#endif
+ {
+ -10, -3, -7, -3,
+ -6, -2, -2, -2, -1, -2,
+ -10, -1, -6, -1, -3, -1, -2, -1, -1, -1, 5, -1, 6, -1, 7, -1,
+ 8, -1,
+ -9, 0, -8, 0, -7, 0, -6, 0, -3, 0, -2, 0, 0, 0, 5, 0, 9, 0,
+ -2, 1, -1, 1, 0, 1, 5, 1,
+ -1, 2, 6, 2, 9, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"harvester (c p4 fuse), from Lexicon"}, /* 21 */
+#endif
+ {
+ 7, -7, 8, -7,
+ 6, -6, 8, -6,
+ 5, -5,
+ 4, -4,
+ 3, -3,
+ 2, -2,
+ 1, -1,
+ 0, 0,
+ -1, 1,
+ -2, 2,
+ -3, 3,
+ -4, 4,
+ -9, 5, -8, 5, -7, 5, -6, 5, -5, 5,
+ -9, 6, -8, 6, -7, 6, -6, 6,
+ -9, 7, -7, 7, -6, 7,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"hivenudger (c/2 orthogonally, p4)"}, /* 22 */
+#endif
+ {
+ -6, -6, -5, -6, -4, -6, -3, -6, 3, -6, 6, -6,
+ -6, -5, -2, -5, 2, -5,
+ -6, -4, 2, -4, 6, -4,
+ -5, -3, -2, -3, 2, -3, 3, -3, 4, -3, 5, -3,
+ -1, -1, 0, -1,
+ -1, 0, 0, 0,
+ -1, 1, 0, 1,
+ -5, 3, -2, 3, 2, 3, 3, 3, 4, 3, 5, 3,
+ -6, 4, 2, 4, 6, 4,
+ -6, 5, -2, 5, 2, 5,
+ -6, 6, -5, 6, -4, 6, -3, 6, 3, 6, 6, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"mazing (p4) (pulse1), from Lexicon"}, /* 23 */
+#endif
+ {
+ 0, -3, 1, -3,
+ -2, -2, 0, -2,
+ -3, -1, 3, -1,
+ -2, 0, 2, 0, 3, 0,
+ 0, 2, 2, 2,
+ 1, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"muttering moat (p2) (example), from Lexicon"}, /* 24 */
+#endif
+ {
+ -3, -3, -2, -3,
+ -3, -2, -1, -2, 1, -2, 2, -2,
+ 2, -1,
+ -2, 0, 1, 0,
+ -1, 1,
+ -1, 2, 1, 2, 3, 2,
+ 2, 3, 3, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator0 (p3), from HighLife"}, /* 25 */
+#endif
+ {
+ 0, -2,
+ -4, -1, -2, -1, -1, -1, 1, -1, 3, -1, 4, -1,
+ -5, 0, -3, 0, 1, 0, 3, 0, 4, 0,
+ -4, 1, 1, 1,
+ 0, 2, 1, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator1 (p3), from HighLife"}, /* 26 */
+#endif
+ {
+ -3, -2,
+ -3, -1, -2, -1, -1, -1, 3, -1, 5, -1, 6, -1, 7, -1,
+ -4, 0, -2, 0, 2, 0, 4, 0,
+ -7, 1, -6, 1, -5, 1, -3, 1, 1, 1, 2, 1, 3, 1,
+ 3, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator4 (p4) (~HW emulator), from HighLife"}, /* 27 */
+#endif
+ {
+ -9, -3, -8, -3, -6, -3, -5, -3, -2, -3, -1, -3, 0, -3, 1, -3,
+ 4, -3, 5, -3, 7, -3, 8, -3,
+ -11, -2, -8, -2, -6, -2, -3, -2, -2, -2, -1, -2, 0, -2, 1, -2,
+ 2, -2, 5, -2, 7, -2, 10, -2,
+ -11, -1, -10, -1, -5, -1, -4, -1, -3, -1, -2, -1, -1, -1,
+ 0, -1, 1, -1, 2, -1, 3, -1, 4, -1, 9, -1, 10, -1,
+ -7, 0, -6, 0, 5, 0, 6, 0,
+ -8, 1, -5, 1, 4, 1, 7, 1,
+ -7, 2, -6, 2, 5, 2, 6, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator0 (p6), from HighLife"}, /* 28 */
+#endif
+ {
+ -3, -8, 3, -8,
+ -3, -7, -2, -7, 2, -7, 3, -7,
+ -3, -6, -2, -6, 2, -6, 3, -6,
+ -2, -5, 2, -5,
+ -1, -3, 0, -3, 1, -3,
+ -2, -2, 2, -2,
+ -2, 1, 2, 1,
+ -1, 2, 0, 2, 1, 2,
+ -2, 4, 2, 4,
+ -3, 5, -2, 5, 2, 5, 3, 5,
+ -3, 6, -2, 6, 2, 6, 3, 6,
+ -3, 7, 3, 7,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"phoenix (example) (p2), from Lexicon"}, /* 29 */
+#endif
+ {
+ 0, -4,
+ -2, -3, 0, -3,
+ 2, -2,
+ -4, -1, -3, -1,
+ 2, 0, 3, 0,
+ -3, 1,
+ -1, 2, 1, 2,
+ -1, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pinwheel (p4)"}, /* 30 */
+#endif
+ {
+ -2, -6, -1, -6,
+ -2, -5, -1, -5,
+ -2, -3, -1, -3, 0, -3, 1, -3,
+ -3, -2, -1, -2, 2, -2, 4, -2, 5, -2,
+ -3, -1, 1, -1, 2, -1, 4, -1, 5, -1,
+ -6, 0, -5, 0, -3, 0, 0, 0, 2, 0,
+ -6, 1, -5, 1, -3, 1, 2, 1,
+ -2, 2, -1, 2, 0, 2, 1, 2,
+ 0, 4, 1, 4,
+ 0, 5, 1, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pulsar quadrant (p3), from Lexicon"}, /* 31 */
+#endif
+ {
+ 1, -4,
+ -1, -3, 0, -3, 1, -3,
+ -2, -2, 2, -2, 3, -2,
+ -4, -1, -1, -1, 2, -1,
+ -4, 0, 0, 0, 2, 0,
+ -4, 1, 1, 1,
+ -2, 3, -1, 3, 0, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"quad (p2), from Lexicon"}, /* 32 */
+#endif
+ {
+ -3, -3, -2, -3, 1, -3, 2, -3,
+ -3, -2, 0, -2, 2, -2,
+ -2, -1,
+ 1, 0,
+ -3, 1, -1, 1, 2, 1,
+ -3, 2, -2, 2, 1, 2, 2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"reverse fuse, from Lexicon"}, /* 33 */
+#endif
+ {
+ 6, -6, 7, -6,
+ 5, -5, 7, -5,
+ 4, -4,
+ 3, -3,
+ 2, -2,
+ 1, -1,
+ 0, 0,
+ -1, 1,
+ -2, 2,
+ -3, 3,
+ -4, 4,
+ -5, 5,
+ -7, 6, -6, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"revolver (p2)"}, /* 34 */
+#endif
+ {
+ -7, -4, 6, -4,
+ -7, -3, -6, -3, -5, -3, 0, -3, 4, -3, 5, -3, 6, -3,
+ -4, -2, -2, -2, 0, -2, 3, -2,
+ -5, -1, 2, -1, 4, -1,
+ -5, 0, -3, 0, 4, 0,
+ -4, 1, -1, 1, 1, 1, 3, 1,
+ -7, 2, -6, 2, -5, 2, -1, 2, 4, 2, 5, 2, 6, 2,
+ -7, 3, 6, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"rotator (p8), from Lexicon"}, /* 35 */
+#endif
+ {
+ -6, -7,
+ -6, -6, -5, -6, -4, -6, 5, -6, 6, -6,
+ -3, -5, 5, -5,
+ -4, -4, -3, -4, 3, -4, 5, -4,
+ 3, -3, 4, -3,
+ -2, -1, -1, -1, 0, -1,
+ -2, 0, 1, 0,
+ -2, 1,
+ -5, 2, -4, 2, -1, 2, 3, 2,
+ -6, 3, -4, 3, 3, 3,
+ -6, 4, 2, 4,
+ -7, 5, -6, 5, 3, 5, 4, 5, 5, 5,
+ 5, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"ship smallest diagonal but 1 (c/4, p4) (25-cell)"}, /* 36 */
+#endif
+ {
+ 2, -6, 3, -6,
+ 1, -5, 2, -5,
+ 3, -4,
+ 5, -3, 6, -3,
+ 4, -2,
+ 3, 0, 6, 0,
+ -5, 1, -4, 1, 2, 1, 3, 1,
+ -6, 2, -5, 2, 1, 2,
+ -4, 3, 1, 3, 3, 3,
+ -2, 4, -1, 4, 2, 4,
+ -2, 5, -1, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"sidecar, from Lexicon"}, /* 37 */
+#endif
+ {
+ -3, -5,
+ -4, -4, 2, -4,
+ -4, -3, 2, -3,
+ -4, -2, -3, -2, -2, -2, -1, -2, 0, -2, 2, -2,
+ 0, 0, 1, 0,
+ -2, 1, 3, 1,
+ -3, 2,
+ -3, 3, 3, 3,
+ -3, 4, -2, 4, -1, 4, 0, 4, 1, 4, 2, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"singular flip flop (p2), from Lexicon"}, /* 38 */
+#endif
+ {
+ -1, -3,
+ -1, -2, 1, -2,
+ -3, -1, 2, -1,
+ -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
+ -1, 2, 0, 2,
+ -1, 3, 0, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"skewed quad (p2), from Lexicon"}, /* 39 */
+#endif
+ {
+ -2, -3, -1, -3,
+ -2, -2, 2, -2, 3, -2,
+ -1, -1, 1, -1, 3, -1,
+ -3, 1, -1, 1, 1, 1,
+ -3, 2, -2, 2, 2, 2,
+ 1, 3, 2, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"snake pit II (p3), from Lexicon"}, /* 40 */
+#endif
+ {
+ 0, -5, 1, -5,
+ -1, -4, 2, -4,
+ -1, -3, 1, -3, 2, -3,
+ -4, -2, -3, -2, -1, -2,
+ -5, -1, -3, -1, -1, -1, 1, -1, 2, -1, 3, -1, 4, -1,
+ -5, 0, 5, 0,
+ -4, 1, -3, 1, -2, 1, -1, 1, 1, 1, 3, 1, 5, 1,
+ 1, 2, 3, 2, 4, 2,
+ -2, 3, -1, 3, 1, 3,
+ -2, 4, 1, 4,
+ -1, 5, 0, 5,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"spark coil (p2), from Lexicon"}, /* -- */
+#endif
+ {
+ -4, -2, -3, -2, 2, -2, 3, -2,
+ -4, -1, -2, -1, 1, -1, 3, -1,
+ -2, 0, 1, 0,
+ -4, 1, -2, 1, 1, 1, 3, 1,
+ -4, 2, -3, 2, 2, 2, 3, 2,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"star (p3) (big cross), from Lexicon"}, /* 41 */
+#endif
+ {
+ 0, -5,
+ -1, -4, 0, -4, 1, -4,
+ -3, -3, -2, -3, -1, -3, 1, -3, 2, -3, 3, -3,
+ -3, -2, 3, -2,
+ -4, -1, -3, -1, 3, -1, 4, -1,
+ -5, 0, -4, 0, 4, 0, 5, 0,
+ -4, 1, -3, 1, 3, 1, 4, 1,
+ -3, 2, 3, 2,
+ -3, 3, -2, 3, -1, 3, 1, 3, 2, 3, 3, 3,
+ -1, 4, 0, 4, 1, 4,
+ 0, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"sym (p4)"}, /* 42 */
+#endif
+ {
+ -6, -2, -5, -2, 4, -2, 5, -2,
+ -6, -1, -5, -1, -3, -1, -2, -1, 1, -1, 2, -1, 4, -1, 5, -1,
+ -5, 0, -2, 0, 1, 0, 4, 0,
+ -5, 1, -4, 1, -2, 1, -1, 1, 0, 1, 1, 1, 3, 1, 4, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"turtle (c/3, p3), from Lexicon"}, /* 43 */
+#endif
+ {
+ -4, -5, -3, -5, -2, -5, 6, -5,
+ -4, -4, -3, -4, 0, -4, 2, -4, 3, -4, 5, -4, 6, -4,
+ -2, -3, -1, -3, 0, -3, 5, -3,
+ -4, -2, -1, -2, 1, -2, 5, -2,
+ -5, -1, 0, -1, 5, -1,
+ -5, 0, 0, 0, 5, 0,
+ -4, 1, -1, 1, 1, 1, 5, 1,
+ -2, 2, -1, 2, 0, 2, 5, 2,
+ -4, 3, -3, 3, 0, 3, 2, 3, 3, 3, 5, 3, 6, 3,
+ -4, 4, -3, 4, -2, 4, 6, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"two eaters (p3), from Lexicon"}, /* 44 */
+#endif
+ {
+ -4, -4, -3, -4,
+ -3, -3,
+ -3, -2, -1, -2,
+ -2, -1, -1, -1,
+ 1, 0, 2, 0,
+ 1, 1, 3, 1,
+ 3, 2,
+ 3, 3, 4, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"two pulsar quadrants (p3) (pulsar 18-22-20)"}, /* 45 */
+#endif
+ {
+ 0, -4, 1, -4, 2, -4,
+ -1, -2, 4, -2,
+ -2, -1, 0, -1, 4, -1,
+ -4, 0, -3, 0, -2, 0, 1, 0, 4, 0,
+ 2, 1,
+ 0, 2, 1, 2,
+ 0, 3,
+ 0, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"why not (p2), from Lexicon"}, /* 46 */
+#endif
+ {
+ 0, -3,
+ 0, -2, 2, -2,
+ -2, -1,
+ -3, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0,
+ -2, 1,
+ 0, 2, 2, 2,
+ 0, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"windmill (p4), from Lexicon"}, /* 47 */
+#endif
+ {
+ 2, -9,
+ 0, -8, 1, -8, 3, -8,
+ -2, -7, -1, -7,
+ 1, -6, 2, -6,
+ -2, -5, -1, -5, 0, -5,
+ -9, -3, -8, -3, -7, -3,
+ -6, -2, -5, -2, -2, -2, -1, -2, 0, -2, 2, -2, 3, -2,
+ 1, -1, 2, -1, 3, -1, 4, -1, 5, -1, 6, -1, 7, -1,
+ -8, 0, -7, 0, -6, 0, -5, 0, -4, 0, -3, 0, -2, 0,
+ -4, 1, -3, 1, -1, 1, 0, 1, 1, 1, 4, 1, 5, 1,
+ 6, 2, 7, 2, 8, 2,
+ -1, 4, 0, 4, 1, 4,
+ -3, 5, -2, 5,
+ 0, 6, 1, 6,
+ -4, 7, -2, 7, -1, 7,
+ -3, 8,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"worker bee (p9), from Lexicon"}, /* 48 */
+#endif
+ {
+ -8, -5, -7, -5, 6, -5, 7, -5,
+ -7, -4, 6, -4,
+ -7, -3, -5, -3, 4, -3, 6, -3,
+ -6, -2, -5, -2, 4, -2, 5, -2,
+ -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
+ -6, 2, -5, 2, 4, 2, 5, 2,
+ -7, 3, -5, 3, 4, 3, 6, 3,
+ -7, 4, 6, 4,
+ -8, 5, -7, 5, 6, 5, 7, 5,
+ 127
+ }
+};
+
+static char patterns_8S23B3[][2 * NUMPTS + 1] =
+{
+ /* Lexicon 22-2-02 http://www.argentum.freeserve.co.uk/lex_home.htm */
+#ifdef LIFE_NAMES
+ {"101 (p5), from Lexicon"}, /* 49 */
+#endif
+ {
+ -5, -6, -4, -6, 3, -6, 4, -6,
+ -6, -5, -4, -5, 3, -5, 5, -5,
+ -6, -4, 5, -4,
+ -9, -3, -8, -3, -6, -3, 5, -3, 7, -3, 8, -3,
+ -9, -2, -8, -2, -6, -2, -4, -2, -1, -2, 0, -2, 3, -2, 5, -2,
+ 7, -2, 8, -2,
+ -6, -1, -4, -1, -2, -1, 1, -1, 3, -1, 5, -1,
+ -6, 0, -4, 0, -2, 0, 1, 0, 3, 0, 5, 0,
+ -9, 1, -8, 1, -6, 1, -4, 1, -1, 1, 0, 1, 3, 1, 5, 1, 7, 1,
+ 8, 1,
+ -9, 2, -8, 2, -6, 2, 5, 2, 7, 2, 8, 2,
+ -6, 3, 5, 3,
+ -6, 4, -4, 4, 3, 4, 5, 4,
+ -5, 5, -4, 5, 3, 5, 4, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"1-2-3 (p3), from Lexicon"}, /* 50 */
+#endif
+ {
+ -3, -4, -2, -4,
+ -5, -3, -2, -3,
+ -5, -2, -4, -2, -2, -2, 0, -2, 1, -2,
+ -4, -1, -2, -1, 1, -1,
+ -4, 0, 1, 0, 3, 0, 4, 0,
+ -3, 1, -2, 1, -1, 1, 1, 1, 3, 1, 4, 1,
+ 0, 2,
+ -1, 3,
+ -1, 4, 0, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"1-2-3-4 (p4), from Lexicon"}, /* 51 */
+#endif
+ {
+ 0, -5,
+ -1, -4, 1, -4,
+ -2, -3, 0, -3, 2, -3,
+ -2, -2, 2, -2,
+ -5, -1, -4, -1, -2, -1, 0, -1, 2, -1, 4, -1, 5, -1,
+ -5, 0, -3, 0, 3, 0, 5, 0,
+ -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
+ 0, 3,
+ -1, 4, 1, 4,
+ 0, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Achim's p144, from Lexicon"}, /* 52 */
+#endif
+ {
+ -14, -9, -13, -9, 12, -9, 13, -9,
+ -14, -8, -13, -8, 12, -8, 13, -8,
+ 4, -7, 5, -7,
+ 3, -6, 6, -6,
+ 4, -5, 5, -5,
+ -1, -3, 0, -3, 1, -3,
+ -1, -2, 1, -2,
+ -1, -1, 0, -1, 1, -1,
+ -1, 0, 0, 0,
+ -2, 1, -1, 1, 0, 1,
+ -2, 2, 0, 2,
+ -2, 3, -1, 3, 0, 3,
+ -6, 5, -5, 5,
+ -7, 6, -4, 6,
+ -6, 7, -5, 7,
+ -14, 8, -13, 8, 12, 8, 13, 8,
+ -14, 9, -13, 9, 12, 9, 13, 9,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Achim's p16, from Lexicon"}, /* 53 */
+#endif
+ {
+ 1, -6, 2, -6,
+ 1, -5, 3, -5,
+ -4, -4, 1, -4, 3, -4, 4, -4,
+ -5, -3, -4, -3, 2, -3,
+ -6, -2, -3, -2,
+ -6, -1, -5, -1, -4, -1,
+ 4, 1, 5, 1, 6, 1,
+ 3, 2, 6, 2,
+ -2, 3, 4, 3, 5, 3,
+ -4, 4, -3, 4, -1, 4, 4, 4,
+ -3, 5, -1, 5,
+ -2, 6, -1, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Achim (p4), from Lexicon"}, /* 54 */
+#endif
+ {
+ -3, -4, -2, -4, 2, -4, 3, -4,
+ -4, -3, -1, -3, 1, -3, 4, -3,
+ -4, -2, -2, -2, -1, -2, 1, -2, 2, -2, 4, -2,
+ -5, -1, -4, -1, 4, -1, 5, -1,
+ -3, 0, -1, 0, 1, 0, 3, 0,
+ -5, 1, -4, 1, 4, 1, 5, 1,
+ -4, 2, -2, 2, -1, 2, 1, 2, 2, 2, 4, 2,
+ -4, 3, -1, 3, 1, 3, 4, 3,
+ -3, 4, -2, 4, 2, 4, 3, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Achim's p5 (pseudo-barberpole), from Lexicon"}, /* 55 */
+#endif
+ {
+ -6, -6, -5, -6,
+ -6, -5,
+ -4, -4,
+ -4, -3, -2, -3,
+ -2, -1, 0, -1,
+ 0, 1, 2, 1,
+ 2, 3, 3, 3,
+ 5, 4,
+ 4, 5, 5, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Achim's p8 (asym), from Lexicon"}, /* 56 */
+#endif
+ {
+ -3, -4, -2, -4,
+ -4, -3,
+ -3, -2, 1, -2,
+ -3, -1, 1, -1, 2, -1,
+ -1, 0, 1, 0,
+ -2, 1, -1, 1, 3, 1,
+ -1, 2, 3, 2,
+ 4, 3,
+ 2, 4, 3, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"acorn (stabilizes at 5206), from Lexicon"}, /* 58 */
+#endif
+ {
+ -2, -1,
+ 0, 0,
+ -3, 1, -2, 1, 1, 1, 2, 1, 3, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"A for All (p6), from Lexicon"}, /* 58 */
+#endif
+ {
+ -1, -5, 0, -5,
+ -2, -4, 1, -4,
+ -2, -3, -1, -3, 0, -3, 1, -3,
+ -4, -2, -2, -2, 1, -2, 3, -2,
+ -5, -1, 4, -1,
+ -5, 0, 4, 0,
+ -4, 1, -2, 1, 1, 1, 3, 1,
+ -2, 2, -1, 2, 0, 2, 1, 2,
+ -2, 3, 1, 3,
+ -1, 4, 0, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"airforce (p7), from Lexicon"}, /* 59 */
+#endif
+ {
+ 0, -7,
+ -1, -6, 1, -6,
+ 0, -5,
+ -2, -3, -1, -3, 0, -3, 1, -3, 2, -3,
+ -3, -2, 3, -2, 5, -2, 6, -2,
+ -4, -1, -2, -1, -1, -1, 3, -1, 5, -1, 6, -1,
+ -4, 0, -2, 0, 1, 0, 3, 0,
+ -7, 1, -6, 1, -4, 1, 0, 1, 1, 1, 3, 1,
+ -7, 2, -6, 2, -4, 2, 2, 2,
+ -3, 3, -2, 3, -1, 3, 0, 3, 1, 3,
+ -1, 5,
+ -2, 6, 0, 6,
+ -1, 7,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"AK47 (almost a gun)"}, /* 60 */
+#endif
+ {
+ -12, -6, -11, -6,
+ -12, -5, -11, -5,
+ 11, -4, 12, -4,
+ 11, -3,
+ 3, -2, 4, -2, 5, -2, 9, -2, 11, -2,
+ 2, -1, 6, -1, 9, -1, 10, -1,
+ -10, 0, -9, 0, 1, 0, 7, 0,
+ -11, 1, -9, 1, 1, 1, 7, 1,
+ -11, 2, 1, 2, 7, 2,
+ -12, 3, -11, 3, 2, 3, 6, 3,
+ 3, 4, 4, 4, 5, 4, 11, 4, 12, 4,
+ 11, 5, 12, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"asym (p4)"}, /* 61 */
+#endif
+ {
+ -4, -4, -2, -4,
+ -4, -3, -1, -3,
+ -1, -2,
+ -2, -1, -1, -1, 0, -1, 3, -1, 4, -1, 5, -1,
+ -5, 0, -4, 0, -3, 0, 0, 0, 1, 0, 2, 0,
+ 1, 1,
+ 1, 2, 4, 2,
+ 2, 3, 4, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"asym 2 (p4)"}, /* 62 */
+#endif
+ {
+ -3, -3, -1, -3, 2, -3, 4, -3, 5, -3, 6, -3,
+ -4, -2, -1, -2, 1, -2, 3, -2, 5, -2,
+ -4, -1,
+ 3, 0,
+ -6, 1, -4, 1, -2, 1, 0, 1, 3, 1,
+ -7, 2, -6, 2, -5, 2, -3, 2, 0, 2, 2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"aVerage (p5), from Lexicon"}, /* 63 */
+#endif
+ {
+ -3, -5, -2, -5,
+ -2, -4, -1, -4, 0, -4,
+ -4, -3, 1, -3,
+ -5, -2, -3, -2, -2, -2, -1, -2, 0, -2, 2, -2,
+ -5, -1, -3, -1, 2, -1, 5, -1,
+ -6, 0, -5, 0, -3, 0, -2, 0, -1, 0, 2, 0, 4, 0, 6, 0,
+ -5, 1, -3, 1, 2, 1, 5, 1,
+ -5, 2, -3, 2, -2, 2, -1, 2, 0, 2, 2, 2,
+ -4, 3, 1, 3,
+ -2, 4, -1, 4, 0, 4,
+ -3, 5, -2, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"babbling brook (4 cell rotor), from Lexicon"}, /* 64 */
+#endif
+ {
+ -1, -5,
+ -3, -4, -2, -4, -1, -4, 4, -4, 5, -4,
+ -4, -3, 0, -3, 1, -3, 4, -3,
+ -7, -2, -4, -2, -2, -2, -1, -2, 2, -2, 4, -2,
+ -8, -1, -6, -1, -4, -1, 1, -1, 2, -1, 5, -1, 6, -1,
+ -7, 0, -6, 0, -3, 0, -2, 0, 3, 0, 5, 0, 7, 0,
+ -5, 1, -3, 1, 0, 1, 1, 1, 3, 1, 6, 1,
+ -5, 2, -2, 2, -1, 2, 3, 2,
+ -6, 3, -5, 3, 0, 3, 1, 3, 2, 3,
+ 0, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"baker's dozen (p12), from Lexicon"}, /* 65 */
+#endif
+ {
+ -11, -5, -10, -5, 0, -5, 1, -5,
+ -11, -4, -10, -4, -9, -4, -8, -4, -6, -4, 0, -4, 1, -4,
+ -11, -3, -9, -3, -6, -3, -5, -3, -4, -3,
+ 0, -2,
+ -7, -1, -6, -1, -1, -1, 1, -1,
+ -7, 0, -1, 0, 2, 0, 7, 0,
+ 0, 1, 1, 1, 6, 1, 7, 1,
+ 4, 3, 5, 3, 6, 3, 9, 3, 11, 3,
+ -1, 4, 0, 4, 6, 4, 8, 4, 9, 4, 10, 4, 11, 4,
+ -1, 5, 0, 5, 10, 5, 11, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"big glider 2 (c/4 diagonal, p4)"}, /* 66 */
+#endif
+ {
+ 0, -9, 1, -9,
+ 0, -8, 2, -8,
+ 0, -7,
+ 1, -6, 2, -6, 3, -6,
+ 1, -5, 3, -5, 4, -5, 5, -5,
+ 1, -4, 4, -4, 5, -4,
+ 3, -3, 5, -3, 7, -3, 8, -3,
+ 2, -2, 3, -2, 5, -2, 7, -2,
+ 1, -1, 2, -1, 7, -1,
+ -9, 0, -8, 0, -7, 0,
+ -9, 1, -6, 1, -5, 1, -4, 1, -1, 1, 3, 1, 4, 1,
+ -8, 2, -6, 2, -2, 2, -1, 2,
+ -6, 3, -5, 3, -3, 3, -2, 3, 1, 3,
+ -5, 4, -4, 4, 1, 4,
+ -5, 5, -4, 5, -3, 5, -2, 5,
+ -3, 7, -2, 7, -1, 7,
+ -3, 8,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"big glider 3 (c4 diagonal, p4)"}, /* 67 */
+#endif
+ {
+ -1, -8,
+ -2, -7, -1, -7,
+ -2, -6, 0, -6,
+ 0, -4, 2, -4,
+ -2, -3, 0, -3, 2, -3,
+ -7, -2, -3, -2, -2, -2, 0, -2, 2, -2, 3, -2,
+ -8, -1, -7, -1, -6, -1, -5, -1, -2, -1, 4, -1,
+ -8, 0, -5, 0, -4, 0, -2, 0, -1, 0, 3, 0, 4, 0,
+ -6, 1, -5, 1, 0, 1,
+ -4, 2, -3, 2, 1, 2,
+ -3, 3, -2, 3, -1, 3, 2, 3, 4, 3, 5, 3, 6, 3, 7, 3,
+ -3, 4, 0, 4, 3, 4, 4, 4, 5, 4,
+ -1, 5, 0, 5, 1, 5,
+ 1, 6, 2, 6, 3, 6,
+ 2, 7, 3, 7,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"blockers (p8) (oscillator 7)"}, /* 68 */
+#endif
+ {
+ -4, -2, -3, -2, -2, -2, -1, -2, 4, -2, 5, -2, 6, -2, 7, -2,
+ -9, -1, -8, -1, 0, -1, 8, -1,
+ -9, 0, -8, 0, -5, 0, -4, 0, 0, 0, 3, 0, 4, 0, 8, 0,
+ -5, 1, -4, 1, -1, 1, 3, 1, 4, 1, 7, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"boss (p4), from Lexicon"}, /* 69 */
+#endif
+ {
+ 0, -7,
+ -1, -6, 1, -6,
+ -1, -5, 1, -5,
+ -2, -4, -1, -4, 1, -4, 2, -4,
+ -3, -3, 3, -3,
+ -4, -2, -2, -2, 0, -2, 2, -2, 4, -2,
+ -4, -1, -2, -1, 2, -1, 4, -1,
+ -5, 0, -4, 0, -2, 0, 2, 0, 4, 0, 5, 0,
+ -5, 1, -2, 1, 0, 1, 2, 1, 5, 1,
+ -3, 2, 3, 2,
+ -2, 3, -1, 3, 1, 3, 2, 3,
+ -1, 4, 1, 4,
+ -1, 5, 1, 5,
+ 0, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"brain (c/3, p3)"}, /* 70 */
+#endif
+ {
+ -3, -8, -2, -8, 4, -8,
+ -5, -7, -4, -7, 4, -7,
+ -5, -6, -4, -6, -2, -6, 1, -6, 2, -6, 4, -6,
+ 1, -5,
+ -4, -4, -3, -4, -1, -4, 4, -4,
+ -4, -3, -3, -3, 0, -3, 1, -3, 2, -3,
+ -2, -2, 5, -2,
+ -2, -1, -1, -1, 0, -1, 1, -1, 2, -1, 3, -1, 5, -1,
+ -2, 1, -1, 1, 0, 1, 1, 1, 2, 1, 3, 1, 5, 1,
+ -2, 2, 5, 2,
+ -4, 3, -3, 3, 0, 3, 1, 3, 2, 3,
+ -4, 4, -3, 4, -1, 4, 4, 4,
+ 1, 5,
+ -5, 6, -4, 6, -2, 6, 1, 6, 2, 6, 4, 6,
+ -5, 7, -4, 7, 4, 7,
+ -3, 8, -2, 8, 4, 8,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"buckaroo (queen bee shuttle, piston) (p30)"}, /* 71 */
+#endif
+ {
+ -10, -6,
+ -12, -5, -10, -5,
+ -11, -4, -10, -4,
+ -1, -3,
+ -3, -2, -1, -2,
+ -4, -1, -2, -1,
+ -5, 0, -2, 0, 10, 0, 11, 0,
+ -4, 1, -2, 1, 10, 1, 11, 1,
+ -9, 2, -8, 2, -3, 2, -1, 2,
+ -10, 3, -8, 3, -1, 3,
+ -10, 4,
+ -11, 5, -10, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"bunnies (parent of rabbits, stabilizes at 17332)"}, /* 72 */
+#endif
+ {
+ -4, -2, 2, -2,
+ -2, -1, 2, -1,
+ -2, 0, 1, 0, 3, 0,
+ -3, 1, -1, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"burloaferimeter (p7), from Lexicon"}, /* 73 */
+#endif
+ {
+ -1, -5, 0, -5,
+ 0, -4,
+ -1, -3,
+ -2, -2, 0, -2, 1, -2, 2, -2,
+ -2, -1, 0, -1, 3, -1,
+ -5, 0, -4, 0, -2, 0, 2, 0, 4, 0,
+ -5, 1, -4, 1, -2, 1, 3, 1,
+ -1, 2, 0, 2, 1, 2, 2, 2,
+ -1, 4, 0, 4,
+ -1, 5, 0, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Canada goose (c/4, p4) (diagonal ship)"}, /* 74 */
+#endif
+ {
+ -6, -6, -5, -6, -4, -6,
+ -6, -5, 4, -5, 5, -5,
+ -5, -4, 2, -4, 3, -4, 4, -4, 6, -4,
+ -3, -3, -2, -3, 1, -3, 2, -3,
+ -2, -2,
+ 2, -1,
+ -2, 0, -1, 0, 3, 0,
+ -3, 1, -1, 1, 1, 1, 2, 1,
+ -3, 2, -1, 2, 2, 2, 4, 2, 5, 2,
+ -4, 3, 1, 3, 2, 3,
+ -4, 4, -3, 4,
+ -4, 5, -3, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"candelabra (p3), from Lexicon"}, /* 75 */
+#endif
+ {
+ -4, -3, -3, -3, 2, -3, 3, -3,
+ -7, -2, -4, -2, 3, -2, 6, -2,
+ -8, -1, -6, -1, -4, -1, 3, -1, 5, -1, 7, -1,
+ -7, 0, -4, 0, -2, 0, -1, 0, 0, 0, 1, 0, 3, 0, 6, 0,
+ -4, 1, -2, 1, 1, 1, 3, 1,
+ -3, 2, 2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"carnival shuttle (p12) (w/ monograms, fencepost)"}, /* 76 */
+#endif
+ {
+ 14, -3, 18, -3,
+ -19, -2, -18, -2, -14, -2, -13, -2, 14, -2, 15, -2, 16, -2,
+ 17, -2, 18, -2,
+ -18, -1, -16, -1, -14, -1, -10, -1, -7, -1, 0, -1, 1, -1,
+ 5, -1, 8, -1, 16, -1,
+ -18, 0, -17, 0, -15, 0, -14, 0, -11, 0, -10, 0, -6, 0, -5, 0,
+ 0, 0, 1, 0, 4, 0, 5, 0, 9, 0, 10, 0, 15, 0, 17, 0,
+ -18, 1, -16, 1, -14, 1, -10, 1, -7, 1, 0, 1, 1, 1, 5, 1, 8,
+ 1, 16, 1,
+ -19, 2, -18, 2, -14, 2, -13, 2, 14, 2, 15, 2, 16, 2, 17, 2,
+ 18, 2,
+ 14, 3, 18, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"caterer (p3) (question), from Lexicon"}, /* 77 */
+#endif
+ {
+ -2, -4, -1, -4, 0, -4,
+ 2, -3,
+ -3, -2, 2, -2,
+ 1, -1,
+ -2, 0, -1, 0,
+ -2, 1,
+ -2, 2,
+ -2, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"cauldron (p8), from Lexicon"}, /* 78 */
+#endif
+ {
+ 0, -6,
+ -1, -5, 1, -5,
+ 0, -4,
+ -2, -2, -1, -2, 0, -2, 1, -2, 2, -2,
+ -5, -1, -3, -1, 3, -1, 5, -1,
+ -5, 0, -4, 0, -2, 0, 2, 0, 4, 0, 5, 0,
+ -2, 1, 2, 1,
+ -2, 2, 2, 2,
+ -1, 3, 0, 3, 1, 3,
+ -1, 5, 0, 5, 2, 5,
+ -1, 6, 1, 6, 2, 6,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"cavity (p2), from Lexicon"}, /* -- */
+#endif
+ {
+ -4, -4, -3, -4,
+ -3, -3,
+ -3, -2, -1, -2, 0, -2,
+ -2, -1, 1, -1,
+ 1, 0,
+ 0, 1,
+ 1, 2, 2, 2, 3, 2,
+ 3, 3,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"chemist (p5), from Lexicon"}, /* 79 */
+#endif
+ {
+ 0, -6,
+ 0, -5, 1, -5, 2, -5,
+ 3, -4,
+ -2, -3, -1, -3, 0, -3, 3, -3, 6, -3, 7, -3,
+ -3, -2, -1, -2, 1, -2, 3, -2, 5, -2, 7, -2,
+ -3, -1, 1, -1, 3, -1, 5, -1,
+ -6, 0, -5, 0, -3, 0, 3, 0, 5, 0, 6, 0,
+ -5, 1, -3, 1, -1, 1, 3, 1,
+ -7, 2, -5, 2, -3, 2, -1, 2, 1, 2, 3, 2,
+ -7, 3, -6, 3, -3, 3, 0, 3, 1, 3, 2, 3,
+ -3, 4,
+ -2, 5, -1, 5, 0, 5,
+ 0, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Coe ship (c/2, p16), from Lexicon"}, /* 80 */
+#endif
+ {
+ -1, -4, 0, -4, 1, -4, 2, -4, 3, -4, 4, -4,
+ -3, -3, -2, -3, 4, -3,
+ -5, -2, -4, -2, -2, -2, 4, -2,
+ -1, -1, 3, -1,
+ 1, 0,
+ 1, 1, 2, 1,
+ 0, 2, 1, 2, 2, 2, 3, 2,
+ 0, 3, 1, 3, 3, 3, 4, 3,
+ 2, 4, 3, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"converter (using Kok's galaxy (p8) (turbine))"}, /* 81 */
+#endif
+ {
+ -6, -6, -4, -6, -1, -6,
+ -6, -5, -5, -5, -4, -5, -2, -5, 0, -5, 1, -5,
+ -7, -4, 0, -4, 6, -4,
+ -6, -3, 0, -3, 1, -3, 5, -3, 7, -3,
+ 6, -2, 7, -2,
+ -7, -1, -6, -1, 0, -1,
+ -6, 0, 1, 0,
+ -7, 1, -6, 1, -4, 1, -2, 1, -1, 1, 0, 1,
+ -5, 2, -2, 2, 0, 2,
+ 5, 3, 6, 3, 7, 3,
+ 5, 4, 7, 4,
+ 5, 5, 7, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"cousins (p3), from Lexicon"}, /* 82 */
+#endif
+ {
+ -1, -3, 1, -3, 2, -3,
+ -3, -2, -2, -2, -1, -2, 1, -2, 3, -2,
+ -6, -1, -4, -1, 3, -1,
+ -6, 0, -5, 0, -3, 0, -2, 0, 0, 0, 1, 0, 3, 0, 5, 0, 6, 0,
+ -3, 1, -1, 1, 4, 1, 6, 1,
+ -3, 2, -1, 2, 1, 2, 2, 2, 3, 2,
+ -2, 3, -1, 3, 1, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"cross II (p3), from Lexicon"}, /* 83 */
+#endif
+ {
+ -4, -6, -3, -6, -2, -6, -1, -6, 1, -6, 2, -6, 3, -6, 4, -6,
+ -4, -5, -1, -5, 1, -5, 4, -5,
+ -6, -4, -5, -4, -4, -4, -1, -4, 0, -4, 1, -4, 4, -4, 5, -4,
+ 6, -4,
+ -6, -3, 6, -3,
+ -6, -2, 6, -2,
+ -6, -1, -5, -1, -4, -1, 4, -1, 5, -1, 6, -1,
+ -4, 0, 4, 0,
+ -6, 1, -5, 1, -4, 1, 4, 1, 5, 1, 6, 1,
+ -6, 2, 6, 2,
+ -6, 3, 6, 3,
+ -6, 4, -5, 4, -4, 4, -1, 4, 0, 4, 1, 4, 4, 4, 5, 4, 6, 4,
+ -4, 5, -1, 5, 1, 5, 4, 5,
+ -4, 6, -3, 6, -2, 6, -1, 6, 1, 6, 2, 6, 3, 6, 4, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"crowd (p3), from Lexicon"}, /* 84 */
+#endif
+ {
+ 4, -7,
+ 2, -6, 3, -6, 4, -6,
+ -2, -5, -1, -5, 1, -5,
+ -2, -4, 2, -4,
+ 0, -3, 1, -3, 3, -3,
+ -4, -2, -3, -2, -2, -2, -1, -2, 3, -2,
+ -7, -1, -5, -1, 1, -1, 3, -1, 5, -1, 6, -1,
+ -7, 0, -6, 0, -4, 0, -2, 0, 4, 0, 6, 0,
+ -4, 1, 0, 1, 1, 1, 2, 1, 3, 1,
+ -4, 2, -2, 2, -1, 2,
+ -3, 3, 1, 3,
+ -2, 4, 0, 4, 1, 4,
+ -5, 5, -4, 5, -3, 5,
+ -5, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"dart (c/3, p3), from Lexicon"}, /* 85 */
+#endif
+ {
+ 3, -7,
+ 2, -6, 4, -6,
+ 1, -5, 2, -5,
+ 4, -4,
+ 0, -3, 4, -3,
+ -3, -2, 0, -2,
+ -4, -1, -2, -1, 1, -1, 2, -1, 3, -1, 4, -1,
+ -5, 0, -2, 0,
+ -4, 1, -2, 1, 1, 1, 2, 1, 3, 1, 4, 1,
+ -3, 2, 0, 2,
+ 0, 3, 4, 3,
+ 4, 4,
+ 1, 5, 2, 5,
+ 2, 6, 4, 6,
+ 3, 7,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"diag sym (p4)"}, /* 86 */
+#endif
+ {
+ -2, -4, 0, -4,
+ -2, -3, 0, -3, 2, -3, 3, -3,
+ -4, -2, -3, -2, 2, -2,
+ 0, -1, 1, -1, 2, -1,
+ -4, 0, -3, 0, -1, 0, 2, 0,
+ -1, 1, 2, 1,
+ -3, 2, -2, 2, -1, 2, 0, 2, 1, 2,
+ -3, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"diamond ring (p3) (stargate repeater)"}, /* 87 */
+#endif
+ {
+ 0, -6,
+ -1, -5, 1, -5,
+ -2, -4, 0, -4, 2, -4,
+ -2, -3, 2, -3,
+ -4, -2, -3, -2, 0, -2, 3, -2, 4, -2,
+ -5, -1, 0, -1, 5, -1,
+ -6, 0, -4, 0, -2, 0, -1, 0, 1, 0, 2, 0, 4, 0, 6, 0,
+ -5, 1, 0, 1, 5, 1,
+ -4, 2, -3, 2, 0, 2, 3, 2, 4, 2,
+ -2, 3, 2, 3,
+ -2, 4, 0, 4, 2, 4,
+ -1, 5, 1, 5,
+ 0, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"double ewe, from Lexicon"}, /* 88 */
+#endif
+ {
+ -4, -10, -3, -10,
+ -3, -9,
+ -4, -8,
+ -4, -7, -3, -7,
+ -1, -6, 0, -6,
+ -4, -5, -3, -5, -2, -5, 0, -5,
+ -10, -4, -8, -4, -7, -4, -5, -4,
+ -10, -3, -9, -3, -7, -3, -5, -3,
+ -5, -2, -1, -2,
+ -6, -1, -2, -1, -1, -1, 4, -1, 5, -1,
+ -6, 0, -5, 0, 0, 0, 1, 0, 5, 0,
+ 0, 1, 4, 1,
+ 4, 2, 6, 2, 8, 2, 9, 2,
+ 4, 3, 6, 3, 7, 3, 9, 3,
+ -1, 4, 1, 4, 2, 4, 3, 4,
+ -1, 5, 0, 5,
+ 2, 6, 3, 6,
+ 3, 7,
+ 2, 8,
+ 2, 9, 3, 9,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"dinner table (p12) (whirly thing), from Lexicon"}, /* 89 */
+#endif
+ {
+ -5, -6,
+ -5, -5, -4, -5, -3, -5, 5, -5, 6, -5,
+ -2, -4, 5, -4,
+ -3, -3, -2, -3, 3, -3, 5, -3,
+ 3, -2, 4, -2,
+ 0, -1, 1, -1,
+ 0, 0, 1, 0,
+ 0, 1, 1, 1,
+ -4, 2, -3, 2,
+ -5, 3, -3, 3, 2, 3, 3, 3,
+ -5, 4, 2, 4,
+ -6, 5, -5, 5, 3, 5, 4, 5, 5, 5,
+ 5, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"eater-bound pond (p3), from Lexicon"}, /* 90 */
+#endif
+ {
+ -6, -6,
+ -6, -5, -5, -5, -4, -5,
+ -3, -4,
+ -4, -3, -3, -3,
+ -3, -2, -2, -2,
+ -2, -1, -1, -1,
+ -3, 0, 0, 0,
+ -3, 1, 0, 1, 1, 1,
+ -2, 2, -1, 2, 1, 2, 2, 2, 3, 2,
+ 2, 3, 4, 3,
+ 4, 4,
+ 4, 5, 5, 5,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"eater plug (p2), from Lexicon"}, /* -- */
+#endif
+ {
+ 3, -4,
+ 1, -3, 2, -3, 3, -3,
+ 0, -2,
+ 1, -1,
+ -2, 0, 1, 0,
+ -3, 1, -1, 1, 0, 1,
+ -3, 2,
+ -4, 3, -3, 3,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"edge-repair spaceship (and Hershel) (c/3, p3)"}, /* 91 */
+#endif
+ {
+ 4, -3,
+ -12, -2, 3, -2, 4, -2, 5, -2, 6, -2,
+ -12, -1, -10, -1, -2, -1, 2, -1, 6, -1, 7, -1, 9, -1, 10, -1,
+ -12, 0, -11, 0, -10, 0, -3, 0, -2, 0, -1, 0, 0, 0, 6, 0,
+ 9, 0, 10, 0,
+ -10, 1, -4, 1, 0, 1, 8, 1, 11, 1,
+ -3, 2, -1, 2, 2, 2,
+ 1, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Elkies' p5, from Lexicon"}, /* 92 */
+#endif
+ {
+ -3, -4,
+ -4, -3, -1, -3, 0, -3, 1, -3,
+ -2, -2,
+ -1, -1, 1, -1, 4, -1,
+ -2, 0, -1, 0, 1, 0, 2, 0, 3, 0, 4, 0,
+ 0, 1,
+ 0, 2, 2, 2,
+ 1, 3, 2, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"en retard (p3)"}, /* 93 */
+#endif
+ {
+ 0, -5,
+ -1, -4, 1, -4,
+ -5, -3, -4, -3, -2, -3, 0, -3, 2, -3, 4, -3, 5, -3,
+ -4, -2, -2, -2, 2, -2, 4, -2,
+ -5, -1, -2, -1, 0, -1, 2, -1, 5, -1,
+ -4, 0, -3, 0, 3, 0, 4, 0,
+ -2, 1, -1, 1, 1, 1, 2, 1,
+ -2, 2, 0, 2, 2, 2,
+ -1, 3, 1, 3,
+ -3, 4, -1, 4, 1, 4, 3, 4,
+ -3, 5, -2, 5, 2, 5, 3, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Eureka (p30) (a pre-pulsar shuttle)"}, /* 94 */
+#endif
+ {
+ -8, -5, 7, -5,
+ -9, -4, -7, -4, 1, -4, 2, -4, 6, -4, 8, -4,
+ -8, -3, 0, -3, 1, -3, 2, -3, 7, -3,
+ 1, -2, 2, -2,
+ 1, 2, 2, 2,
+ -8, 3, 0, 3, 1, 3, 2, 3, 7, 3,
+ -9, 4, -7, 4, 1, 4, 2, 4, 6, 4, 8, 4,
+ -8, 5, 7, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"extremely impressive (p6), from Lexicon"}, /* 95 */
+#endif
+ {
+ -2, -5, -1, -5,
+ -3, -4, -1, -4, 0, -4, 1, -4,
+ -3, -3, 2, -3,
+ -6, -2, -5, -2, -3, -2, 1, -2, 2, -2,
+ -6, -1, -5, -1, -3, -1, 3, -1, 4, -1,
+ -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 5, 0,
+ 4, 1, 5, 1,
+ 0, 2,
+ -1, 3, 1, 3,
+ 0, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Fast Forward Force Field with LWSS, from Lexicon"}, /* 96 */
+#endif
+ {
+ -1, -3, 6, -3,
+ 0, -2, 7, -2, 8, -2,
+ -6, -1, -5, -1, -2, -1, -1, -1, 0, -1, 6, -1, 7, -1,
+ -8, 0, -7, 0, -5, 0, -4, 0,
+ -8, 1, -7, 1, -6, 1, -5, 1, 5, 1,
+ -7, 2, -6, 2, 4, 2, 5, 2,
+ 4, 3, 6, 3,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"figure-8 (p8), from Lexicon"}, /* -- */
+#endif
+ {
+ -3, -3, -2, -3, -1, -3,
+ -3, -2, -2, -2, -1, -2,
+ -3, -1, -2, -1, -1, -1,
+ 0, 0, 1, 0, 2, 0,
+ 0, 1, 1, 1, 2, 1,
+ 0, 2, 1, 2, 2, 2,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"fountain (p4), from Lexicon"}, /* 97 */
+#endif
+ {
+ 0, -7,
+ -6, -5, -5, -5, -3, -5, 3, -5, 5, -5, 6, -5,
+ -6, -4, 0, -4, 6, -4,
+ -5, -3, -4, -3, -2, -3, -1, -3, 1, -3, 2, -3, 4, -3, 5, -3,
+ -3, -1, -2, -1, 2, -1, 3, -1,
+ -9, 0, -8, 0, 8, 0, 9, 0,
+ -9, 1, -6, 1, -2, 1, 0, 1, 2, 1, 6, 1, 9, 1,
+ -8, 2, -7, 2, -6, 2, -4, 2, -3, 2, -2, 2, -1, 2, 0, 2, 1, 2,
+ 2, 2, 3, 2, 4, 2, 6, 2, 7, 2, 8, 2,
+ -5, 3, 0, 3, 5, 3,
+ -6, 4, -5, 4, 5, 4, 6, 4,
+ -6, 5, 6, 5,
+ -4, 6, 4, 6,
+ -5, 7, -4, 7, 4, 7, 5, 7,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"frog II (p3), from Lexicon"}, /* 98 */
+#endif
+ {
+ -3, -6, -2, -6, 2, -6, 3, -6,
+ -3, -5, -1, -5, 1, -5, 3, -5,
+ -1, -4, 1, -4,
+ -2, -3, 0, -3, 2, -3,
+ -2, -2, -1, -2, 1, -2, 2, -2,
+ -4, -1, -3, -1, 3, -1, 4, -1,
+ -5, 0, -2, 0, 0, 0, 2, 0, 5, 0,
+ -4, 1, -2, 1, 2, 1, 4, 1,
+ -5, 2, -4, 2, -2, 2, 2, 2, 4, 2, 5, 2,
+ -1, 3, 0, 3, 1, 3,
+ -2, 5, 0, 5, 1, 5,
+ -2, 6, -1, 6, 1, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"germ (p3), from Lexicon"}, /* 99 */
+#endif
+ {
+ -1, -5, 0, -5,
+ 0, -4,
+ -2, -3,
+ -3, -2, -1, -2, 0, -2, 1, -2, 2, -2,
+ -3, -1, 2, -1,
+ -4, 0, -3, 0, -1, 0,
+ -3, 1, -1, 1, 1, 1, 2, 1, 3, 1, 4, 1,
+ -5, 2, -3, 2, -1, 2, 4, 2,
+ -5, 3, -4, 3, 0, 3, 1, 3, 2, 3,
+ 2, 4, 3, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"glasses (p2), from Lexicon"}, /* 100 */
+#endif
+ {
+ -5, -5, 4, -5,
+ -7, -4, -6, -4, -5, -4, 4, -4, 5, -4, 6, -4,
+ -8, -3, 7, -3,
+ -8, -2, -5, -2, -4, -2, -3, -2, 2, -2, 3, -2, 4, -2, 7, -2,
+ -9, -1, -8, -1, -6, -1, -2, -1, 1, -1, 5, -1, 7, -1, 8, -1,
+ -6, 0, -2, 0, -1, 0, 0, 0, 1, 0, 5, 0,
+ -6, 1, -2, 1, 1, 1, 5, 1,
+ -5, 2, -4, 2, -3, 2, 2, 2, 3, 2, 4, 2,
+ -5, 4, -4, 4, -2, 4, 1, 4, 3, 4, 4, 4,
+ -5, 5, -3, 5, -2, 5, 1, 5, 2, 5, 4, 5,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"glider-block cycle, from Lexicon"}, /* -- */
+#endif
+ {
+ -1, -3, 0, -3,
+ -1, -2, 0, -2,
+ -2, 1, 1, 1,
+ -4, 2, -2, 2, 1, 2, 3, 2,
+ -3, 3, -2, 3, 1, 3, 2, 3,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"glider pusher, from Lexicon"}, /* 101 */
+#endif
+ {
+ -3, -10, -2, -10,
+ -3, -9, -2, -9,
+ -2, -7,
+ -3, -6, -1, -6,
+ -3, -5, -1, -5,
+ -2, -4,
+ -5, -1, -4, -1, -2, -1, 0, -1, 1, -1,
+ -5, 0, 1, 0,
+ -4, 1, 0, 1,
+ -11, 2, -3, 2, -2, 2, -1, 2,
+ -10, 3,
+ -12, 4, -11, 4, -10, 4,
+ 5, 7, 10, 7,
+ 3, 8, 4, 8, 6, 8, 7, 8, 8, 8, 9, 8, 11, 8, 12, 8,
+ 5, 9, 10, 9,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Gosper glider gun (p30)"}, /* 102 */
+#endif
+ {
+ 6, -4,
+ 5, -3, 6, -3,
+ -6, -2, -5, -2, 8, -2, 9, -2, 16, -2,
+ -7, -1, 8, -1, 9, -1, 10, -1, 16, -1, 17, -1,
+ -18, 0, -17, 0, -8, 0, 8, 0, 9, 1,
+ -17, 1, -8, 1, 5, 1, 6, 1,
+ -8, 2, 6, 2,
+ -7, 3,
+ -6, 4, -5, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Gray counter (p4), from Lexicon"}, /* 103 */
+#endif
+ {
+ 0, -4,
+ -1, -3, 1, -3,
+ -2, -2, 0, -2, 2, -2,
+ -5, -1, -2, -1, 2, -1, 5, -1,
+ -6, 0, -4, 0, -2, 0, 2, 0, 4, 0, 6, 0,
+ -5, 1, -2, 1, 2, 1, 5, 1,
+ -2, 2, 0, 2, 2, 2,
+ -1, 3, 1, 3,
+ 0, 4,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"great on-off (p2), from Lexicon"}, /* --- */
+#endif
+ {
+ -2, -4, -1, -4,
+ -3, -3, 0, -3,
+ -3, -2, -1, -2,
+ -4, -1, -3, -1, -1, -1, 2, -1,
+ 0, 0, 1, 0, 3, 0,
+ 3, 1,
+ 0, 2, 1, 2, 2, 2,
+ 0, 3,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"harbor (p5), from Lexicon"}, /* 104 */
+#endif
+ {
+ -3, -8, -2, -8, 2, -8, 3, -8,
+ -3, -7, -1, -7, 1, -7, 3, -7,
+ -2, -6, 2, -6,
+ -3, -4, -2, -4, 2, -4, 3, -4,
+ -8, -3, -7, -3, -4, -3, -2, -3, 2, -3, 4, -3, 7, -3, 8, -3,
+ -8, -2, -6, -2, -4, -2, -3, -2, 3, -2, 4, -2, 6, -2, 8, -2,
+ -7, -1, 7, -1,
+ -7, 1, 7, 1,
+ -8, 2, -6, 2, -4, 2, -3, 2, 3, 2, 4, 2, 6, 2, 8, 2,
+ -8, 3, -7, 3, -4, 3, -2, 3, 2, 3, 4, 3, 7, 3, 8, 3,
+ -3, 4, -2, 4, 2, 4, 3, 4,
+ -2, 6, 2, 6,
+ -3, 7, -1, 7, 1, 7, 3, 7,
+ -3, 8, -2, 8, 2, 8, 3, 8,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Hertz oscillator (p8)"}, /* 105 */
+#endif
+ {
+ -2, -5, -1, -5,
+ -2, -4, -1, -4,
+ -7, -2, -6, -2, -2, -2, -1, -2, 0, -2, 1, -2, 5, -2, 6, -2,
+ -7, -1, -5, -1, -3, -1, 2, -1, 4, -1, 6, -1,
+ -5, 0, -3, 0, -2, 0, 2, 0, 4, 0,
+ -6, 1, -5, 1, -3, 1, 2, 1, 4, 1, 5, 1,
+ -2, 2, -1, 2, 0, 2, 1, 2,
+ -2, 4, -1, 4,
+ -2, 5, -1, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"hustler (p3), from Lexicon"}, /* 106 */
+#endif
+ {
+ 0, -6, 1, -6,
+ 0, -5, 1, -5,
+ -2, -3, -1, -3, 0, -3, 1, -3,
+ -5, -2, -3, -2, 2, -2,
+ -5, -1, -4, -1, -2, -1, 2, -1,
+ -2, 0, 2, 0, 4, 0, 5, 0,
+ -2, 1, 3, 1, 5, 1,
+ -1, 2, 0, 2, 1, 2, 2, 2,
+ -1, 4, 0, 4,
+ -1, 5, 0, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"hustler II (p4), from Lexicon"}, /* 107 */
+#endif
+ {
+ -4, -6,
+ -4, -5, -3, -5, -2, -5,
+ -1, -4,
+ -2, -3, 1, -3, 2, -3,
+ -8, -2, -6, -2, -5, -2, -3, -2, -1, -2, 0, -2, 3, -2,
+ -8, -1, -7, -1, -5, -1, -3, -1, 3, -1,
+ -3, 0, 2, 0,
+ -4, 1, 2, 1, 4, 1, 6, 1, 7, 1,
+ -4, 2, -1, 2, 0, 2, 2, 2, 4, 2, 5, 2, 7, 2,
+ -3, 3, -2, 3, 1, 3,
+ 0, 4,
+ 1, 5, 2, 5, 3, 5,
+ 3, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"HW emulator (p4), from Lexicon"}, /* 108 */
+#endif
+ {
+ -1, -3, 0, -3,
+ -6, -2, -5, -2, -3, -2, 2, -2, 4, -2, 5, -2,
+ -6, -1, 5, -1,
+ -5, 0, -4, 0, 3, 0, 4, 0,
+ -8, 1, -7, 1, -6, 1, -3, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
+ 5, 1, 6, 1, 7, 1,
+ -8, 2, -5, 2, 4, 2, 7, 2,
+ -7, 3, -6, 3, 5, 3, 6, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"infinite growth 1 (from smallest number)"}, /* 109 */
+#endif
+ {
+ 2, -3,
+ 0, -2, 2, -2, 3, -2,
+ 0, -1, 2, -1,
+ 0, 0,
+ -2, 1,
+ -4, 2, -2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"infinite growth 2 (from smallest area)"}, /* 110 */
+#endif
+ {
+ -2, -2, -1, -2, 0, -2, 2, -2,
+ -2, -1,
+ 1, 0, 2, 0,
+ -1, 1, 0, 1, 2, 1,
+ -2, 2, 0, 2, 2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"infinite growth 3 (from 1 dimension)"}, /* 111 */
+#endif
+ {
+ -19, 0, -18, 0, -17, 0, -16, 0, -15, 0, -14, 0, -13, 0,
+ -12, 0, -10, 0, -9, 0, -8, 0, -7, 0, -6, 0, -2, 0,
+ -1, 0, 0, 0, 7, 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, 0,
+ 13, 0, 15, 0, 16, 0, 17, 0, 18, 0, 19, 0,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"jack (p4), from Lexicon"}, /* 112 */
+#endif
+ {
+ -3, -4, 3, -4,
+ -3, -3, -2, -3, 2, -3, 3, -3,
+ -6, -2, -3, -2, -2, -2, 2, -2, 3, -2, 6, -2,
+ -6, -1, -5, -1, -4, -1, -1, -1, 1, -1, 4, -1, 5, -1, 6, -1,
+ -1, 0, 1, 0,
+ -6, 1, -5, 1, -4, 1, -1, 1, 1, 1, 4, 1, 5, 1, 6, 1,
+ -6, 2, -3, 2, -2, 2, 2, 2, 3, 2, 6, 2,
+ -3, 3, -2, 3, 2, 3, 3, 3,
+ -3, 4, 3, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"jam (p3), from Lexicon"}, /* 113 */
+#endif
+ {
+ 0, -3, 1, -3,
+ -1, -2, 2, -2,
+ -3, -1, 0, -1, 2, -1,
+ -3, 0, 1, 0,
+ -3, 1,
+ 0, 2,
+ -2, 3, -1, 3,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"Kok's galaxy (p8), from Lexicon"}, /* --- */
+#endif
+ {
+ -4, -4, -3, -4, -2, -4, -1, -4, 0, -4, 1, -4, 3, -4, 4, -4,
+ -4, -3, -3, -3, -2, -3, -1, -3, 0, -3, 1, -3, 3, -3, 4, -3,
+ 3, -2, 4, -2,
+ -4, -1, -3, -1, 3, -1, 4, -1,
+ -4, 0, -3, 0, 3, 0, 4, 0,
+ -4, 1, -3, 1, 3, 1, 4, 1,
+ -4, 2, -3, 2,
+ -4, 3, -3, 3, -1, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3,
+ -4, 4, -3, 4, -1, 4, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"Laputa (p2), from Lexicon"}, /* 114 */
+#endif
+ {
+ -3, -3, -2, -3, 0, -3, 1, -3,
+ -3, -2, -2, -2, 0, -2, 4, -2, 5, -2,
+ 2, -1, 5, -1,
+ -5, 0, -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 2, 0, 3, 0, 4, 0,
+ -6, 1, -3, 1, -1, 1,
+ -6, 2, -5, 2, -1, 2, 1, 2, 2, 2,
+ -2, 3, -1, 3, 1, 3, 2, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"light bulb (p2), from Lexicon"}, /* 115 */
+#endif
+ {
+ -2, -4, -1, -4, 1, -4,
+ -2, -3, 0, -3, 1, -3,
+ -1, -1, 0, -1, 1, -1,
+ -2, 0, 2, 0,
+ -2, 1, 2, 1,
+ -1, 2, 1, 2,
+ -3, 3, -1, 3, 1, 3, 3, 3,
+ -3, 4, -2, 4, 2, 4, 3, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"light bulb II (p2), from Lexicon"}, /* 116 */
+#endif
+ {
+ -1, -4,
+ -3, -3, -2, -3, -1, -3,
+ -4, -2,
+ -4, -1, -3, -1, -2, -1, -1, -1, 0, -1, 1, -1,
+ 2, 0,
+ -2, 1, 2, 1,
+ -2, 2, -1, 2, 1, 2,
+ 2, 3, 3, 3, 4, 3,
+ 4, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"loading dock (p3), from Lexicon"}, /* 117 */
+#endif
+ {
+ 0, -4,
+ -2, -3, -1, -3, 0, -3,
+ -3, -2, 1, -2, 2, -2,
+ -4, -1, -2, -1, -1, -1, 3, -1,
+ -3, 0, 1, 0, 2, 0, 4, 0,
+ -2, 1, -1, 1, 3, 1,
+ 0, 2, 1, 2, 2, 2,
+ 0, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"LW emulator (p4), from Lexicon"}, /* 118 */
+#endif
+ {
+ -5, -3, -4, -3, -2, -3, 1, -3, 3, -3, 4, -3,
+ -5, -2, 4, -2,
+ -4, -1, -3, -1, 2, -1, 3, -1,
+ -7, 0, -6, 0, -5, 0, -2, 0, -1, 0, 0, 0, 1, 0, 4, 0, 5, 0,
+ 6, 0,
+ -7, 1, -4, 1, 3, 1, 6, 1,
+ -6, 2, -5, 2, 4, 2, 5, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"mathematician (p5), from Lexicon"}, /* 119 */
+#endif
+ {
+ 0, -5,
+ -1, -4, 1, -4,
+ -1, -3, 1, -3,
+ -2, -2, -1, -2, 1, -2, 2, -2,
+ -4, -1, 4, -1,
+ -4, 0, -3, 0, -2, 0, 2, 0, 3, 0, 4, 0,
+ -4, 2, -3, 2, -2, 2, -1, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2,
+ -4, 3, 4, 3,
+ -1, 4, 0, 4, 1, 4, 2, 4,
+ -1, 5, 2, 5, 3, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"metamorphosis, from Lexicon"}, /* 120 */
+#endif
+ {
+ 5, -9,
+ 6, -8,
+ 4, -7, 5, -7, 6, -7,
+ -2, -1, 2, -1, 8, -1, 10, -1, 11, -1,
+ -14, 0, -13, 0, -3, 0, 3, 0, 8, 0, 10, 0, 12, 0,
+ -14, 1, -13, 1, -3, 1, 7, 1, 12, 1,
+ -3, 2, -2, 2, 2, 2, 8, 2, 10, 2, 12, 2,
+ -1, 3, 0, 3, 1, 3, 8, 3, 10, 3, 11, 3,
+ -1, 5, 0, 5, 1, 5,
+ -3, 6, -2, 6, 2, 6,
+ -14, 7, -13, 7, -3, 7, 13, 7, 14, 7,
+ -14, 8, -13, 8, -3, 8, 3, 8, 13, 8, 14, 8,
+ -2, 9, 2, 9,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"metamorphosis II, from Lexicon"}, /* 121 */
+#endif
+ {
+ 10, -15,
+ 9, -14,
+ 9, -13, 10, -13, 11, -13,
+ -3, -10, -1, -10,
+ -3, -9, 0, -9,
+ -12, -8, -11, -8, 0, -8, 1, -8,
+ -12, -7, -11, -7, -2, -7, 2, -7, 3, -7,
+ -7, -6, -6, -6, 0, -6, 1, -6,
+ -8, -5, -3, -5, 0, -5,
+ -3, -4, -1, -4,
+ 4, 1,
+ 3, 2, 4, 2, 5, 2,
+ 2, 3, 3, 3, 4, 3, 5, 3, 6, 3,
+ 1, 4, 3, 4, 5, 4, 7, 4,
+ 1, 5, 2, 5, 6, 5, 7, 5,
+ 4, 8,
+ 3, 9, 5, 9,
+ 3, 10, 5, 10,
+ 4, 11,
+ 3, 12, 4, 12,
+ 3, 13, 4, 13,
+ 3, 14, 4, 14,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"mini pressure cooker (p3), from Lexicon"}, /* 122 */
+#endif
+ {
+ 0, -5,
+ -1, -4, 1, -4,
+ -1, -3, 1, -3,
+ -2, -2, -1, -2, 1, -2, 2, -2,
+ -5, -1, -3, -1, 3, -1, 5, -1,
+ -5, 0, -4, 0, -2, 0, 0, 0, 2, 0, 4, 0, 5, 0,
+ -2, 1, 2, 1,
+ -2, 2, 0, 2, 2, 2,
+ -1, 3, 1, 3,
+ 0, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"multum in parvo (stabilizes at 3933)"}, /* 123 */
+#endif
+ {
+ 0, -2, 1, -2, 2, -2,
+ -1, -1, 2, -1,
+ -2, 0,
+ -3, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"MW emulator (p4), from Lexicon"}, /* 124 */
+#endif
+ {
+ -5, -3, -4, -3, -2, -3, 2, -3, 4, -3, 5, -3,
+ -5, -2, 5, -2,
+ -4, -1, -3, -1, 3, -1, 4, -1,
+ -7, 0, -6, 0, -5, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 5, 0,
+ 6, 0, 7, 0,
+ -7, 1, -4, 1, 4, 1, 7, 1,
+ -6, 2, -5, 2, 5, 2, 6, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"MW volcano (p5), from Lexicon"}, /* 125 */
+#endif
+ {
+ 0, -6,
+ -2, -5, 2, -5,
+ -3, -3, 3, -3,
+ -5, -2, -4, -2, -3, -2, -1, -2, 0, -2, 1, -2, 3, -2, 4, -2, 5, -2,
+ -6, -1, -2, -1, -1, -1, 1, -1, 2, -1, 6, -1,
+ -6, 0, -4, 0, -3, 0, -2, 0, 0, 0, 2, 0, 3, 0, 4, 0, 5, 0,
+ -5, 1,
+ -3, 2, -1, 2, 1, 2, 3, 2, 4, 2, 6, 2,
+ -4, 3, -3, 3, -1, 3, 0, 3, 1, 3, 3, 3, 5, 3, 6, 3,
+ -3, 4, -1, 4, 2, 4,
+ -3, 5, 0, 5, 1, 5,
+ -4, 6, -3, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"negentropy (p2), from Lexicon"}, /* 126 */
+#endif
+ {
+ -2, -6, -1, -6, 1, -6,
+ -2, -5, 0, -5, 1, -5,
+ -1, -3, 0, -3, 1, -3,
+ -2, -2, 0, -2, 2, -2, 4, -2, 5, -2,
+ -2, -1, -1, -1, 2, -1, 4, -1, 5, -1,
+ -5, 0, -4, 0, -2, 0, 2, 0,
+ -5, 1, -4, 1, -2, 1, 2, 1,
+ -1, 2, 0, 2, 1, 2,
+ -1, 4, 0, 4, 2, 4,
+ -1, 5, 1, 5, 2, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"new five (p3), from Lexicon"}, /* 127 */
+#endif
+ {
+ -2, -4, -1, -4,
+ -3, -3, 0, -3,
+ -3, -2, -1, -2, 2, -2,
+ -4, -1, -3, -1, -1, -1, 1, -1, 2, -1,
+ -4, 0,
+ -3, 1, -2, 1, -1, 1, 1, 1, 2, 1, 3, 1, 4, 1,
+ 1, 2, 4, 2,
+ -4, 3, -2, 3, -1, 3,
+ -4, 4, -3, 4, -1, 4, 0, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Noah's ark (2 switch engines), from Lexicon"}, /* 128 */
+#endif
+ {
+ 3, -7, 5, -7,
+ 2, -6,
+ 3, -5, 6, -5,
+ 5, -4, 6, -4, 7, -4,
+ -6, 2,
+ -7, 3, -5, 3,
+ -7, 5, -4, 5,
+ -5, 6, -4, 6,
+ -4, 7,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"octagon II (p5) (shining flower)"}, /* 129 */
+#endif
+ {
+ -1, -4, 0, -4,
+ -2, -3, 1, -3,
+ -3, -2, 2, -2,
+ -4, -1, 3, -1,
+ -4, 0, 3, 0,
+ -3, 1, 2, 1,
+ -2, 2, 1, 2,
+ -1, 3, 0, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"octagon IV (p4), from Lexicon"}, /* 130 */
+#endif
+ {
+ -1, -8, 0, -8,
+ -1, -7, 0, -7,
+ -2, -5, -1, -5, 0, -5, 1, -5,
+ -3, -4, 2, -4,
+ -4, -3, 3, -3,
+ -5, -2, 4, -2,
+ -8, -1, -7, -1, -5, -1, 4, -1, 6, -1, 7, -1,
+ -8, 0, -7, 0, -5, 0, 4, 0, 6, 0, 7, 0,
+ -5, 1, 4, 1,
+ -4, 2, 3, 2,
+ -3, 3, 2, 3,
+ -2, 4, -1, 4, 0, 4, 1, 4,
+ -1, 6, 0, 6,
+ -1, 7, 0, 7,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"odd keys (p3), fom Lexicon"}, /* 131 */
+#endif
+ {
+ 4, -2,
+ -5, -1, 3, -1, 5, -1,
+ -6, 0, -4, 0, -3, 0, -2, 0, 1, 0, 2, 0, 4, 0,
+ -5, 1, -2, 1, 1, 1,
+ -2, 2, 1, 2,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"Orion (c/4 diagonal, p4) (big glider 1)"}, /* --- */
+#endif
+ {
+ -4, -7, -3, -7,
+ -4, -6, -2, -6,
+ -4, -5,
+ -7, -4, -6, -4, -4, -4,
+ -7, -3, -2, -3,
+ -7, -2, -5, -2, -4, -2, 3, -2, 4, -2, 5, -2,
+ -2, -1, -1, -1, 0, -1, 5, -1, 6, -1,
+ -1, 0, 0, 0, 1, 0, 3, 0, 5, 0,
+ 6, 1,
+ -1, 2, 1, 2,
+ -2, 3, -1, 3, 1, 3,
+ -1, 4,
+ -3, 5, -2, 5, 0, 5,
+ 0, 6,
+ -2, 7, -1, 7,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"Orion (c/4 diagonal, p4) (smaller variant)"},
+#endif
+ {
+ -5, -6, -4, -6,
+ -6, -5, -5, -5,
+ -4, -4,
+ -2, -3, 3, -3, 4, -3, 5, -3,
+ -2, -2, -1, -2, 0, -2, 5, -2, 6, -2,
+ -1, -1, 0, -1, 1, -1, 3, -1, 5, -1,
+ 6, 0,
+ -1, 1, 1, 1,
+ -2, 2, -1, 2, 1, 2,
+ -1, 3,
+ -3, 4, -2, 4, 0, 4,
+ 0, 5,
+ -2, 6, -1, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"p22 oscillator, from Lexicon"},
+#endif
+ {
+ -13, -5, -12, -5,
+ -12, -4,
+ -12, -3, -10, -3, 5, -3, 6, -3,
+ -11, -2, -10, -2, 3, -2, 4, -2, 7, -2,
+ -7, -1, -6, -1, -5, -1, 3, -1, 4, -1, 6, -1, 7, -1,
+ -7, 0, -6, 0, -4, 0, -3, 0, 5, 0, 6, 0, 7, 0,
+ -7, 1, -4, 1, -3, 1, 10, 1, 11, 1,
+ -6, 2, -5, 2, 10, 2, 12, 2,
+ 12, 3,
+ 12, 4, 13, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"p54 shuttle (piston3)"},
+#endif
+ {
+ -14, -8, -13, -8, 13, -8, 14, -8,
+ -13, -7, 13, -7,
+ -13, -6, -11, -6, 11, -6, 13, -6,
+ -12, -5, -11, -5, -1, -5, 11, -5, 12, -5,
+ 0, -4,
+ -6, -3, -5, -3, 1, -3,
+ -6, -2, -5, -2, -2, -2, 0, -2,
+ -1, -1,
+ -1, 1,
+ -6, 2, -5, 2, -2, 2, 0, 2,
+ -6, 3, -5, 3, 1, 3,
+ 0, 4,
+ -12, 5, -11, 5, -1, 5, 11, 5, 12, 5,
+ -13, 6, -11, 6, 11, 6, 13, 6,
+ -13, 7, 13, 7,
+ -14, 8, -13, 8, 13, 8, 14, 8,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pedestle (p5)"},
+#endif
+ {
+ 0, -8,
+ -1, -7, 1, -7,
+ -4, -6, -1, -6, 0, -6,
+ -4, -5, -3, -5, -2, -5,
+ 0, -4, 1, -4, 2, -4,
+ -2, -3, -1, -3, 3, -3,
+ -3, -2, 2, -2, 5, -2,
+ -4, -1, -2, -1, 0, -1, 2, -1, 4, -1, 5, -1,
+ -4, 0, -2, 0, 2, 0, 4, 0,
+ -5, 1, -4, 1, -2, 1, 0, 1, 2, 1, 4, 1,
+ -5, 2, -2, 2, 3, 2,
+ -3, 3, 1, 3, 2, 3,
+ -2, 4, -1, 4, 0, 4,
+ 2, 5, 3, 5, 4, 5,
+ 0, 6, 1, 6, 4, 6,
+ -1, 7, 1, 7,
+ 0, 8,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"penny lane (p4)"},
+#endif
+ {
+ -4, -5, -3, -5, 3, -5, 4, -5,
+ -4, -4, 4, -4,
+ -7, -3, -6, -3, -4, -3, 4, -3, 6, -3, 7, -3,
+ -7, -2, -6, -2, -4, -2, -2, -2, -1, -2, 0, -2, 1, -2, 2, -2,
+ 4, -2, 6, -2, 7, -2,
+ -3, -1, 0, -1, 3, -1,
+ -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
+ 0, 2,
+ -1, 3, 1, 3,
+ 0, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pentadecathlon (p15), from Lexicon"},
+#endif
+ {
+ /* -5, 0, -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, */
+ 1, -4,
+ 1, -3, 3, -3,
+ 1, -2, 2, -2,
+ -5, 0, -4, 0, -3, 0,
+ -3, 1,
+ -4, 2, 2, 2, 3, 2,
+ 3, 3, 4, 3,
+ 2, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pentant (p5), from Lexicon"},
+#endif
+ {
+ -5, -6, -4, -6,
+ -4, -5,
+ -4, -4, -2, -4,
+ -3, -3, -2, -3, 3, -3, 4, -3,
+ 4, -2,
+ 0, -1, 1, -1, 2, -1, 3, -1,
+ 0, 0,
+ -3, 1, 1, 1, 2, 1, 3, 1,
+ -3, 2, -2, 2, -1, 2, 0, 2, 3, 2,
+ 0, 3,
+ -1, 4,
+ -1, 5, 0, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pentoad (p5), from Lexicon"},
+#endif
+ {
+ 5, -6, 6, -6,
+ 5, -5,
+ 3, -4, 5, -4,
+ 3, -3, 4, -3,
+ -1, -2, 0, -2,
+ 0, -1,
+ 0, 0,
+ 0, 1, 1, 1,
+ -4, 2, -3, 2,
+ -5, 3, -3, 3,
+ -5, 4,
+ -6, 5, -5, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pi oscillator (p88)"},
+#endif
+ {
+ 6, -12,
+ 4, -11, 5, -11, 6, -11,
+ 3, -10,
+ 3, -9, 4, -9,
+ -13, -8, -12, -8, 8, -8, 9, -8,
+ -12, -7, 8, -7,
+ -12, -6, -10, -6, 6, -6, 8, -6,
+ -11, -5, -10, -5, 6, -5, 7, -5,
+ 0, -3, 1, -3, 2, -3,
+ 0, -2, 2, -2,
+ 0, -1, 2, -1,
+ -7, 5, -6, 5, 10, 5, 11, 5,
+ -8, 6, -6, 6, 10, 6, 12, 6,
+ -8, 7, 12, 7,
+ -9, 8, -8, 8, 12, 8, 13, 8,
+ -4, 9, -3, 9,
+ -3, 10,
+ -6, 11, -5, 11, -4, 11,
+ -6, 12,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pipsquirter (example) (p6), from Lexicon"},
+#endif
+ {
+ -2, -7,
+ -2, -6,
+ -4, -4, 0, -4,
+ -6, -3, -5, -3, -4, -3, -2, -3, 0, -3, 1, -3, 2, -3,
+ -7, -2, -3, -2, -2, -2, 3, -2,
+ -7, -1, -5, -1, -4, -1, -1, -1, 0, -1, 2, -1, 4, -1,
+ -6, 0, -3, 0, -2, 0, 1, 0, 2, 0, 4, 0,
+ -5, 1, -4, 1, -1, 1, 0, 1, 2, 1, 4, 1, 6, 1, 7, 1,
+ -3, 2, 0, 2, 2, 2, 4, 2, 6, 2, 7, 2,
+ -3, 3, -2, 3, -1, 3, 0, 3, 2, 3, 3, 3,
+ 1, 4,
+ -1, 5, 1, 5,
+ -1, 6, 0, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pi ship with fuse (], near ship)"},
+#endif
+ {
+ 0, -2,
+ -1, -1, 1, -1,
+ -12, 0, -11, 0, -2, 0, -1, 0, 1, 0, 2, 0, 11, 0, 12, 0,
+ -12, 1, -11, 1, 11, 1, 12, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"piston (p2)"},
+#endif
+ {
+ -5, -2, -4, -2, 4, -2, 5, -2,
+ -5, -1, -3, -1, 0, -1, 3, -1, 5, -1,
+ -3, 0, -2, 0, -1, 0, 0, 0, 3, 0,
+ -5, 1, -3, 1, 0, 1, 3, 1, 5, 1,
+ -5, 2, -4, 2, 4, 2, 5, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pre-pulsar oscillator (p28) (4 molds, flutter)"},
+#endif
+ {
+ -9, -7, -7, -7, 7, -7, 9, -7,
+ -6, -6, 6, -6,
+ -10, -5, -7, -5, 7, -5, 10, -5,
+ -11, -4, -9, -4, -7, -4, 7, -4, 9, -4, 11, -4,
+ -11, -3, -8, -3, 8, -3, 11, -3,
+ -10, -2, -9, -2, -4, -2, -3, -2, -2, -2,
+ 2, -2, 3, -2, 4, -2, 9, -2, 10, -2,
+ -3, -1, 3, -1,
+ -10, 1, -9, 1, 9, 1, 10, 1,
+ -11, 2, -8, 2, 8, 2, 11, 2,
+ -11, 3, -9, 3, -6, 3, 6, 3, 9, 3, 11, 3,
+ -10, 4, 10, 4,
+ -9, 5, -8, 5, -6, 5, 6, 5, 8, 5, 9, 5,
+ -7, 6, 7, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pressure cooker (p3)"},
+#endif
+ {
+ 0, -6,
+ -1, -5, 1, -5,
+ -1, -4, 1, -4,
+ -2, -3, -1, -3, 1, -3, 2, -3,
+ -5, -2, -3, -2, 3, -2, 5, -2,
+ -5, -1, -4, -1, -2, -1, 0, -1, 2, -1, 4, -1, 5, -1,
+ -2, 0, 2, 0,
+ -2, 1, 2, 1,
+ -1, 2, 0, 2, 1, 2,
+ -2, 4, 0, 4, 1, 4,
+ -2, 5, -1, 5, 1, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"protein (p3), from Lexicon"},
+#endif
+ {
+ -2, -6, -1, -6,
+ -2, -5,
+ 0, -4,
+ -4, -3, -3, -3, -2, -3, -1, -3, 1, -3, 3, -3, 4, -3,
+ -5, -2, 1, -2, 3, -2, 6, -2,
+ -5, -1, -2, -1, -1, -1, 1, -1, 3, -1, 5, -1, 6, -1,
+ -6, 0, -5, 0, -3, 0, 3, 0,
+ -3, 1, 0, 1, 1, 1, 3, 1,
+ -3, 2, 2, 2,
+ -2, 3, -1, 3, 0, 3, 1, 3,
+ -2, 5, -1, 5,
+ -2, 6, -1, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"puffer (example), from Lexicon"},
+#endif
+ {
+ -12, -3, -11, -3, -10, -3, -3, -3, 3, -3, 10, -3, 11, -3,
+ 12, -3,
+ -13, -2, -10, -2, -4, -2, -3, -2, -2, -2, 2, -2, 3, -2, 4,
+ -2, 10, -2, 13, -2,
+ -10, -1, -5, -1, -4, -1, -2, -1, 2, -1, 4, -1, 5, -1, 10, -1,
+ -10, 0, 10, 0,
+ -10, 1, -7, 1, 7, 1, 10, 1,
+ -10, 2, -7, 2, -6, 2, 6, 2, 7, 2, 10, 2,
+ -11, 3, -7, 3, -6, 3, 6, 3, 7, 3, 11, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"puffer train, from Lexicon"},
+#endif
+ {
+ 1, -9,
+ 2, -8,
+ -2, -7, 2, -7,
+ -1, -6, 0, -6, 1, -6, 2, -6,
+ -2, -2,
+ -1, -1, 0, -1,
+ 0, 0,
+ 0, 1,
+ -1, 2,
+ 1, 5,
+ 2, 6,
+ -2, 7, 2, 7,
+ -1, 8, 0, 8, 1, 8, 2, 8,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pulsar (p3) (pulsar CP 48-56-72)"},
+#endif
+ {
+ -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
+ -2, 0, 2, 0,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pushalong (example), from Lexicon"},
+#endif
+ {
+ -4, -6, -3, -6, -2, -6, 0, -6,
+ -5, -5, -4, -5, -3, -5, -2, -5, 0, -5,
+ -6, -4, -5, -4,
+ -5, -3, -3, -3,
+ -4, -2, -3, -2, -2, -2, -1, -2, 1, -2,
+ -3, -1, -2, -1, -1, -1,
+ 0, 2, 1, 2, 2, 2, 3, 2, 4, 2,
+ 0, 3, 5, 3,
+ 0, 4,
+ 1, 5, 5, 5,
+ 3, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"pyrotechnecium (p8), from Lexicon"},
+#endif
+ {
+ -1, -5,
+ -3, -4, -2, -4, -1, -4, 0, -4, 1, -4,
+ -4, -3, 2, -3,
+ -7, -2, -4, -2, -2, -2, 0, -2, 1, -2, 3, -2,
+ -8, -1, -6, -1, -4, -1, -2, -1, 3, -1, 6, -1,
+ -7, 0, -4, 0, 1, 0, 3, 0, 5, 0, 7, 0,
+ -4, 1, -2, 1, -1, 1, 1, 1, 3, 1, 6, 1,
+ -3, 2, 3, 2,
+ -2, 3, -1, 3, 0, 3, 1, 3, 2, 3,
+ 0, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"R2D2 (p8)"},
+#endif
+ {
+ 0, -5,
+ -1, -4, 1, -4,
+ -2, -3, 0, -3, 2, -3,
+ -2, -2, 0, -2, 2, -2,
+ -5, -1, -4, -1, -2, -1, 2, -1, 4, -1, 5, -1,
+ -5, 0, -4, 0, -2, 0, 2, 0, 4, 0, 5, 0,
+ -2, 1, 2, 1,
+ -2, 2, 0, 2, 2, 2,
+ -1, 3, 1, 3,
+ 0, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"rake p20 backwards"},
+#endif
+ {
+ 0, -10, 1, -10, 10, -10,
+ -1, -9, 0, -9, 1, -9, 2, -9, 11, -9,
+ -1, -8, 0, -8, 2, -8, 3, -8, 7, -8, 11, -8,
+ 1, -7, 2, -7, 8, -7, 9, -7, 10, -7, 11, -7,
+ 6, -3, 7, -3,
+ 5, -2, 6, -2, 8, -2, 9, -2,
+ 6, -1, 9, -1,
+ 6, 0, 9, 0,
+ 7, 1, 8, 1,
+ 10, 4,
+ 11, 5,
+ -8, 6, 7, 6, 11, 6,
+ -7, 7, 8, 7, 9, 7, 10, 7, 11, 7,
+ -11, 8, -7, 8,
+ -10, 9, -9, 9, -8, 9, -7, 9,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"rake p20 forwards"},
+#endif
+ {
+ 0, -10, 1, -10, 10, -10,
+ -1, -9, 0, -9, 1, -9, 2, -9, 11, -9,
+ -1, -8, 0, -8, 2, -8, 3, -8, 7, -8, 11, -8,
+ 1, -7, 2, -7, 8, -7, 9, -7, 10, -7, 11, -7,
+ 6, -3, 7, -3,
+ 5, -2, 6, -2, 8, -2, 9, -2,
+ 6, -1, 9, -1,
+ 6, 0, 9, 0,
+ 7, 1, 8, 1,
+ 10, 4,
+ 11, 5,
+ 7, 6, 11, 6,
+ -9, 7, -8, 7, -7, 7, -6, 7, 8, 7, 9, 7, 10, 7, 11, 7,
+ -10, 8, -6, 8,
+ -6, 9,
+ -7, 10,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"rake p24 backwards"},
+#endif
+ {
+ -5, -10,
+ -4, -9,
+ -10, -8, -4, -8,
+ -9, -7, -8, -7, -7, -7, -6, -7, -5, -7, -4, -7,
+ 6, -6, 7, -6,
+ 5, -5, 6, -5, 7, -5, 8, -5,
+ 5, -4, 6, -4, 8, -4, 9, -4,
+ 7, -3, 8, -3,
+ 0, -2, 2, -2,
+ -1, -1, 2, -1, 3, -1,
+ 0, 0, 2, 0,
+ 7, 1, 8, 1,
+ 5, 2, 6, 2, 8, 2, 9, 2,
+ 5, 3, 6, 3, 7, 3, 8, 3,
+ 6, 4, 7, 4,
+ -5, 6, -4, 6,
+ -9, 7, -8, 7, -7, 7, -6, 7, -4, 7, -3, 7,
+ -9, 8, -8, 8, -7, 8, -6, 8, -5, 8, -4, 8,
+ -8, 9, -7, 9, -6, 9, -5, 9,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"rats (p6)"},
+#endif
+ {
+ -1, -5, 0, -5,
+ 0, -4,
+ -2, -3,
+ -6, -2, -5, -2, -3, -2, -1, -2, 0, -2, 1, -2, 2, -2,
+ -6, -1, -5, -1, -3, -1, 3, -1, 5, -1,
+ -3, 0, 0, 0, 1, 0, 2, 0, 4, 0, 5, 0,
+ -3, 1, 2, 1,
+ -2, 2, -1, 2, 0, 2, 2, 2,
+ 1, 3,
+ 0, 4,
+ 0, 5, 1, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"reflector (figure-8 example), from Lexicon"},
+#endif
+ {
+ -2, -7, -1, -7, 5, -7, 6, -7,
+ -8, -6, -6, -6, -2, -6, -1, -6, 5, -6,
+ -7, -5, -6, -5, 3, -5, 5, -5,
+ -7, -4, 3, -4, 4, -4,
+ -1, -3, 0, -3,
+ -1, -2, 1, -2,
+ 0, -1,
+ 3, 1, 4, 1, 5, 1,
+ 3, 2, 4, 2, 5, 2,
+ 3, 3, 4, 3, 5, 3,
+ 6, 4, 7, 4, 8, 4,
+ 6, 5, 7, 5, 8, 5,
+ 6, 6, 7, 6, 8, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"relay (p(60+120n)), from Lexicon"},
+#endif
+ {
+ 10, -3, 15, -3,
+ -1, -2, 0, -2, 8, -2, 9, -2, 11, -2, 12, -2, 13, -2, 14, -2,
+ 16, -2, 17, -2,
+ 0, -1, 1, -1, 10, -1, 15, -1,
+ -1, 0,
+ -15, 1, -10, 1,
+ -17, 2, -16, 2, -14, 2, -13, 2, -12, 2, -11, 2, -9, 2, -8, 2,
+ -15, 3, -10, 3,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"rephaser"},
+#endif
+ {
+ -2, -3, 1, -3,
+ -4, -2, -2, -2, 1, -2, 3, -2,
+ -3, -1, -2, -1, 1, -1, 2, -1,
+ -1, 2, 0, 2,
+ -1, 3, 0, 3,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"R-pentomino (stabilizes at 1103), from Lexicon"},
+#endif
+ {
+ 0, -1, 1, -1,
+ -1, 0, 0, 0,
+ 0, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"Schick engine (c/2, p12) (sym puffer)"},
+#endif
+ {
+ 1, -4, 2, -4, 3, -4, 4, -4,
+ 0, -3, 4, -3,
+ 4, -2,
+ -4, -1, -3, -1, 0, -1, 3, -1,
+ -4, 0, -3, 0, -2, 0,
+ -4, 1, -3, 1, 0, 1, 3, 1,
+ 4, 2,
+ 0, 3, 4, 3,
+ 1, 4, 2, 4, 3, 4, 4, 4,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"scrubber (p2), from Lexicon"},
+#endif
+ {
+ -1, -5,
+ -3, -4, -2, -4, -1, -4,
+ -4, -3,
+ -4, -2, -1, -2, 0, -2, 1, -2,
+ -5, -1, -4, -1, -2, -1, 2, -1,
+ -2, 0, 2, 0,
+ -2, 1, 2, 1, 4, 1, 5, 1,
+ -1, 2, 0, 2, 1, 2, 4, 2,
+ 4, 3,
+ 1, 4, 2, 4, 3, 4,
+ 1, 5,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"ship smallest known c/3, p3"},
+#endif
+ {
+ 0, -8,
+ -1, -7, 1, -7,
+ -1, -6, 1, -6,
+ -1, -5,
+ -2, -3, -1, -3,
+ -1, -2, 1, -2,
+ -2, -1, 0, -1,
+ -2, 0, -1, 0, 0, 0,
+ -1, 2, 1, 2,
+ -1, 3, 0, 3,
+ 0, 4,
+ 0, 5, 2, 5,
+ 0, 6, 2, 6,
+ 1, 7,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"ship smallest known 2c/5, p5"},
+#endif
+ {
+ 0, -6,
+ -3, -5, -2, -5, 0, -5, 1, -5,
+ -4, -4, -2, -4, 0, -4,
+ -5, -3, -4, -3, 0, -3,
+ -4, -2, -2, -2, 1, -2,
+ -3, -1, -2, -1, 0, -1,
+ 1, 1, 2, 1,
+ 0, 2, 2, 2, 3, 2, 4, 2,
+ -1, 3, 3, 3, 4, 3, 5, 3,
+ 0, 4, 2, 4,
+ 1, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"ship 2nd smallest known 2c/5, p5"},
+#endif
+ {
+ 1, -7, 3, -7,
+ -2, -6, 3, -6,
+ -3, -5, -2, -5, -1, -5, 4, -5,
+ -4, -4, -2, -4,
+ -5, -3, -4, -3, -1, -3, 0, -3, 5, -3,
+ -4, -2, -3, -2, 0, -2, 1, -2, 2, -2, 3, -2, 4, -2,
+ -4, 2, -3, 2, 0, 2, 1, 2, 2, 2, 3, 2, 4, 2,
+ -5, 3, -4, 3, -1, 3, 0, 3, 5, 3,
+ -4, 4, -2, 4,
+ -3, 5, -2, 5, -1, 5, 4, 5,
+ -2, 6, 3, 6,
+ 1, 7, 3, 7,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"ship smallest known c/4, p4, from col of small ss"},
+#endif
+ {
+ -4, -9, -3, -9, -2, -9,
+ -5, -8, -1, -8, 0, -8,
+ 2, -7,
+ -5, -6, -1, -6, 3, -6, 4, -6,
+ -5, -5, -1, -5, 2, -5,
+ -1, -4, 0, -4,
+ -5, -3, -1, -3,
+ -5, -2, -1, -2,
+ -3, -1, -2, -1, -1, -1,
+ -3, 1, -2, 1, -1, 1,
+ -5, 2, -1, 2,
+ -5, 3, -1, 3,
+ -1, 4, 0, 4,
+ -5, 5, -1, 5, 2, 5,
+ -5, 6, -1, 6, 3, 6, 4, 6,
+ 2, 7,
+ -5, 8, -1, 8, 0, 8,
+ -4, 9, -3, 9, -2, 9,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"ship2 (c/2, p4)"},
+#endif
+ {
+ -4, -7, -3, -7, -1, -7, 0, -7, 1, -7, 2, -7, 3, -7, 4, -7,
+ -5, -6, -4, -6, -3, -6, -2, -6, 5, -6,
+ -6, -5, -5, -5,
+ -5, -4, 5, -4,
+ -4, -3, -3, -3, -2, -3, 0, -3,
+ -2, -2,
+ -2, -1,
+ -1, 0,
+ -2, 1,
+ -2, 2,
+ -4, 3, -3, 3, -2, 3, 0, 3,
+ -5, 4, 5, 4,
+ -6, 5, -5, 5,
+ -5, 6, -4, 6, -3, 6, -2, 6, 5, 6,
+ -4, 7, -3, 7, -1, 7, 0, 7, 1, 7, 2, 7, 3, 7, 4, 7,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"short keys (p3), from Lexicon"},
+#endif
+ {
+ -5, -2, 4, -2,
+ -6, -1, -4, -1, -3, -1, -2, -1, 1, -1, 2, -1, 3, -1, 5, -1,
+ -5, 0, -2, 0, 1, 0, 4, 0,
+ -2, 1, 1, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"shower tub (p8) (part of oscillators)"},
+#endif
+ {
+ -3, -6, -2, -6, 2, -6, 3, -6,
+ -4, -5, -2, -5, 2, -5, 4, -5,
+ -4, -4, 4, -4,
+ -7, -3, -6, -3, -4, -3, -3, -3, 3, -3, 4, -3, 6, -3, 7, -3,
+ -7, -2, -6, -2, -4, -2, 0, -2, 4, -2, 6, -2, 7, -2,
+ -4, -1, -2, -1, 2, -1, 4, -1,
+ -4, 0, -2, 0, 2, 0, 4, 0,
+ -5, 1, -4, 1, -2, 1, 2, 1, 4, 1, 5, 1,
+ -4, 2, -1, 2, 0, 2, 1, 2, 4, 2,
+ -4, 3, 4, 3, 6, 3,
+ -3, 4, -2, 4, -1, 4, 5, 4, 6, 4,
+ -1, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"side-shooting gun (portion), from Lexicon"},
+#endif
+ {
+ 6, -10, 7, -10,
+ 6, -9, 7, -9,
+ 0, -8, 1, -8, 2, -8,
+ 2, -7,
+ 1, -6, 7, -6, 8, -6,
+ 6, -5, 8, -5,
+ 8, -4,
+ -7, 7,
+ -7, 8, -6, 8,
+ -8, 9, -6, 9,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"siesta (p5), from Lexicon"},
+#endif
+ {
+ 3, -6, 4, -6,
+ -5, -5, -4, -5, 2, -5, 4, -5,
+ -5, -4, -3, -4, 2, -4,
+ -3, -3, 1, -3, 2, -3, 4, -3,
+ -5, -2, -3, -2, -2, -2, 4, -2, 5, -2, 6, -2,
+ -7, -1, -6, -1, -5, -1, 1, -1, 3, -1, 7, -1,
+ -8, 0, -4, 0, -2, 0, 4, 0, 5, 0, 6, 0,
+ -7, 1, -6, 1, -5, 1, 1, 1, 2, 1, 4, 1,
+ -5, 2, -3, 2, -2, 2, 2, 2,
+ -3, 3, 2, 3, 4, 3,
+ -5, 4, -3, 4, 3, 4, 4, 4,
+ -5, 5, -4, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"six Ls (p3), from Lexicon"},
+#endif
+ {
+ 0, -4,
+ -2, -3, -1, -3, 0, -3, 3, -3,
+ -3, -2, 1, -2, 2, -2, 3, -2,
+ -3, -1, -2, -1, -1, -1,
+ 1, 0, 2, 0, 3, 0,
+ -3, 1, -2, 1, -1, 1, 3, 1,
+ -3, 2, 0, 2, 1, 2, 2, 2,
+ 0, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"smiley (p8), from Lexicon"},
+#endif
+ {
+ -3, -3, -2, -3, -1, -3, 1, -3, 2, -3, 3, -3,
+ -2, -2, 0, -2, 2, -2,
+ -2, 0, 2, 0,
+ -3, 2, -1, 2, 1, 2, 3, 2,
+ -1, 3, 1, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"snacker (p9), from Lexicon"},
+#endif
+ {
+ -10, -5, -9, -5, 8, -5, 9, -5,
+ -9, -4, 8, -4,
+ -9, -3, -7, -3, 6, -3, 8, -3,
+ -8, -2, -7, -2, 6, -2, 7, -2,
+ -3, -1, 2, -1,
+ -5, 0, -4, 0, -2, 0, -1, 0, 0, 0, 1, 0, 3, 0, 4, 0,
+ -3, 1, 2, 1,
+ -8, 2, -7, 2, 6, 2, 7, 2,
+ -9, 3, -7, 3, 6, 3, 8, 3,
+ -9, 4, 8, 4,
+ -10, 5, -9, 5, 8, 5, 9, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"sombreros (p6), from Lexicon"},
+#endif
+ {
+ -6, -5, -5, -5, 4, -5, 5, -5,
+ -6, -4, -4, -4, 3, -4, 5, -4,
+ -4, -3, 3, -3,
+ -6, -2, -4, -2, -3, -2, 2, -2, 3, -2, 5, -2,
+ -8, -1, -7, -1, -6, -1, 5, -1, 6, -1, 7, -1,
+ -9, 0, -5, 0, -3, 0, 2, 0, 4, 0, 8, 0,
+ -8, 1, -7, 1, -6, 1, 5, 1, 6, 1, 7, 1,
+ -6, 2, -4, 2, -3, 2, 2, 2, 3, 2, 5, 2,
+ -4, 3, 3, 3,
+ -6, 4, -4, 4, 3, 4, 5, 4,
+ -6, 5, -5, 5, 4, 5, 5, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"spider (c/5, p5), from col. of small spaceships"},
+#endif
+ {
+ 0, -13, 1, -13,
+ -3, -12, -2, -12, 1, -12,
+ -3, -11, -2, -11, 1, -11,
+ 2, -10,
+ -3, -9, -1, -9, 0, -9, 1, -9, 2, -9,
+ -4, -8, -3, -8, -1, -8,
+ 0, -7, 1, -7, 2, -7,
+ 1, -6,
+ 1, -5, 2, -5,
+ 3, -4,
+ 2, -3,
+ 2, -2,
+ -2, -1, -1, -1, 0, -1,
+ -2, 1, -1, 1, 0, 1,
+ 2, 2,
+ 2, 3,
+ 3, 4,
+ 1, 5, 2, 5,
+ 1, 6,
+ 0, 7, 1, 7, 2, 7,
+ -4, 8, -3, 8, -1, 8,
+ -3, 9, -1, 9, 0, 9, 1, 9, 2, 9,
+ 2, 10,
+ -3, 11, -2, 11, 1, 11,
+ -3, 12, -2, 12, 1, 12,
+ 0, 13, 1, 13,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"stillater (p3), from Lexicon"},
+#endif
+ {
+ -1, -4,
+ -2, -3, 0, -3, 2, -3, 3, -3,
+ -2, -2, 0, -2, 1, -2, 3, -2,
+ -4, -1, -3, -1,
+ -3, 0, -1, 0, 1, 0, 2, 0,
+ -3, 1, -1, 1, 2, 1,
+ -2, 2, 1, 2,
+ -1, 3, 0, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"surprise (p3), from Lexicon"},
+#endif
+ {
+ -2, -4, 3, -4, 4, -4,
+ -2, -3, -1, -3, 0, -3, 3, -3,
+ -4, -2, -3, -2, 1, -2, 3, -2,
+ -5, -1, -2, -1, -1, -1, 1, -1, 3, -1, 4, -1,
+ -4, 0, 3, 0,
+ -5, 1, -4, 1, -2, 1, 0, 1, 1, 1, 4, 1,
+ -4, 2, -2, 2, 2, 2, 3, 2,
+ -4, 3, -1, 3, 0, 3, 1, 3,
+ -5, 4, -4, 4, 1, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"swan (c/4, p4) (small diagonal sparker)"},
+#endif
+ {
+ 1, -11,
+ 0, -10, 1, -10,
+ -2, -8, -1, -8, 0, -8,
+ -2, -7, -1, -7, 0, -7,
+ -3, -4, -2, -4, -1, -4,
+ -3, -3, -2, -3,
+ -4, -2, -1, -2, 0, -2, 1, -2, 3, -2,
+ -4, -1, -3, -1, -1, -1, 3, -1,
+ -4, 0, -3, 0, -1, 0, 0, 0, 2, 0, 3, 0,
+ -4, 1, -3, 1, -2, 1,
+ -4, 2, -3, 2,
+ -4, 3,
+ -4, 4, -3, 4,
+ -3, 5, -1, 5,
+ 1, 6,
+ -1, 7, 2, 7,
+ 0, 8, 3, 8,
+ 0, 9,
+ 3, 10,
+ 1, 11, 2, 11, 3, 11,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"switch engine (c/12, p288 diagonal puffer)"},
+#endif
+ {
+ -12, -3, -10, -3,
+ -13, -2,
+ -12, -1, -9, -1,
+ -10, 0, -9, 0, -8, 0,
+ 13, 2, 14, 2,
+ 13, 3,
+ },
+#ifdef LIFE_NAMES
+ {"technician (p5), from Lexicon"},
+#endif
+ {
+ 0, -6,
+ -1, -5, 1, -5,
+ -1, -4, 0, -4,
+ -3, -3, -2, -3,
+ -4, -2, 0, -2, 1, -2, 2, -2,
+ -5, -1, -2, -1, -1, -1, 3, -1, 5, -1,
+ -4, 0, -3, 0, 2, 0, 4, 0, 5, 0,
+ -2, 1, 0, 1, 2, 1,
+ -2, 2, 2, 2,
+ -1, 3, 0, 3, 1, 3,
+ 1, 4, 3, 4,
+ 2, 5, 3, 5,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"test tube baby (p2), from Lexicon"},
+#endif
+ {
+ -4, -2, -3, -2, 2, -2, 3, -2,
+ -4, -1, -2, -1, 1, -1, 3, -1,
+ -2, 0, 1, 0,
+ -2, 1, 1, 1,
+ -1, 2, 0, 2,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"timebomb (glider producing switch engine (p384))"},
+#endif
+ {
+ -6, -3, 6, -3, 7, -3,
+ -7, -2, -5, -2, 0, -2, 7, -2,
+ 0, -1, 5, -1,
+ -5, 0, -2, 0, 2, 0, 5, 0,
+ -5, 1, -4, 1, 3, 1,
+ -4, 2,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"titanic toroidal traveler (p16/unknown)"},
+#endif
+ {
+ -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
+ -3, 0, -2, 0, -1, 0,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"T-nosed p4, from Lexicon"},
+#endif
+ {
+ 0, -6,
+ 0, -5,
+ -1, -4, 0, -4, 1, -4,
+ -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
+ -3, 1, -1, 1, 0, 1, 1, 1, 3, 1,
+ -3, 2, -1, 2, 1, 2, 3, 2,
+ -4, 3, -3, 3, -1, 3, 1, 3, 3, 3, 4, 3,
+ -5, 4, -2, 4, -1, 4, 1, 4, 2, 4, 5, 4,
+ -5, 5, -4, 5, 4, 5, 5, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"T-nosed p6, from Lexicon"},
+#endif
+ {
+ -3, -5, -2, -5, 2, -5, 3, -5,
+ -3, -4, -1, -4, 1, -4, 3, -4,
+ -2, -3, 2, -3,
+ -7, -1, -5, -1, -3, -1, 3, -1, 5, -1, 7, -1,
+ -9, 0, -8, 0, -7, 0, -5, 0, -3, 0, -2, 0, 2, 0, 3, 0, 5, 0,
+ 7, 0, 8, 0, 9, 0,
+ -7, 1, -5, 1, -3, 1, 3, 1, 5, 1, 7, 1,
+ -2, 3, 2, 3,
+ -3, 4, -1, 4, 1, 4, 3, 4,
+ -3, 5, -2, 5, 2, 5, 3, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"toad-flipper, from Lexicon"},
+#endif
+ {
+ -8, -5, 7, -5,
+ -8, -4, 7, -4,
+ -9, -3, -7, -3, 6, -3, 8, -3,
+ -8, -2, 7, -2,
+ -8, -1, -1, -1, 7, -1,
+ -8, 0, -1, 0, 0, 0, 7, 0,
+ -8, 1, -1, 1, 0, 1, 7, 1,
+ -9, 2, -7, 2, 0, 2, 6, 2, 8, 2,
+ -8, 3, 7, 3,
+ -8, 4, 7, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"toad-sucker, from Lexicon"},
+#endif
+ {
+ -8, -5,
+ -8, -4, 7, -4,
+ -9, -3, -7, -3, 7, -3,
+ -8, -2, 6, -2, 8, -2,
+ -8, -1, -1, -1, 7, -1,
+ -8, 0, -1, 0, 0, 0, 7, 0,
+ -8, 1, -1, 1, 0, 1, 7, 1,
+ -9, 2, -7, 2, 0, 2, 7, 2,
+ -8, 3, 6, 3, 8, 3,
+ -8, 4, 7, 4,
+ 7, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"toaster (p5), from Lexicon"},
+#endif
+ {
+ -3, -6, 4, -6, 5, -6,
+ -4, -5, -2, -5, 0, -5, 1, -5, 4, -5,
+ -4, -4, -2, -4, 0, -4, 2, -4, 4, -4,
+ -5, -3, -4, -3, -2, -3, 2, -3, 4, -3, 5, -3,
+ -7, -2, -3, -2, -2, -2, 0, -2, 2, -2, 3, -2, 7, -2,
+ -4, -1, 4, -1,
+ -4, 0, 4, 0,
+ -7, 1, -3, 1, -2, 1, 0, 1, 2, 1, 3, 1, 7, 1,
+ -5, 2, -4, 2, -2, 2, 2, 2, 4, 2, 5, 2,
+ -4, 3, -2, 3, 0, 3, 2, 3, 4, 3,
+ -4, 4, -2, 4, 0, 4, 1, 4, 4, 4,
+ -3, 5, 4, 5, 5, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"transparent block reaction, from Lexicon"},
+#endif
+ {
+ -7, -2,
+ -7, -1, -6, -1, 5, -1, 6, -1,
+ -6, 0, -5, 0, 5, 0, 6, 0,
+ -7, 1, -6, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"trice tongs (p3), from Lexicon"},
+#endif
+ {
+ -1, -3,
+ -1, -2, 0, -2, 1, -2,
+ -3, -1, -2, -1, 2, -1,
+ -2, 0, 0, 0, 2, 0,
+ -2, 1,
+ -1, 2, 0, 2, 3, 2,
+ 2, 3, 3, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"triple caterer (p3), from Lexicon"},
+#endif
+ {
+ -3, -5, -2, -5,
+ -4, -4, -1, -4, 2, -4, 3, -4,
+ -4, -3, -3, -3, -1, -3, 3, -3,
+ -2, -2, 0, -2, 1, -2, 2, -2, 7, -2,
+ -6, -1, -5, -1, -4, -1, -2, -1, 0, -1, 5, -1, 6, -1, 7, -1,
+ -7, 0, -4, 0, -1, 0, 4, 0,
+ -8, 1, -6, 1, -3, 1, 1, 1, 4, 1, 5, 1,
+ -7, 2,
+ -6, 3, -5, 3, -3, 3, -2, 3, 0, 3, 1, 3, 3, 3, 4, 3,
+ -5, 4, -1, 4, 3, 4,
+ -5, 5, -1, 5, 3, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"tritoad (p3), from Lexicon"},
+#endif
+ {
+ 0, -7, 1, -7,
+ 0, -6,
+ 1, -5, 4, -5, 5, -5,
+ -2, -4, -1, -4, 0, -4, 2, -4, 5, -4,
+ -3, -3, 2, -3, 3, -3, 5, -3, 7, -3, 8, -3,
+ -3, -2, -1, -2, 0, -2, 3, -2, 5, -2, 7, -2, 8, -2,
+ -6, -1, -5, -1, -3, -1, 1, -1, 2, -1, 5, -1,
+ -6, 0, -3, 0, -2, 0, 2, 0, 4, 0, 5, 0,
+ -9, 1, -8, 1, -6, 1, -4, 1, -1, 1, 0, 1, 2, 1,
+ -9, 2, -8, 2, -6, 2, -4, 2, -3, 2, 2, 2,
+ -6, 3, -3, 3, -1, 3, 0, 3, 1, 3,
+ -6, 4, -5, 4, -2, 4,
+ -1, 5,
+ -2, 6, -1, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"tubber (p3), from Lexicon"},
+#endif
+ {
+ -2, -6, 0, -6,
+ -2, -5, -1, -5, 1, -5,
+ 1, -4, 2, -4, 3, -4,
+ -2, -3, -1, -3, 4, -3,
+ -6, -2, -5, -2, -3, -2, 0, -2, 1, -2, 4, -2,
+ -5, -1, -3, -1, 2, -1, 4, -1, 5, -1,
+ -6, 0, -2, 0, 2, 0, 6, 0,
+ -5, 1, -4, 1, -2, 1, 3, 1, 5, 1,
+ -4, 2, -1, 2, 0, 2, 3, 2, 5, 2, 6, 2,
+ -4, 3, 1, 3, 2, 3,
+ -3, 4, -2, 4, -1, 4,
+ -1, 5, 1, 5, 2, 5,
+ 0, 6, 2, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"tumbler (p14) (pump), from Lexicon"},
+#endif
+ {
+ -2, -3, -1, -3, 1, -3, 2, -3,
+ -2, -2, -1, -2, 1, -2, 2, -2,
+ -1, -1, 1, -1,
+ -3, 0, -1, 0, 1, 0, 3, 0,
+ -3, 1, -1, 1, 1, 1, 3, 1,
+ -3, 2, -2, 2, 2, 2, 3, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"tumbling T-tetson (p8)"},
+#endif
+ {
+ -9, -5, -8, -5, -7, -5,
+ -10, -4, 9, -4, 10, -4,
+ -10, -3, -6, -3, 7, -3, 9, -3, 10, -3,
+ -10, -2, -7, -2, -5, -2, 6, -2,
+ -8, -1, -6, -1, -3, -1, 9, -1,
+ -7, 0, -3, 0, 5, 0, 6, 0, 8, 0,
+ -3, 1, 5, 1, 6, 1,
+ -6, 2, -5, 2, -4, 2, 1, 2,
+ -1, 3, 0, 3,
+ 1, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"twin bees shuttle (p46) (piston2)"},
+#endif
+ {
+ -12, -8, -11, -8,
+ -12, -7, -11, -7,
+ 2, -5,
+ -13, -4, -12, -4, 2, -4, 3, -4, 12, -4, 13, -4,
+ -13, -3, -12, -3, 3, -3, 4, -3, 12, -3, 13, -3,
+ -2, -2, -1, -2, 2, -2, 3, -2,
+ -2, 2, -1, 2, 2, 2, 3, 2,
+ -13, 3, -12, 3, 3, 3, 4, 3,
+ -13, 4, -12, 4, 2, 4, 3, 4,
+ 2, 5,
+ -12, 7, -11, 7,
+ -12, 8, -11, 8,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"twirling T-tetsons II (p60), from Lexicon"},
+#endif
+ {
+ -5, -12, -4, -12, 0, -12, 1, -12,
+ -6, -11, 2, -11,
+ -3, -10, -1, -10,
+ -5, -9, -4, -9, 0, -9, 1, -9,
+ 9, -5, 10, -5, 11, -5,
+ 8, -4, 9, -4, 10, -4,
+ 1, -3,
+ -12, -2, -11, -2, -10, -2, 0, -2, 1, -2, 2, -2,
+ -11, -1, -10, -1, -9, -1,
+ 8, 0, 9, 0, 10, 0,
+ 9, 1, 10, 1, 11, 1,
+ -11, 3, -10, 3, -9, 3,
+ -12, 4, -11, 4, -10, 4, 0, 4, 1, 4, 2, 4,
+ 1, 5,
+ -2, 8, -1, 8, 3, 8, 4, 8,
+ 0, 9, 2, 9,
+ -3, 10, 5, 10,
+ -2, 11, -1, 11, 3, 11, 4, 11,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"unix (p6) (pulse2), from Lexicon"},
+#endif
+ {
+ 0, -4, 1, -4,
+ -4, -3, -3, -3, -1, -3,
+ -4, -2, -3, -2, 0, -2, 3, -2,
+ 1, -1, 3, -1,
+ 2, 0,
+ 1, 2, 2, 2,
+ 1, 3, 2, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"washerwoman (2c/3, p18 fuse), from Lexicon"},
+#endif
+ {
+ -16, -2,
+ -16, -1, -15, -1, -10, -1, -4, -1, 2, -1, 8, -1, 14, -1,
+ -16, 0, -15, 0, -14, 0, -11, 0, -9, 0, -5, 0, -3, 0, 1, 0,
+ 3, 0, 7, 0, 9, 0, 13, 0, 15, 0,
+ -16, 1, -15, 1, -10, 1, -4, 1, 2, 1, 8, 1, 14, 1,
+ -16, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"washing machine (p2), from Lexicon"},
+#endif
+ {
+ -2, -3, -1, -3, 1, -3, 2, -3,
+ -3, -2, -1, -2, 0, -2, 3, -2,
+ -3, -1, -2, -1, 3, -1,
+ -2, 0, 2, 0,
+ -3, 1, 2, 1, 3, 1,
+ -3, 2, 0, 2, 1, 2, 3, 2,
+ -2, 3, -1, 3, 1, 3, 2, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"wasp (c/3, p3), from Lexicon"},
+#endif
+ {
+ -1, -5, 0, -5, 2, -5, 3, -5,
+ -3, -4, -2, -4, 0, -4, 2, -4, 3, -4, 5, -4, 6, -4,
+ -6, -3, -5, -3, -4, -3, -2, -3, 1, -3, 2, -3, 3, -3, 6, -3,
+ 7, -3, 8, -3, 9, -3,
+ -10, -2, -9, -2, -8, -2, -3, -2, -2, -2, -1, -2, 5, -2, 10, -2,
+ -11, -1, -9, -1, -7, -1, -5, -1, -4, -1, -3, -1, -1, -1,
+ 8, -1, 9, -1,
+ -11, 0, -9, 0, -7, 0, -5, 0, -4, 0, -3, 0, -2, 0,
+ -10, 1, -8, 1, -3, 1, 0, 1,
+ -1, 2,
+ -9, 3,
+ -9, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"wavefront (p4), from Lexicon"},
+#endif
+ {
+ 2, -6, 3, -6,
+ 2, -5,
+ 3, -4,
+ 2, -3, 3, -3,
+ -1, -2, 0, -2, 4, -2, 5, -2,
+ -2, -1, 1, -1, 2, -1, 3, -1, 6, -1,
+ -2, 0, 4, 0, 5, 0,
+ -1, 1, 3, 1,
+ -6, 2, -5, 2, -3, 2, -1, 2, 3, 2,
+ -6, 3, -4, 3, -3, 3, -1, 3, 1, 3, 2, 3,
+ -2, 4, 0, 4,
+ -2, 5, 0, 5,
+ -1, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"weekender (2c/7, p7), from Lexicon"},
+#endif
+ {
+ -7, -5, 6, -5,
+ -7, -4, 6, -4,
+ -8, -3, -6, -3, 5, -3, 7, -3,
+ -7, -2, 6, -2,
+ -7, -1, 6, -1,
+ -6, 0, -2, 0, -1, 0, 0, 0, 1, 0, 5, 0,
+ -2, 1, -1, 1, 0, 1, 1, 1,
+ -6, 2, -5, 2, -4, 2, -3, 2, 2, 2, 3, 2, 4, 2, 5, 2,
+ -4, 4, 3, 4,
+ -3, 5, -2, 5, 1, 5, 2, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"x66 (c/2, p4) (ship1), from Lexicon"},
+#endif
+ {
+ -3, -5,
+ -4, -4, -3, -4, -2, -4, -1, -4, 0, -4,
+ -5, -3, -4, -3, 0, -3, 1, -3, 3, -3,
+ -4, -2, 4, -2,
+ -3, -1, -2, -1, 1, -1, 3, -1,
+ -3, 1, -2, 1, 1, 1, 3, 1,
+ -4, 2, 4, 2,
+ -5, 3, -4, 3, 0, 3, 1, 3, 3, 3,
+ -4, 4, -3, 4, -2, 4, -1, 4, 0, 4,
+ -3, 5,
+ 127
+ }
+};
+
+static char patterns_8S23B36[][2 * NUMPTS + 1] =
+{
+#ifdef LIFE_NAMES
+ {"replicator"},
+#endif
+ {
+ -1, -2, 0, -2, 1, -2,
+ -2, -1,
+ -2, 0,
+ -2, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"bomber"},
+#endif
+ {
+ -4, -3, -3, -3, -2, -3,
+ -5, -2,
+ -5, -1,
+ -5, 0, 4, 0,
+ 4, 1,
+ 4, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"growing ship"},
+#endif
+ {
+ -8, -7, -7, -7, -6, -7,
+ -9, -6, -6, -6,
+ -10, -5, -6, -5,
+ -10, -4, -7, -4,
+ -10, -3, -9, -3, -8, -3,
+ 7, 6, 8, 6, 9, 6,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"gun"},
+#endif
+ {
+ 3, -11,
+ 1, -10, 2, -10, 3, -10,
+ 0, -9,
+ 0, -8, 1, -8,
+ -3, 0, -2, 0, -1, 0,
+ -3, 1, -1, 1,
+ -3, 2, -2, 2, -1, 2,
+ -2, 3,
+ 17, 4, 18, 4,
+ -18, 5, -17, 5, 17, 5,
+ -17, 6, 15, 6, 17, 6,
+ -17, 7, -15, 7, 6, 7, 15, 7, 16, 7,
+ -16, 8, -15, 8, 6, 8,
+ -6, 9, -5, 9, 5, 9, 7, 9, 8, 9,
+ -7, 10, -6, 10, -4, 10, 6, 10,
+ -6, 11, -5, 11, 6, 11,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"tug of war"},
+#endif
+ {
+ -12, -13, -11, -13, -10, -13,
+ -13, -12,
+ -13, -11,
+ -13, -10,
+ 0, -6,
+ 0, -5,
+ 0, -4,
+ 4, 1,
+ 3, 2, 4, 2,
+ 2, 3, 4, 3,
+ 1, 4, 2, 4, 3, 4,
+ 11, 10, 12, 10, 13, 10,
+ 10, 11, 12, 11,
+ 10, 12, 11, 12,
+ 10, 13,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"unpredictable tug of war"},
+#endif
+ {
+ -16, -17, -15, -17, -14, -17,
+ -17, -16,
+ -17, -15,
+ -17, -14,
+ -4, -10,
+ -4, -9,
+ -4, -8,
+ 16, 13,
+ 15, 14, 16, 14,
+ 14, 15, 16, 15,
+ 13, 16, 14, 16, 15, 16,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"puffer train 1"},
+#endif
+ {
+ 4, -10, 5, -10, 6, -10,
+ 3, -9, 7, -9,
+ 2, -8, 7, -8,
+ 1, -7, 4, -7, 7, -7,
+ 1, -6, 6, -6,
+ 1, -5, 5, -5,
+ 2, -4, 3, -4, 4, -4,
+ 7, 0,
+ 7, 1,
+ 7, 2,
+ -5, 4, -4, 4, -3, 4,
+ -6, 5, -3, 5,
+ -7, 6, -3, 6,
+ -7, 7, -4, 7,
+ -7, 8, -6, 8, -5, 8,
+ 2, 9, 3, 9, 4, 9,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"puffer train 2"},
+#endif
+ {
+ 2, -10, 3, -10,
+ 3, -9, 4, -9,
+ 0, -8, 2, -8, 3, -8,
+ 0, -7, 1, -7, 2, -7,
+ 1, -6, 10, -6,
+ 10, -5,
+ 10, -4,
+ -7, -2,
+ -8, -1, -7, -1,
+ -9, 0, -7, 0,
+ -10, 1, -9, 1, -8, 1,
+ -5, 7,
+ -5, 8,
+ -5, 9,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"period 96 rake"},
+#endif
+ {
+ -8, -6, -7, -6, -6, -6,
+ -5, -5,
+ -10, -4, -8, -4, -4, -4,
+ -10, -3, -3, -3,
+ -10, -2, -2, -2,
+ -9, -1, -2, -1,
+ -8, 0, -4, 0, -2, 0,
+ -7, 1, 6, 1, 7, 1, 8, 1,
+ -6, 2, -5, 2, -4, 2, 9, 2,
+ 9, 3,
+ 0, 4, 9, 4,
+ 0, 5,
+ 0, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"another c/3, p3 spaceship"},
+#endif
+ {
+ -2, -3, 2, -3,
+ -3, -2, -1, -2, 1, -2, 3, -2,
+ -3, -1, -2, -1, -1, -1, 1, -1, 2, -1, 3, -1,
+ -9, 0, -8, 0, -7, 0, -6, 0, -5, 0, -3, 0, 3, 0, 5, 0, 6, 0,
+ 7, 0, 8, 0, 9, 0,
+ -9, 1, -8, 1, -5, 1, -4, 1, 0, 1, 4, 1, 5, 1, 8, 1, 9, 1,
+ -7, 2, -6, 2, -5, 2, 0, 2, 5, 2, 6, 2, 7, 2,
+ -7, 3, 7, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"mold (p4), from Lexicon"},
+#endif
+ {
+ 0, -3, 1, -3,
+ -1, -2, 2, -2,
+ -3, -1, 0, -1, 2, -1,
+ 1, 0,
+ -3, 1, -1, 1, 0, 1,
+ -2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"monogram (p4), from Lexicon"},
+#endif
+ {
+ -3, -2, -2, -2, 2, -2, 3, -2,
+ -2, -1, 0, -1, 2, -1,
+ -2, 0, -1, 0, 1, 0, 2, 0,
+ -2, 1, 0, 1, 2, 1,
+ -3, 2, -2, 2, 2, 2, 3, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator DH (p3)"},
+#endif
+ {
+ 0, -4, 1, -4,
+ -1, -3, 2, -3,
+ 1, -2, 3, -2,
+ -3, -1, -1, -1, 3, -1,
+ -4, 0, 0, 0, 2, 0,
+ -4, 1, -2, 1,
+ -3, 2, 0, 2,
+ -2, 3, -1, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator0 DH (p4)"},
+#endif
+ {
+ 1, -5, 2, -5,
+ 0, -4, 2, -4,
+ -5, -3, -4, -3, 0, -3,
+ -5, -2, -2, -2, 0, -2, 1, -2,
+ -4, -1, -3, -1, -2, -1,
+ 1, 0, 2, 0, 3, 0,
+ -2, 1, -1, 1, 1, 1, 4, 1,
+ -1, 2, 3, 2, 4, 2,
+ -3, 3, -1, 3,
+ -3, 4, -2, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator1 DH (p4)"},
+#endif
+ {
+ 0, -7, 1, -7,
+ 0, -6, 1, -6,
+ -2, -4, -1, -4, 0, -4, 1, -4,
+ -3, -3, 2, -3,
+ -4, -2, -2, -2, 0, -2, 1, -2, 3, -2, 5, -2, 6, -2,
+ -4, -1, -2, -1, 3, -1, 5, -1, 6, -1,
+ -7, 0, -6, 0, -4, 0, 1, 0, 3, 0,
+ -7, 1, -6, 1, -4, 1, -2, 1, -1, 1, 1, 1, 3, 1,
+ -3, 2, 2, 2,
+ -2, 3, -1, 3, 0, 3, 1, 3,
+ -2, 5, -1, 5,
+ -2, 6, -1, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator DH (p7)"},
+#endif
+ {
+ -3, -2, -2, -2, -1, -2,
+ -3, -1, -2, -1, -1, -1,
+ 1, 0, 2, 0, 3, 0,
+ 1, 1, 2, 1, 3, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator DH (p9) "},
+#endif
+ {
+ -11, -5, -10, -5, 10, -5, 11, -5,
+ -10, -4, 10, -4,
+ -10, -3, -8, -3, 8, -3, 10, -3,
+ -9, -2, -8, -2, 8, -2, 9, -2,
+ -6, 0, -5, 0, -4, 0, -3, 0, -2, 0, -1, 0, 1, 0, 2, 0, 3, 0,
+ 4, 0, 5, 0, 6, 0,
+ -9, 2, -8, 2, 8, 2, 9, 2,
+ -10, 3, -8, 3, 8, 3, 10, 3,
+ -10, 4, 10, 4,
+ -11, 5, -10, 5, 10, 5, 11, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator DH (p10)"},
+#endif
+ {
+ -2, -1, 1, -1,
+ -2, 0, 2, 0,
+ -2, 1, -1, 1, 1, 1, 2, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator DH (p12)"},
+#endif
+ {
+ -3, -3, -2, -3, 1, -3, 3, -3,
+ -1, -2, 1, -2, 3, -2,
+ -3, -1, -2, -1, 2, -1,
+ -2, 1, 2, 1, 3, 1,
+ -3, 2, -1, 2, 1, 2,
+ -3, 3, -1, 3, 2, 3, 3, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator DH (p14)"},
+#endif
+ {
+ -2, -5, -1, -5, 0, -5,
+ -3, -4, -1, -4, 0, -4, 2, -4,
+ -4, -3, 3, -3,
+ -2, -2, 1, -2, 4, -2,
+ -5, -1, -4, -1, 3, -1, 4, -1,
+ -5, 0, -4, 0, 3, 0, 4, 0,
+ -5, 1, -2, 1, 1, 1,
+ -4, 2, 3, 2,
+ -3, 3, -1, 3, 0, 3, 2, 3,
+ -1, 4, 0, 4, 1, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator DH (p20)"},
+#endif
+ {
+ -1, -5,
+ -3, -4, -2, -4, -1, -4,
+ -4, -3, -1, -3,
+ -4, -2, -2, -2,
+ -5, -1, -4, -1, -3, -1,
+ 2, 0, 3, 0, 4, 0,
+ 1, 1, 3, 1,
+ 0, 2, 3, 2,
+ 0, 3, 1, 3, 2, 3,
+ 0, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator DH (p28)"},
+#endif
+ {
+ -6, -4, 6, -4,
+ -6, -3, -4, -3, 4, -3, 6, -3,
+ -9, -2, -6, -2, -5, -2, 5, -2, 6, -2, 9, -2,
+ -10, -1, -9, -1, -8, -1, 8, -1, 9, -1, 10, -1,
+ -11, 0, -10, 0, -8, 0, -7, 0, 7, 0, 8, 0, 10, 0, 11, 0,
+ -10, 1, -9, 1, -8, 1, 8, 1, 9, 1, 10, 1,
+ -9, 2, -6, 2, -5, 2, 5, 2, 6, 2, 9, 2,
+ -6, 3, -4, 3, 4, 3, 6, 3,
+ -6, 4, 6, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"shuttle DH (p24)"},
+#endif
+ {
+ -3, -3, -2, -3,
+ -3, -2, -1, -2, 1, -2, 3, -2,
+ -3, -1, -2, -1,
+ -9, 0, -8, 0, 7, 0, 8, 0,
+ -10, 1, -8, 1, 7, 1, 9, 1,
+ -10, 2, 9, 2,
+ -11, 3, -10, 3, 9, 3, 10, 3,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"oscillator NT (p48)"},
+#endif
+ {
+ -9, -13, -8, -13, -7, -13, 7, -13, 8, -13, 9, -13,
+ -9, -12, -6, -12, 6, -12, 9, -12,
+ -9, -11, -5, -11, 5, -11, 9, -11,
+ -8, -10, -5, -10, 5, -10, 8, -10,
+ -7, -9, -6, -9, -5, -9, 5, -9, 6, -9, 7, -9,
+ -11, -2, 11, -2,
+ -12, -1, -10, -1, 10, -1, 12, -1,
+ -14, 0, -13, 0, 13, 0, 14, 0,
+ -12, 1, -10, 1, 10, 1, 12, 1,
+ -11, 2, 11, 2,
+ -7, 9, -6, 9, -5, 9, 5, 9, 6, 9, 7, 9,
+ -8, 10, -5, 10, 5, 10, 8, 10,
+ -9, 11, -5, 11, 5, 11, 9, 11,
+ -9, 12, -6, 12, 6, 12, 9, 12,
+ -9, 13, -8, 13, -7, 13, 7, 13, 8, 13, 9, 13,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"simple oscillator DH (p48)"},
+#endif
+ {
+ -11, -11,
+ -11, -10, -10, -10, -9, -10,
+ -8, -9,
+ -9, -8, -8, -8,
+ -1, -5, 0, -5, 1, -5,
+ -2, -4, 1, -4,
+ -3, -3, 1, -3,
+ -3, -2, 0, -2,
+ -3, -1, -2, -1, -1, -1,
+ 8, 8, 9, 8,
+ 8, 9, 10, 9,
+ 10, 10,
+ 10, 11, 11, 11,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator HE (p96)"},
+#endif
+ {
+ -13, -13, -12, -13,
+ -13, -12, -12, -12,
+ 7, -4,
+ 6, -3, 7, -3,
+ 5, -2, 7, -2,
+ 4, -1, 5, -1, 6, -1,
+ 10, 1, 11, 1, 12, 1,
+ 9, 2, 11, 2,
+ 9, 3, 10, 3,
+ 9, 4,
+ 12, 12, 13, 12,
+ 12, 13, 13, 13,
+ 127
+ }
+};
+
+static char patterns_8S34678B3678[][2 * NUMPTS + 1] =
+{
+#if 0
+#ifdef LIFE_NAMES
+ {"I (p3) "},
+#endif
+ {
+ -2, -1, 2, -1,
+ -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
+ -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
+ -2, 2, 2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"OO (p3)"},
+#endif
+ {
+ -2, -2, -1, -2, 1, -2, 2, -2,
+ -3, -1, -1, -1, 1, -1, 3, -1,
+ -3, 0, -1, 0, 1, 0, 3, 0,
+ -2, 1, -1, 1, 1, 1, 2, 1,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"rocket predecessor"},
+#endif
+ {
+ -3, -2, -2, -2,
+ -4, -1, -2, -1, -1, -1,
+ -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0,
+ -4, 1, -2, 1, -1, 1,
+ -3, 2, -2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"2 rockets and junk"},
+#endif
+ {
+ -1, -2,
+ -2, -1, -1, -1, 0, -1, 1, -1, 2, -1,
+ -3, 0, -2, 0, -1, 0, 0, 0, 1, 0,
+ -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
+ -1, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"c/2, p2 even spaceship"},
+#endif
+ {
+ 0, -4, 1, -4, 2, -4,
+ -2, -3, 0, -3, 1, -3,
+ -3, -2, -2, -2, -1, -2, 0, -2, 1, -2, 2, -2, 4, -2,
+ -4, -1, -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 2, -1, 3, -1,
+ -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0,
+ -3, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1, 4, 1,
+ -2, 2, 0, 2, 1, 2,
+ 0, 3, 1, 3, 2, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"c/2, p2 odd spaceship"},
+#endif
+ {
+ 0, -3, 1, -3, 2, -3,
+ -2, -2, 0, -2, 1, -2,
+ -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 2, -1, 4, -1,
+ -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0, 3, 0,
+ -3, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1, 4, 1,
+ -2, 2, 0, 2, 1, 2,
+ 0, 3, 1, 3, 2, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"c/2, p4 odd spaceship"},
+#endif
+ {
+ 1, -3,
+ -1, -2, 1, -2,
+ -2, -1, -1, -1, 0, -1,
+ -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 3, 0,
+ -2, 1, -1, 1, 0, 1,
+ -1, 2, 1, 2,
+ 1, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"c/2, p4 even spaceship"},
+#endif
+ {
+ 1, -4,
+ -1, -3, 1, -3,
+ -2, -2, -1, -2, 0, -2,
+ -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 3, -1,
+ -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 3, 0,
+ -2, 1, -1, 1, 0, 1,
+ -1, 2, 1, 2,
+ 1, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"c/2, p32 spaceship"},
+#endif
+ {
+ -1, -3,
+ -3, -2, -2, -2, -1, -2,
+ -4, -1, -2, -1, -1, -1, 0, -1, 2, -1,
+ -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 2, 0, 3, 0,
+ -4, 1, -2, 1, -1, 1, 0, 1, 2, 1,
+ -3, 2, -2, 2, -1, 2,
+ -1, 3,
+ 127
+ },
+#if 0
+#ifdef LIFE_NAMES
+ {"c/3, p3 diagonal butterfly"},
+#endif
+ {
+ -1, -2, 0, -2, 1, -2,
+ -2, -1, 0, -1, 1, -1, 2, -1,
+ -2, 0, -1, 0,
+ -2, 1, -1, 1,
+ -1, 2,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"c/7, p14 snail"},
+#endif
+ {
+ 0, -2,
+ -2, -1, 0, -1, 1, -1,
+ -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
+ -2, 1, 0, 1, 1, 1,
+ 0, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"asym c/2, p4 spaceship"},
+#endif
+ {
+ -7, -3, -6, -3, 1, -3, 2, -3,
+ -8, -2, -7, -2, -6, -2, -4, -2, -3, -2, -2, -2, -1, -2, 1, -2,
+ 2, -2, 4, -2, 5, -2, 6, -2, 7, -2,
+ -9, -1, -7, -1, -6, -1, -2, -1, 1, -1, 3, -1, 4, -1, 5, -1, 6,
+ -1, 8, -1,
+ -8, 0, -7, 0, -6, 0, -5, 0, 0, 0, 2, 0, 4, 0, 6, 0, 7, 0, 8, 0,
+ -6, 2, 6, 2, 7, 2,
+ -8, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"small doomed ship"},
+#endif
+ {
+ -1, -2, 0, -2,
+ -2, -1, -1, -1, 0, -1, 2, -1,
+ -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
+ -2, 1, -1, 1, 0, 1, 2, 1,
+ -1, 2, 0, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"p6 oscillator 0"},
+#endif
+ {
+ 0, -2,
+ -1, -1, 0, -1, 1, -1, 2, -1,
+ -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
+ -1, 1, 0, 1,
+ -1, 2, 0, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"p6 oscillator 1"},
+#endif
+ {
+ 0, -2,
+ -1, -1, 0, -1, 1, -1, 2, -1,
+ -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
+ -1, 1, 0, 1, 1, 1, 2, 1,
+ -1, 2, 0, 2, 1, 2, 2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"p6 oscillator 2"},
+#endif
+ {
+ -3, -3, -2, -3, -1, -3,
+ -3, -2, -2, -2, -1, -2,
+ -3, -1, -2, -1, -1, -1,
+ 0, 0, 1, 0, 2, 0,
+ 0, 1, 1, 1, 2, 1,
+ 0, 2, 1, 2, 2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"p6 oscillator 3"},
+#endif
+ {
+ -3, -4, 1, -4,
+ -3, -3, -2, -3, -1, -3, 2, -3, 3, -3,
+ -4, -2, -2, -2, 1, -2, 2, -2,
+ -1, -1, 0, -1, 2, -1,
+ -3, 0, -1, 0, 0, 0,
+ -3, 1, -2, 1, 1, 1, 3, 1,
+ -4, 2, -3, 2, 0, 2, 1, 2, 2, 2,
+ -2, 3, 2, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"7 oscillator"},
+#endif
+ {
+ -1, -3, 0, -3, 1, -3,
+ 0, -2, 1, -2, 2, -2,
+ -3, -1, 0, -1, 1, -1,
+ -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
+ -3, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
+ -2, 2, 0, 2, 1, 2, 2, 2, 3, 2,
+ 2, 3, 3, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"odd 8 oscillator"},
+#endif
+ {
+ 0, -3,
+ -2, -1, 2, -1,
+ -4, 0, -3, 0, -2, 0, -1, 0, 1, 0, 2, 0, 3, 0, 4, 0,
+ -4, 1, -3, 1, -2, 1, -1, 1, 1, 1, 2, 1, 3, 1, 4, 1,
+ -2, 2, -1, 2, 1, 2, 2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"even 8 oscillator"},
+#endif
+ {
+ -1, -3, 0, -3,
+ -3, -1, 2, -1,
+ -5, 0, -4, 0, -3, 0, -2, 0, 1, 0, 2, 0, 3, 0, 4, 0,
+ -5, 1, -4, 1, -3, 1, -2, 1, 1, 1, 2, 1, 3, 1, 4, 1,
+ -3, 2, -2, 2, 1, 2, 2, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"13 oscillator"},
+#endif
+ {
+ -1, -3,
+ -1, -2,
+ -3, -1, -2, -1, -1, -1,
+ 0, 0,
+ 1, 1, 2, 1, 3, 1,
+ 1, 2,
+ 1, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"14 oscillator"},
+#endif
+ {
+ 3, -3,
+ 3, -2,
+ 2, -1, 3, -1,
+ 2, 0,
+ -2, 1,
+ -3, 2, -2, 2, -1, 2,
+ -1, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"16 oscillator"},
+#endif
+ {
+ 0, -2,
+ -1, -1, 0, -1,
+ -1, 0,
+ -1, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"36 oscillator"},
+#endif
+ {
+ -1, -2, 0, -2, 1, -2,
+ -2, -1, 0, -1, 2, -1,
+ -2, 0, -1, 0, 0, 0, 1, 0, 2, 0,
+ -2, 1, 0, 1,
+ -1, 2, 0, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"42 oscillator"},
+#endif
+ {
+ -3, -5, 2, -5,
+ -4, -4, -3, -4, -2, -4, 1, -4, 2, -4, 3, -4,
+ -5, -3, -4, -3, -3, -3, -2, -3, 1, -3, 2, -3, 3, -3, 4, -3,
+ -4, -2, -3, -2, -1, -2, 0, -2, 2, -2, 3, -2,
+ -2, -1, -1, -1, 0, -1, 1, -1,
+ -2, 0, -1, 0, 0, 0, 1, 0,
+ -4, 1, -3, 1, -1, 1, 0, 1, 2, 1, 3, 1,
+ -5, 2, -4, 2, -3, 2, -2, 2, 1, 2, 2, 2, 3, 2, 4, 2,
+ -4, 3, -3, 3, -2, 3, 1, 3, 2, 3, 3, 3,
+ -3, 4, 2, 4,
+ 127
+ }
+};
+
+
+/*-
+ * This assumes Callahan's "/" notation
+ * ABC A B C
+ * DEF -> D E F
+ * GHI G H I
+ */
+
+/* CALLAHAN */
+static char patterns_6S2b34B2a[][2 * NUMPTS + 1] =
+{
+#if 0
+#ifdef LIFE_NAMES
+ {"glider (p4)"},
+#endif
+ {
+ 0, -2,
+ 1, -1,
+ -2, 0, 1, 0,
+ 1, 1,
+ 1, 2,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"3 oscillator glider gun (p42)"},
+#endif
+ {
+ 5, -6, 6, -6,
+ 6, -5, 7, -5, 9, -5,
+ 6, -4, 8, -4, 9, -4,
+ 7, -3, 8, -3, 10, -3, 11, -3,
+ 8, -2, 10, -2,
+ 8, -1, 10, -1, 11, -1,
+ 8, 0, 9, 0, 10, 0, 12, 0,
+ 10, 1,
+
+ -10, -5,
+ -11, -4, -10, -4, -8, -4,
+ -12, -3, -11, -3, -9, -3, -8, -3, -7, -3,
+ -10, -2, -8, -2, -6, -2,
+ -10, -1, -9, -1, -7, -1, -6, -1, -5, -1, -4, -1,
+ -10, 0, -8, 0, -7, 0, -5, 0,
+
+ 0, -1, 1, -1,
+ 1, 0, 2, 0, 3, 0,
+ 1, 1, 3, 1,
+ 0, 2, 1, 2, 2, 2, 3, 2,
+ 0, 3, 4, 3,
+ 1, 4, 2, 4, 3, 4, 4, 4, 5, 4,
+ 3, 5,
+ 3, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"another gun (p20)"},
+#endif
+ {
+ -2, -7, -1, -7,
+ -2, -6,
+
+ -8, -2,
+ -9, -1, -8, -1, -7, -1, -6, -1, -5, -1,
+ -8, 0, -6, 0, -5, 0,
+ -7, 1, -6, 1,
+ -8, 2, -7, 2,
+ -10, 3, -9, 3, -8, 3,
+ -8, 4,
+ -9, 5, -8, 5, -7, 5,
+ -6, 6,
+
+ 4, 0,
+ 3, 1, 4, 1, 5, 1, 10, 1,
+ 3, 2, 4, 2, 6, 2, 7, 2, 10, 2,
+ 5, 3, 6, 3, 8, 3, 9, 3, 10, 3, 11, 3,
+ 7, 4, 10, 4, 12, 4,
+ 11, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"ship (p48)"},
+#endif
+ {
+ -3, -2, -1, -2,
+ -2, -1, -1, -1,
+ -2, 0, -1, 0, 0, 0, 2, 0,
+ -1, 1, 0, 1, 3, 1,
+ 0, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"ship (p15)"},
+#endif
+ {
+ -3, -5, -1, -5,
+ -2, -4, -1, -4, 0, -4,
+ -4, -3, -3, -3, -2, -3, 0, -3,
+ -2, -2, 0, -2,
+ -1, -1, 0, -1,
+ 0, 1, 1, 1,
+ 0, 2, 2, 2,
+ -1, 3, 0, 3, 1, 3, 3, 3,
+ 2, 4, 3, 4, 4, 4,
+ 2, 5, 4, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"ship by a collision of 3 gliders (p15)"},
+#endif
+ {
+ 7, -4,
+ 8, -3,
+ 8, -2, 10, -2,
+ -11, -1, -10, -1, 1, -1, 2, -1, 3, -1, 4, -1, 9, -1, 11, -1,
+ -9, 0, 1, 0, 10, 0,
+ -8, 1,
+ -7, 2, 5, 2,
+ -9, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"stalk (p8)"},
+#endif
+ {
+ -2, -4,
+ -3, -3, -2, -3,
+ -3, -2, -1, -2, 0, -2,
+ -3, -1, -2, -1, -1, -1, 1, -1,
+ 0, 0, 1, 0,
+ 0, 1, 2, 1,
+ 0, 2, 1, 2, 2, 2,
+ 2, 3, 3, 3, 4, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"stalk by a collision of 3 gliders"},
+#endif
+ {
+ -8, -9,
+ -5, -8,
+ -5, -7,
+ -5, -6,
+ -6, -5, -5, -5,
+ -3, 1,
+ -4, 2, -2, 2,
+ -3, 3, -1, 3,
+ -1, 4,
+ 0, 5, 5, 5,
+ 5, 6,
+ 5, 7, 8, 7,
+ 5, 8,
+ 6, 9,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"stalk by a collision of 2 gilders and eater"},
+#endif
+ {
+ 3, -6,
+ 3, -5,
+ -5, -4, 4, -4, 7, -4,
+ -4, -3, -3, -3, 5, -3,
+ 6, -2,
+ -7, 1, -6, 1,
+ -5, 2,
+ -4, 3,
+ -3, 4,
+ -5, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator (p42)"},
+#endif
+ {
+ -2, -3, -1, -3,
+ -2, -2, 0, -2,
+ -3, -1, -2, -1, -1, -1, 0, -1,
+ -3, 0, 1, 0,
+ -2, 1, -1, 1, 0, 1, 1, 1, 2, 1,
+ 0, 2,
+ 0, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"tentacle (p66)"},
+#endif
+ {
+ -3, -3, -2, -3,
+ -5, -2, -4, -2, -3, -2, -1, -2,
+ -5, -1, -3, -1, -1, -1,
+ -4, 0, -3, 0, -1, 0, 0, 0,
+ -4, 1, -2, 1, -1, 1, 1, 1, 3, 1,
+ 0, 2, 1, 2, 3, 2, 4, 2, 5, 2,
+ 2, 3, 3, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"rotating oscillator (p42)"},
+#endif
+ {
+ 0, -2, 1, -2,
+ -1, -1, 0, -1, 1, -1,
+ 1, 0,
+ -2, 1, -1, 1, 0, 1, 1, 1,
+ -2, 2, -1, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"internal oscillator (p7)"},
+#endif
+ {
+ -3, -6,
+ -4, -5, -3, -5,
+ -5, -4, -4, -4, -2, -4, -1, -4, 1, -4,
+ -3, -3, -1, -3, 0, -3, 1, -3,
+ -6, -2, -4, -2, -3, -2, -1, -2, 2, -2, 3, -2,
+ -5, -1, -4, -1, -2, -1, 2, -1,
+ -6, 0, -5, 0, -3, 0, -2, 0, -1, 0, 0, 0, 3, 0,
+ -4, 1, -3, 1, 1, 1, 3, 1,
+ -4, 2, -2, 2, 0, 2, 1, 2, 4, 2,
+ -4, 3, -3, 3, -2, 3, 0, 3, 1, 3, 3, 3, 4, 3, 5, 3,
+ -1, 4, 0, 4, 2, 4, 3, 4,
+ 1, 5, 2, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator (p7)"},
+#endif
+ {
+ -6, -7,
+ -6, -6,
+ -5, -5, -4, -5,
+ -4, -4, -3, -4, -2, -4,
+ -5, -3, -4, -3, -1, -3, 0, -3, 2, -3,
+ -5, -2, 0, -2, 1, -2, 2, -2,
+ -4, -1, 2, -1,
+ 3, 0,
+ 2, 1, 3, 1,
+ 2, 2,
+ 3, 3, 5, 3,
+ 2, 4, 3, 4, 4, 4, 5, 4,
+ 5, 5,
+ 6, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator (p9)"},
+#endif
+ {
+ -2, -6, -1, -6,
+ -4, -5, -3, -5, -2, -5, 0, -5,
+ -3, -4, -1, -4, 0, -4,
+ -3, -3, -2, -3, -1, -3, 1, -3,
+ 0, -2, 1, -2,
+ 0, -1,
+ -1, 0, 0, 0, 1, 0,
+ -1, 1, 2, 1,
+ -2, 2, -1, 2, 0, 2, 2, 2,
+ -2, 3, 0, 3, 3, 3,
+ -1, 4, 0, 4, 2, 4, 3, 4,
+ 1, 5, 2, 5,
+ 2, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator1 (p11)"},
+#endif
+ {
+ -4, -5,
+ -5, -4, -4, -4,
+ -4, -3, -3, -3, -1, -3,
+ -6, -2, -5, -2, -4, -2, -2, -2, 0, -2,
+ -4, -1, -2, -1, 1, -1, 2, -1,
+ -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 1, 0, 3, 0, 4, 0, 5, 0,
+ -4, 1, 0, 1, 1, 1, 4, 1,
+ 2, 2, 3, 2, 4, 2,
+ 4, 3,
+ 5, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator2 (p11)"},
+#endif
+ {
+ -3, -3, -2, -3, 0, -3,
+ -3, -2, 0, -2, 1, -2,
+ -1, -1, 0, -1, 2, -1,
+ -3, 0, -2, 0, -1, 0, 1, 0, 2, 0,
+ -2, 1, 0, 1, 1, 1, 3, 1,
+ -1, 2, 0, 2, 2, 2, 3, 2,
+ 1, 3, 2, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator (p14)"},
+#endif
+ {
+ -2, -3, -1, -3, 0, -3,
+ -3, -2, -2, -2, 0, -2,
+ -3, -1, 1, -1, 2, -1,
+ -3, 0, -2, 0, 0, 0, 1, 0,
+ -1, 1, 0, 1, 2, 1, 3, 1,
+ -1, 2, 1, 2, 2, 2,
+ 1, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator (p17)"},
+#endif
+ {
+ -3, -6,
+ -3, -5,
+ -5, -4, -4, -4, -3, -4, -2, -4, -1, -4, 0, -4,
+ -3, -3, -1, -3, 0, -3,
+ -2, -2, -1, -2,
+ -2, 0, -1, 0, 2, 0,
+ -3, 1, -2, 1, 0, 1, 1, 1,
+ -3, 2, 0, 2, 2, 2,
+ -2, 3, -1, 3, 1, 3, 2, 3,
+ 0, 4, 1, 4, 3, 4, 4, 4,
+ 2, 5, 3, 5,
+ 2, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator (p18)"},
+#endif
+ {
+ -5, -4, -3, -4,
+ -4, -3, -3, -3, -2, -3,
+ -5, -2, -4, -2, -2, -2,
+ -6, -1, -5, -1, -3, -1, -2, -1, 0, -1, 1, -1, 2, -1, 4, -1,
+ -6, 0, -4, 0, -3, 0, -1, 0, 1, 0, 3, 0, 4, 0, 5, 0, 6, 0,
+ -5, 1, -4, 1, -2, 1, -1, 1, 0, 1, 1, 1, 2, 1, 4, 1, 5, 1,
+ -3, 2, -2, 2, 0, 2, 2, 2, 3, 2, 4, 2, 6, 2,
+ -3, 3, -1, 3, 4, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator (p19)"},
+#endif
+ {
+ -6, -4, -2, -4,
+ -7, -3, -6, -3, -3, -3, -2, -3, -1, -3, 1, -3,
+ -7, -2, -5, -2, -4, -2, -2, -2, 0, -2, 1, -2, 2, -2,
+ -6, -1, -5, -1, -3, -1, -2, -1, -1, -1, 0, -1, 1, -1, 3, -1,
+ -6, 0, -4, 0, -3, 0, 0, 0, 2, 0, 3, 0,
+ -4, 1, -2, 1, 0, 1, 1, 1, 2, 1, 4, 1, 5, 1,
+ 0, 2, 1, 2, 3, 2, 4, 2, 5, 2,
+ 1, 3, 2, 3, 3, 3, 6, 3,
+ 3, 4,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator (p22)"},
+#endif
+ {
+ -5, -5,
+ -4, -4,
+ -6, -3, -5, -3, -4, -3, -3, -3, -2, -3,
+ -4, -2, -2, -2,
+ -4, -1, -3, -1, -2, -1, -1, -1, 0, -1,
+ -3, 0, -1, 0, 1, 0, 2, 0,
+ 0, 1, 1, 1, 2, 1, 3, 1,
+ 0, 2, 1, 2,
+ 4, 4,
+ 5, 5, 6, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator (p26)"},
+#endif
+ {
+ -5, -7,
+ -5, -6, -3, -6,
+ -6, -5, -5, -5, -4, -5, -3, -5, -2, -5,
+ -5, -4, -3, -4, -1, -4, 0, -4,
+ -5, -3, -2, -3, -1, -3, 1, -3,
+ -3, -2, -2, -2, 1, -2,
+ -1, -1, 0, -1, 1, -1, 2, -1, 3, -1,
+ 1, 0, 3, 0,
+ -1, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1,
+ -4, 2, -3, 2, -1, 2, 1, 2, 3, 2, 5, 2,
+ -2, 3, 0, 3, 1, 3, 3, 3,
+ 2, 4, 3, 4, 4, 4,
+ 2, 5, 5, 5,
+ 5, 6,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator (p29)"},
+#endif
+ {
+ -2, -6,
+ -2, -5, -1, -5,
+ -3, -4, -2, -4, 0, -4, 1, -4,
+ -5, -3, -4, -3, -3, -3, 2, -3, 3, -3, 4, -3,
+ -4, -2, -2, -2, 2, -2, 4, -2,
+ -3, -1, -2, -1, -1, -1, 0, -1, 3, -1, 4, -1, 5, -1,
+ -5, 0, -4, 0, -3, 0, -2, 0, 1, 0, 2, 0, 3, 0,
+ -5, 1, -4, 1, -1, 1, 0, 1, 1, 1, 2, 1,
+ -4, 2, -3, 2, -2, 2, 0, 2, 2, 2,
+ -3, 3, 0, 3,
+ 1, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator (p46)"},
+#endif
+ {
+ -2, -4,
+ -2, -3, -1, -3, 0, -3,
+ -4, -2, -3, -2, -2, -2, 0, -2,
+ -5, -1, -3, -1, -1, -1, 0, -1, 1, -1, 2, -1, 3, -1,
+ -4, 0, -3, 0, -2, 0, -1, 0, 0, 0, 3, 0,
+ -3, 1, -1, 1, 1, 1, 4, 1,
+ -4, 2, -3, 2, -2, 2, -1, 2, 0, 2, 1, 2,
+ -1, 3,
+ -1, 4,
+ 127
+ }
+};
+
+/* ANDREEN */
+static char patterns_6S2a2b4aB2a3a4b[][2 * NUMPTS + 1] =
+{
+#if 0
+#ifdef LIFE_NAMES
+ {"3 different gliders"},
+#endif
+ {
+ -5, -9,
+ -5, -8,
+ -4, -7, -3, -7,
+ -4, -6,
+ -3, -5,
+ -1, -2,
+ -1, -1, 1, -1,
+ -1, 0, 1, 0,
+ 0, 1,
+ 0, 2,
+ 2, 5,
+ 2, 6,
+ 2, 7,
+ 3, 8, 5, 8,
+ 3, 9,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"symmetric 4 glider gun"},
+#endif
+ {
+ -2, -3, -1, -3, 0, -3,
+ -3, -2, -2, -2, 3, -2,
+ -2, -1, 0, -1, 1, -1,
+ -2, 0, 0, 0, 2, 0, 3, 0,
+ -1, 1,
+ -1, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"puffer (p18)"},
+#endif
+ {
+ -2, -4,
+ -3, -3, -2, -3, -1, -3, 0, -3,
+ -2, -2, 0, -2,
+ -2, -1, 1, -1,
+ -2, 0, 2, 0,
+ -2, 2, 4, 2,
+ -1, 3, 0, 3, 1, 3, 2, 3, 3, 3, 4, 3,
+ 0, 4, 1, 4, 3, 4, 4, 4,
+ 1, 5, 4, 5,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"quasar (p10)"},
+#endif
+ {
+ -2, -1, -1, -1, 0, -1,
+ -1, 0, 0, 0,
+ 0, 1,
+ 127
+ }
+};
+
+/* TRILIFE */
+static char patterns_12S34B45[][2 * NUMPTS + 1] =
+{
+#if 0
+#ifdef LIFE_NAMES
+ {"glider (c/7, p7) lower right"},
+#endif
+ {
+ 1,0, 2,0,
+ 1,1, 2,1, 4,1,
+ 1,2, 2,2, 4,2, 5,2,
+ 4,3, 5,3,
+ 4,4,
+ 4,5,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"oscillator backwards clock (p6)"},
+#endif
+ {
+ 0, -2, 1, -2,
+ 0, -1,
+ 0, 0,
+ 0, 1, 1, 1,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator bat (p2)"},
+#endif
+ {
+ 0, -3,
+ 0, -2, 1, -2,
+ 0, -1, 1, -1,
+ -1, 0, 0, 0,
+ 0, 1, 1, 1,
+ 0, 2, 1, 2,
+ 0, 3,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator jaws (p4)"},
+#endif
+ {
+ -2, -5, -1, -5, 2, -5, 3, -5,
+ -1, -4, 2, -4,
+ -2, -3, -1, -3, 2, -3, 3, -3,
+ -1, -2, 0, -2, 1, -2, 2, -2,
+ -2, -1, -1, -1, 2, -1, 3, -1,
+ -1, 0, 2, 0,
+ -2, 1, -1, 1, 2, 1, 3, 1,
+ -1, 2, 0, 2, 1, 2, 2, 2,
+ -2, 3, -1, 3, 2, 3, 3, 3,
+ -1, 4, 2, 4,
+ -2, 5, -1, 5, 2, 5, 3, 5,
+ 127
+ }
+};
+
+static char patterns_12S45B456[][2 * NUMPTS + 1] =
+{
+#if 0
+#ifdef LIFE_NAMES
+ {"glider (c/4, p8) flutters down"},
+#endif
+ {
+ 0,1,
+ 0,2, 1,2, 2,2,
+ 0,3, 1,3,
+ 0,4,
+ 0,5, 1,5,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"blinker (p2)"},
+#endif
+ {
+ -1, -2,
+ -1, -1,
+ -1, 0, 0, 0,
+ 0, 1,
+ 0, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator backwards clock (p6)"},
+#endif
+ {
+ -1, -2, 0, -2,
+ -1, -1, 0, -1, 1, -1,
+ 0, 0,
+ -1, 1,
+ 127
+ }
+};
+
+static char patterns_12S23B45[][2 * NUMPTS + 1] =
+{
+#if 0
+#ifdef LIFE_NAMES
+ {"glider (c/5, p5) Down"},
+#endif
+ {
+ 1,0, 2,0,
+ 1,4, 2,4,
+ 0,5, 1,5, 2,5, 3,5,
+ 1,6, 2,6,
+ 127
+ },
+#endif
+#ifdef LIFE_NAMES
+ {"oscillator (labeled as 2,3/3) (p22)"},
+#endif
+ {
+ 0, -4, 1, -4,
+ 0, -3,
+ -1, -2, 2, -2,
+ -2, -1, -1, -1,
+ -1, 0, 2, 0,
+ 0, 1,
+ 0, 2, 1, 2,
+ 127
+ },
+#ifdef LIFE_NAMES
+ {"oscillator (p2)"},
+#endif
+ {
+ 0, -5, 1, -5,
+ 0, -4, 1, -4,
+ -1, -3, 2, -3,
+ -2, -1, 3, -1,
+ -2, 1, 3, 1,
+ -2, 2, 3, 2,
+ -2, 3, -1, 3, 2, 3, 3, 3,
+ 0, 4, 1, 4,
+ 127
+ }
+};
+
+#ifdef LIFE_NAMES
+#define DIV 2
+#else
+#define DIV 1
+#endif
+
+static int patterns_6rules[] =
+{
+ (sizeof patterns_6S2b34B2a / sizeof patterns_6S2b34B2a[0]) / DIV,
+ (sizeof patterns_6S2a2b4aB2a3a4b / sizeof patterns_6S2a2b4aB2a3a4b[0]) /DIV
+};
+
+#define common_8size ((sizeof patterns_8S23B3_6 / sizeof patterns_8S23B3_6[0]) / DIV)
+
+static int patterns_8rules[] =
+{
+ (common_8size + (sizeof patterns_8S23B3 / sizeof patterns_8S23B3[0]) / DIV),
+ (common_8size + (sizeof patterns_8S23B36 / sizeof patterns_8S23B36[0]) / DIV),
+ (sizeof patterns_8S34678B3678 / sizeof patterns_8S34678B3678[0]) / DIV
+};
+
+static int patterns_12rules[] =
+{
+ (sizeof patterns_12S34B45 / sizeof patterns_12S34B45[0]) / DIV,
+ (sizeof patterns_12S45B456 / sizeof patterns_12S45B456[0]) / DIV,
+ (sizeof patterns_12S23B45 / sizeof patterns_12S23B45[0]) / DIV
+};
+
+static paramstruct param_6rules[] =
+{
+ {
+ 0x18, 0x0,
+ {0x2, 0x0, 0x0},
+ {0x1, 0x0, 0x0}
+ },
+ {
+ 0x0, 0x0,
+ {0x3, 0x0, 0x1},
+ {0x1, 0x1, 0x2}
+ }
+};
+
+static paramstruct param_8rules[] =
+{
+ {
+ 0xC, 0x8,
+ {0x0, 0x0, 0x0},
+ {0x0, 0x0, 0x0}
+ },
+ {
+ 0xC, 0x48,
+ {0x0, 0x0, 0x0},
+ {0x0, 0x0, 0x0}
+ },
+ {
+ 0x1D8, 0x1C8,
+ {0x0, 0x0, 0x0},
+ {0x0, 0x0, 0x0}
+ }
+};
+
+static paramstruct param_12rules[] =
+{
+ {
+ 0x18, 0x30,
+ {0x0, 0x0, 0x0},
+ {0x0, 0x0, 0x0}
+ },
+ {
+ 0x30, 0x70,
+ {0x0, 0x0, 0x0},
+ {0x0, 0x0, 0x0}
+ },
+ {
+ 0xC, 0x30,
+ {0x0, 0x0, 0x0},
+ {0x0, 0x0, 0x0}
+ }
+};
+
+#define LIFE_6S2b34B2a 0 /* CALLAHAN */
+#define LIFE_6S2a2b4aB2a3a4b 1 /* ANDREEN */
+#define LIFE_6GLIDERS 2 /* GLIDER rules are first in param_6rules */
+#define LIFE_6RULES (sizeof param_6rules / sizeof param_6rules[0])
+#define LIFE_8S23B3 0 /* LIFE, CONWAY */
+#define LIFE_8S23B36 1 /* HIGHLIFE, BELL */
+#define LIFE_8S34678B3678 2 /* DAY_NIGHT, THOMPSON */
+#define LIFE_8GLIDERS 3 /* GLIDER rules are first in param_8rules */
+#define LIFE_8RULES (sizeof param_8rules / sizeof param_8rules[0])
+#define LIFE_12S34B45 0 /* TRILIFE, BAYS */
+#define LIFE_12S45B456 1 /* TRILIFE1, BAYS */
+#define LIFE_12S23B45 2 /* TRILIFE2, BAYS */
+#define LIFE_12GLIDERS 3 /* GLIDER rules are first in param_12rules */
+#define LIFE_12RULES (sizeof param_12rules / sizeof param_12rules[0])