/* Created by David Catt */ #include #include #include char c1(int t) { return t*(t-(t>>10)); } char c2(int t) { return t*(t^t>>10); } char c3(int t) { return t*((t>>8|t>>10|t>>12)>>2); } char c4(int t) { return t*60*(t>>10); } char c5(int t) { return t*(t>>8&((t>>7)-1)); } char c6(int t) { return (t&63)*(t>>8|t>>10); } char c7(int t) { return t*60*(t>>10|t>>9); } char c8(int t) { return t<<1^(t>>5|t>>7); } char c9(int t) { return ((t>>10&3)-3)*t; } char c10(int t) { return t|(t>>12|t>>8); } char c11(int t) { return (t>>12&1)<<6|t>>5&64; } char c12(int t) { return (t>>12&1)<<6^t*t*(t>>6&64); } char c13(int t) { return (t>>12&1)<<6^(t*t*(32-(t>>6))&64); } char c14(int t) { return (t>>12&1)<<6^(t*(t>>5&64)); } char c15(int t) { return t>>(t&4)>>(t&3); } char c16(int t) { return (t^t>>10&t>>9)*(((t>>7&1)*2)-1); } char c17(int t) { return t*(((t&4192)/4192)+1); } char c18(int t) { return (t/3&63)/(t%4000/1000+1); } char c19(int t) { return t*(t-(t>>4)); } char c20(int t) { return sin(t)*t; } char c21(int t) { return t*t/((t%100)+1); } FILE* f; void writeTrack(char(*gen)(int)) { int i; char buf[131072]; for(i = 0; i < 131072; ++i) { buf[i] = gen(i); } fwrite(buf, 1, 131072, f); fflush(f); } int main(int argc, char** argv) { if(!(f = fopen(argc<2?"MIX8":argv[1],"wb"))) { fprintf(stderr, "ERROR: Could not open output.\n"); return 1; } writeTrack(&c1); writeTrack(&c2); writeTrack(&c3); writeTrack(&c4); writeTrack(&c5); writeTrack(&c6); writeTrack(&c7); writeTrack(&c8); writeTrack(&c9); writeTrack(&c10); writeTrack(&c11); writeTrack(&c12); writeTrack(&c13); writeTrack(&c14); writeTrack(&c15); writeTrack(&c16); writeTrack(&c17); writeTrack(&c18); writeTrack(&c19); writeTrack(&c20); writeTrack(&c21); fclose(f); return 0; }