X-Git-Url: https://git.gir.st/Chiptunes.git/blobdiff_plain/fe9a76e40a40c815efac4bfb99d7105d9c94dda6..26c08307ad93c95f4419473e3dbb86db6e86a90b:/foo.c diff --git a/foo.c b/foo.c index ef4720b..96aa933 100644 --- a/foo.c +++ b/foo.c @@ -1,19 +1,22 @@ #include typedef unsigned char u8; -int g(int i, int x, int t, int o) { - return ((3 & x & (i * ((3 & i >> 16 ? "BY}6YB6%" : "Qj}6jQ6%")[t % 8] + 51) >> o)) << 4); +int g(int i, u8 x, u8 t, u8 o) { + return ((3 & x & (i * ((3 & i >> 16 ? "BY}6YB6%" : "Qj}6jQ6%")[t % 8] + 51) >> o))); }; int main(void) { int i; int n; int s; + u8 acc; for (i = 0;; i++) { + acc = 0; n = i >> 14; s = i >> 17; - putchar(g(i, 1, n, 12) + - g(i, s, n ^ i >> 13, 10) + - g(i, s / 3, n + ((i >> 11) % 3), 10) + - g(i, s / 5, 8 + n - ((i >> 10) % 3), 9)); + acc += g(i, 1, n, 12); + acc += g(i, s, n ^ i >> 13, 10); + acc += g(i, s / 3, n + ((i >> 11) % 3), 10); + acc += g(i, s / 5, 8 + n - ((i >> 10) % 3), 9); + putchar(acc<<4); } }