<< 18/89 >>
First Last

Duff's device

 switch (count % 8)  /* count > 0 とする */
 {
   case 0:        do {  *to = *from++;
   case 7:              *to = *from++;
   case 6:              *to = *from++;
   case 5:              *to = *from++;
   case 4:              *to = *from++;
   case 3:              *to = *from++;
   case 2:              *to = *from++;
   case 1:              *to = *from++;
                     } while ((count -= 8) > 0);
 }

http://ja.wikipedia.org/wiki/Duff's_device