Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,28 @@
#include <stdio.h>
#include <string.h>
char trans[] = "___#_##_";
#define v(i) (cell[i] != '_')
int evolve(char cell[], char backup[], int len)
{
int i, diff = 0;
for (i = 0; i < len; i++) {
/* use left, self, right as binary number bits for table index */
backup[i] = trans[ v(i-1) * 4 + v(i) * 2 + v(i + 1) ];
diff += (backup[i] != cell[i]);
}
strcpy(cell, backup);
return diff;
}
int main()
{
char c[] = "_###_##_#_#_#_#__#__\n",
b[] = "____________________\n";
do { printf(c + 1); } while (evolve(c + 1, b + 1, sizeof(c) - 3));
return 0;
}

View file

@ -0,0 +1,27 @@
#include <stdio.h>
char trans[] = "___#_##_";
int evolve(char c[], int len)
{
int i, diff = 0;
# define v(i) ((c[i] & 15) == 1)
# define each for (i = 0; i < len; i++)
each c[i] = (c[i] == '#');
each c[i] |= (trans[(v(i-1)*4 + v(i)*2 + v(i+1))] == '#') << 4;
each diff += (c[i] & 0xf) ^ (c[i] >> 4);
each c[i] = (c[i] >> 4) ? '#' : '_';
# undef each
# undef v
return diff;
}
int main()
{
char c[] = "_###_##_#_#_#_#__#__\n";
do { printf(c + 1); } while (evolve(c + 1, sizeof(c) - 3));
return 0;
}