Home
       0057-duff.c - scc - simple c99 compiler
  HTML 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 }