/*- * 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])