0057-duff.c - scc - simple c99 compiler
(HTM) git clone git://git.simple-cc.org/scc
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Submodules
(DIR) README
(DIR) LICENSE
---
0057-duff.c (542B)
---
1 int main()
2 {
3 int count, n;
4 char *from, *to;
5 char a[39], b[39];
6
7 for(n = 0; n < 39; n++) {
8 a[n] = n;
9 b[n] = 0;
10 }
11 from = a;
12 to = b;
13 count = 39;
14 n = (count + 7) / 8;
15 switch (count % 8) {
16 case 0: do { *to++ = *from++;
17 case 7: *to++ = *from++;
18 case 6: *to++ = *from++;
19 case 5: *to++ = *from++;
20 case 4: *to++ = *from++;
21 case 3: *to++ = *from++;
22 case 2: *to++ = *from++;
23 case 1: *to++ = *from++;
24 } while (--n > 0);
25 }
26 for(n = 0; n < 39; n++)
27 if(a[n] != b[n])
28 return 1;
29 return 0;
30 }