Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,30 @@
|
|||
import <Utilities/Conversion.sl>;
|
||||
|
||||
main(args(2)) :=
|
||||
run(args[1], stringToInt(args[2])) when size(args) = 2
|
||||
else
|
||||
"Usage error: exec <initialCells> <generations>";
|
||||
|
||||
stringToCells(string(1))[i] := 0 when string[i] = '_' else 1;
|
||||
cellsToString(cells(1))[i] := '#' when cells[i] = 1 else '_';
|
||||
|
||||
run(cellsString(1), generations) :=
|
||||
runHelper(stringToCells(cellsString), generations, cellsString);
|
||||
|
||||
runHelper(cells(1), generations, result(1)) :=
|
||||
let
|
||||
nextCells := step(cells);
|
||||
in
|
||||
result when generations = 0
|
||||
else
|
||||
runHelper(nextCells, generations - 1,
|
||||
result ++ "\n" ++ cellsToString(nextCells));
|
||||
|
||||
step(cells(1))[i] :=
|
||||
let
|
||||
left := cells[i-1] when i > 1 else 0;
|
||||
right := cells[i + 1] when i < size(cells) else 0;
|
||||
in
|
||||
1 when (left + cells[i] + right) = 2
|
||||
else
|
||||
0;
|
||||
Loading…
Add table
Add a link
Reference in a new issue