X-Git-Url: https://git.gir.st/Chiptunes.git/blobdiff_plain/fe9a76e40a40c815efac4bfb99d7105d9c94dda6..ab6fe4c2d3c57df6db00cb72b510f49b174d5ea7:/foo.c diff --git a/foo.c b/foo.c index ef4720b..3e3af85 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); + 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); } }