forked from KolibriOS/kolibrios
2bf6bb3b5b
git-svn-id: svn://kolibrios.org@1769 a494cfbc-eb01-0410-851d-a64ba20cac60
838 lines
8.5 KiB
Plaintext
838 lines
8.5 KiB
Plaintext
#Life 1.05
|
|
#D Binary Adder
|
|
#D By David Buckingham, with size optimization by Mark
|
|
#D Niemec, 1975. Two glider streams enter the lower
|
|
#D right, representing the binary numbers 1110 and 0011.
|
|
#D The sum, 10001, appears from the middle right side
|
|
#D after about one thousand generations. The gliders go
|
|
#D in and come out backwards -- that is, 1's place first.
|
|
#D That way, the numbers to be added can be arbitrarily
|
|
#D large.
|
|
#N
|
|
#P -56 -95
|
|
**
|
|
..*
|
|
...*
|
|
#P -63 -92
|
|
..*.......*
|
|
**........*
|
|
*..**....*
|
|
.*****.**
|
|
..*
|
|
#P -78 -93
|
|
...........**
|
|
...........**
|
|
........**
|
|
.......***
|
|
........**
|
|
..**.......**
|
|
.*.*.......**
|
|
.*
|
|
**
|
|
#P -83 -79
|
|
**
|
|
.*
|
|
.*.*.......**
|
|
..**.......**....*
|
|
........**......****
|
|
.......***.....*..**
|
|
........**.....**
|
|
...........**....*
|
|
...........**
|
|
#P -49 -90
|
|
...**
|
|
...*.*
|
|
.....*
|
|
.....**
|
|
.
|
|
.
|
|
.
|
|
.
|
|
........**
|
|
.........*
|
|
.........*.*.....*
|
|
..........**....*.*
|
|
..............**...*
|
|
....*.........**...*
|
|
..*.*.........**...*
|
|
...**...........*.*
|
|
.................*
|
|
........***
|
|
**........*
|
|
**.......*
|
|
.
|
|
.
|
|
.
|
|
.
|
|
.
|
|
.
|
|
......**
|
|
......*
|
|
........*..........*
|
|
.......****......*.*
|
|
......*....*......**
|
|
......**..**
|
|
#P -51 -56
|
|
..............***
|
|
..............***
|
|
.....***.....*...*
|
|
............*.....*..*.*
|
|
.....*.*.....*...*....**
|
|
....*****.....***.....*
|
|
...**...**
|
|
...**...**
|
|
.
|
|
.
|
|
...**
|
|
.**.*
|
|
.*
|
|
............**
|
|
..***.*......*
|
|
......*...***
|
|
......*...*
|
|
.
|
|
.
|
|
.
|
|
.
|
|
.**...**
|
|
...***
|
|
..*...*
|
|
...*.*
|
|
....*
|
|
.
|
|
.**
|
|
..*
|
|
**
|
|
#P -63 -75
|
|
*.**
|
|
....*
|
|
.....*
|
|
.....*
|
|
.....*
|
|
....*
|
|
..**
|
|
.
|
|
.
|
|
...*
|
|
.***
|
|
*
|
|
**
|
|
.
|
|
.
|
|
.
|
|
.
|
|
.......***
|
|
.........*
|
|
*.......*
|
|
**
|
|
**
|
|
.......***
|
|
.......*
|
|
**......*
|
|
*.**
|
|
...*
|
|
#P -63 -47
|
|
***
|
|
.
|
|
.
|
|
.
|
|
.
|
|
.
|
|
.
|
|
..**
|
|
**
|
|
..*
|
|
.*
|
|
*
|
|
.
|
|
..**
|
|
..*
|
|
...***
|
|
.....*
|
|
.
|
|
.
|
|
.
|
|
...........*
|
|
...........*
|
|
#P -68 -59
|
|
..***
|
|
.
|
|
..*.*
|
|
.****
|
|
**
|
|
**
|
|
#P -66 -47
|
|
.*
|
|
.*
|
|
.*
|
|
.
|
|
.
|
|
.
|
|
.
|
|
**
|
|
..*
|
|
.*
|
|
..*
|
|
#P 64 -22
|
|
**
|
|
*.*
|
|
#P 66 -20
|
|
*
|
|
**
|
|
#P -40 4
|
|
*
|
|
***
|
|
#P -38 6
|
|
.*
|
|
**
|
|
#P -47 15
|
|
...........***
|
|
..........*...*
|
|
.........*.....*
|
|
..........*...*
|
|
...........***
|
|
...........***
|
|
.
|
|
.
|
|
.........**
|
|
..........*.....**
|
|
.......***......*.*
|
|
......*.........*
|
|
.......***
|
|
.........***
|
|
............*
|
|
...........**
|
|
.
|
|
.
|
|
.
|
|
.
|
|
.
|
|
..............*
|
|
.............***
|
|
............*****
|
|
...........**...**
|
|
.
|
|
.
|
|
.
|
|
.............***
|
|
.............***
|
|
.
|
|
*..........**
|
|
***.........*
|
|
...*.....***
|
|
..**.....*
|
|
.
|
|
.
|
|
.
|
|
.
|
|
.....*
|
|
....***
|
|
...*****
|
|
..*.*.*.*
|
|
..**...**
|
|
.
|
|
.
|
|
.....*
|
|
....*.*
|
|
#P -62 63
|
|
.....................*....**
|
|
.................*..*....*.*
|
|
.................*.........*
|
|
..................*
|
|
...............***
|
|
...............*
|
|
........*
|
|
......***
|
|
.....*
|
|
.....**........................*
|
|
..............................**
|
|
.......................**.....*.*
|
|
.......................**
|
|
.
|
|
.
|
|
...........**
|
|
..***.....*.*
|
|
.*...*......*
|
|
*.....*
|
|
*.....*
|
|
..............**
|
|
......*.......*.*.....***
|
|
.....**.......*......*...*
|
|
.....**.............*.....*
|
|
...*..**............*.....*
|
|
....*.*
|
|
....**..............*
|
|
....................**
|
|
....................**
|
|
..**...**..........**..*
|
|
..**...**...........*.*
|
|
.....................**
|
|
....***
|
|
....***
|
|
.....*............**...**
|
|
..................**...**
|
|
.
|
|
....................***
|
|
.......**...........***
|
|
.......*.............*
|
|
........***
|
|
..........*
|
|
.
|
|
..................**
|
|
...................*
|
|
................***
|
|
................*
|
|
#P 65 21
|
|
..**
|
|
..*
|
|
*.*
|
|
#P 65 24
|
|
**
|
|
#P 67 49
|
|
*
|
|
***
|
|
...*
|
|
..**
|
|
.
|
|
.
|
|
.
|
|
.
|
|
.
|
|
..**...**
|
|
..*.....*
|
|
#P 65 61
|
|
.**..*...*
|
|
**....***
|
|
..*
|
|
.
|
|
.
|
|
.
|
|
.
|
|
.
|
|
.....*
|
|
...**.**
|
|
.
|
|
..*.....*
|
|
.
|
|
..**.*.**
|
|
#P 65 81
|
|
..**
|
|
...*
|
|
***
|
|
#P 65 84
|
|
*
|
|
#P 22 99
|
|
.**
|
|
**
|
|
..*
|
|
#P 22 102
|
|
.
|
|
.
|
|
.
|
|
#P 38 111
|
|
.
|
|
.
|
|
.
|
|
#P 37 114
|
|
.**
|
|
**
|
|
..*
|
|
#P 13 -16
|
|
*
|
|
.*
|
|
#P 15 -17
|
|
*
|
|
*
|
|
*
|
|
#P 29 -17
|
|
...**
|
|
.
|
|
**
|
|
.*
|
|
.*.*
|
|
#P 31 -12
|
|
**
|
|
.
|
|
.....*
|
|
...**
|
|
#P 50 -15
|
|
**
|
|
*
|
|
#P 48 -13
|
|
*.*
|
|
**
|
|
#P 39 -13
|
|
**
|
|
*..*
|
|
....*
|
|
....*
|
|
#P 39 -9
|
|
....*
|
|
*..*
|
|
**
|
|
#P -6 -7
|
|
**
|
|
.**
|
|
*
|
|
#P -6 -3
|
|
.
|
|
.
|
|
.
|
|
#P 8 -8
|
|
*......*.*
|
|
***.....**
|
|
...*....*
|
|
..**
|
|
.
|
|
....***
|
|
....***
|
|
#P 10 -1
|
|
.*...*
|
|
*.....*
|
|
.*...*
|
|
..***
|
|
#P 36 6
|
|
**
|
|
*
|
|
.***
|
|
#P 33 9
|
|
**....*
|
|
*.*
|
|
..*
|
|
..**
|
|
#P -21 8
|
|
**
|
|
.**
|
|
#P -21 10
|
|
*
|
|
#P 2 11
|
|
........**
|
|
.........*
|
|
......***
|
|
......*
|
|
.
|
|
**
|
|
.*
|
|
.*.*......*.*
|
|
..**....*...*
|
|
........*
|
|
#P 9 21
|
|
*....*
|
|
.*
|
|
.*...*
|
|
...*.*
|
|
.
|
|
.*
|
|
..**
|
|
.**
|
|
#P 33 19
|
|
**
|
|
.*
|
|
.*.*
|
|
#P 35 22
|
|
**
|
|
#P 42 21
|
|
..**
|
|
.*.*
|
|
*
|
|
*..*..*
|
|
*
|
|
.*.*
|
|
..**
|
|
#P 49 23
|
|
**....*
|
|
..*..*.*
|
|
***.*.**
|
|
...**.**
|
|
....*.**
|
|
.....*.*
|
|
......*
|
|
#P 21 23
|
|
**
|
|
*.*
|
|
#P 23 25
|
|
*
|
|
**
|
|
#P -6 33
|
|
**
|
|
#P -7 34
|
|
*.*
|
|
..*
|
|
#P -16 39
|
|
**
|
|
#P -16 40
|
|
*.*
|
|
*
|
|
#P 34 45
|
|
....*
|
|
.****
|
|
****
|
|
#P 34 48
|
|
*..*
|
|
****
|
|
.****
|
|
....*
|
|
#P -21 48
|
|
**
|
|
#P -22 49
|
|
*.*
|
|
..*
|
|
#P 11 50
|
|
.................**
|
|
................*.*
|
|
................*
|
|
...............**
|
|
.
|
|
.
|
|
.
|
|
...........**
|
|
..........***
|
|
**.....*.**
|
|
**.....*..*........***
|
|
.......*.**
|
|
..........***..**..*
|
|
...........**..*...*
|
|
................*..*
|
|
................**
|
|
#P 6 69
|
|
........**...*
|
|
........*.*..*.*
|
|
........*....**
|
|
.
|
|
.
|
|
.
|
|
**..............**........*
|
|
.*..............*..*......*
|
|
.*.*.......**..*...*
|
|
..**......***..**..*
|
|
.......*.**
|
|
.......*..*........***....*
|
|
.......*.**...............*
|
|
..........***
|
|
...........**
|
|
..**
|
|
.**
|
|
...*
|
|
#P 39 50
|
|
......**
|
|
......*.*
|
|
........*
|
|
........**
|
|
.
|
|
.
|
|
.
|
|
......**
|
|
......*
|
|
....*.*
|
|
*...**
|
|
.*
|
|
..*
|
|
.*........*
|
|
*.........*
|
|
#P 50 54
|
|
.**
|
|
*..*
|
|
...*
|
|
...*
|
|
.*.*
|
|
.*.*
|
|
..*
|
|
.
|
|
.
|
|
*...**
|
|
.....*
|
|
.
|
|
*...*..**
|
|
.***....**
|
|
.......*
|
|
#P -1 54
|
|
**
|
|
#P -1 55
|
|
*.*
|
|
*
|
|
#P 37 59
|
|
*
|
|
*
|
|
.*
|
|
.*
|
|
#P 37 63
|
|
.*
|
|
*
|
|
*
|
|
#P 33 76
|
|
.*
|
|
*.*
|
|
*..*
|
|
*.*
|
|
.*
|
|
#P 38 73
|
|
..**
|
|
..*
|
|
*.*
|
|
**
|
|
#P 51 74
|
|
...*
|
|
.**.**
|
|
.
|
|
*.....*
|
|
#P 51 79
|
|
**.*.**
|
|
#P -16 87
|
|
*
|
|
#P -17 88
|
|
**
|
|
*.*
|
|
#P 56 86
|
|
**
|
|
*
|
|
#P 57 88
|
|
***
|
|
..*
|
|
#P -8 -129
|
|
..........*
|
|
........***
|
|
.......*
|
|
.......**
|
|
.
|
|
................*
|
|
.....*..........***
|
|
.....*.............*
|
|
....*.*...........**
|
|
...**.**
|
|
..*.....*
|
|
.....*...............*
|
|
..**...**............*
|
|
....................*.*
|
|
...................**.**
|
|
...****...........*.....*
|
|
...*..**.............*
|
|
....*.**..........**...**
|
|
.
|
|
.....**
|
|
......*.............****
|
|
...................**..*
|
|
...................**.*
|
|
**.*.**
|
|
*.....*.....*.......**
|
|
.*...*.......*......*
|
|
..***......***
|
|
.
|
|
....................**.*.**
|
|
..............*.....*.....*
|
|
.............*.......*...*
|
|
.............***......***
|
|
.
|
|
.
|
|
..**................................*
|
|
..**..............................***
|
|
.................................*
|
|
#P -10 -92
|
|
......................**...........**
|
|
.......................*
|
|
....................***
|
|
....................*
|
|
................*
|
|
................***
|
|
...................*
|
|
.*................**
|
|
*
|
|
***.......*....................*****
|
|
........***...................*.***.*
|
|
.......*.......................*...*
|
|
.......**.......................***
|
|
.................................*
|
|
....................***
|
|
...................*...*
|
|
..................*.....*
|
|
..................*.....*......*
|
|
.....................*.........*
|
|
....***............*...*......*.*.....*
|
|
...*...*............***......**.**..*.*
|
|
..*.....*............*......*.....*..**
|
|
..*.....*......................*
|
|
.....*......................**...**
|
|
...*...*..............***
|
|
....***...............***
|
|
.....*...............*...*......*
|
|
...............*.*..............*
|
|
...............**...**...**......*
|
|
..***...........*
|
|
..***
|
|
.*...*........................**
|
|
.........*.*..................**
|
|
**...**...**
|
|
..........*
|
|
#P 34 -90
|
|
*
|
|
***
|
|
...*
|
|
..**
|
|
#P 34 -86
|
|
.
|
|
.
|
|
.
|
|
.
|
|
#P -20 -82
|
|
**
|
|
*
|
|
#P -22 -80
|
|
*.*
|
|
**
|
|
#P 36 -78
|
|
.*****
|
|
*.***.*
|
|
.*...*
|
|
..***
|
|
...*
|
|
#P 34 -70
|
|
.......*
|
|
.......*
|
|
*.....*.*
|
|
*.*..**.**
|
|
**..*.....*
|
|
.......*
|
|
....**...**
|
|
#P -25 -70
|
|
.*
|
|
*
|
|
#P -25 -68
|
|
***
|
|
#P -25 -63
|
|
*.*
|
|
.**
|
|
.*
|
|
#P -22 -63
|
|
.
|
|
.
|
|
.
|
|
#P 38 -58
|
|
**
|
|
.*
|
|
#P 36 -56
|
|
***
|
|
*
|
|
#P 13 -54
|
|
**
|
|
**
|
|
#P 13 -52
|
|
.
|
|
.
|
|
#P 19 -53
|
|
*
|
|
*.*
|
|
**
|
|
#P 19 -49
|
|
.
|
|
.
|
|
.
|
|
#P -5 -51
|
|
**
|
|
*
|
|
.***
|
|
...*
|
|
#P -5 -47
|
|
.
|
|
.
|
|
.
|
|
.
|
|
#P -17 -47
|
|
..*
|
|
*.*
|
|
.**
|
|
#P -17 -43
|
|
.
|
|
.
|
|
.
|
|
#P -10 -48
|
|
*
|
|
.*
|
|
.*
|
|
#P -8 -48
|
|
*
|
|
*
|
|
#P 14 -45
|
|
*
|
|
#P 15 -45
|
|
.*
|
|
**
|
|
*
|
|
#P 23 -44
|
|
...*
|
|
.***
|
|
*
|
|
#P 23 -41
|
|
**
|
|
#P -15 -38
|
|
*.*
|
|
.**
|
|
.*
|
|
#P -15 -34
|
|
.
|
|
.
|
|
.
|
|
#P -2 -38
|
|
......*
|
|
......*.*
|
|
......**
|
|
.
|
|
.
|
|
.......*.*
|
|
..*.....**
|
|
*.*.....*
|
|
.**
|
|
.........*
|
|
#P 0 -28
|
|
.......*.*
|
|
.......**
|
|
.
|
|
.
|
|
.
|
|
*.*
|
|
.**
|
|
.*
|
|
#P 18 -36
|
|
..*
|
|
.**
|
|
.**
|
|
.**
|
|
**
|
|
#P 21 -36
|
|
**
|
|
.**
|
|
.**
|
|
***
|
|
..**
|
|
#P 23 -25
|
|
**
|
|
*
|
|
#P 24 -23
|
|
***
|
|
..*
|
|
#P 41 -25
|
|
..**
|
|
.*.*
|
|
*
|
|
#P 41 -22
|
|
*..*
|
|
*
|
|
.*.*
|
|
..**
|
|
#P 47 -24
|
|
....*
|
|
.***
|
|
*..*
|
|
.**
|
|
#P 52 -27
|
|
..*
|
|
.*.*
|
|
*.**
|
|
*.**
|
|
*.**
|
|
.*.*
|
|
..*
|
|
#P 33 -20
|
|
.**
|
|
*.*
|
|
#P 33 -18
|
|
*
|