Много лет назад, работая над сложной графикой ввода / вывода, Том Дафф развернул цикл и создал свое Устройство Даффа следующим образом:
dsend(to, from, count)
char *to, *from;
int count;
{
int n = (count + 7) / 8;
switch (count % 8) {
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 (--n > 0);
}
}
(Обратите внимание, что используются параметры функции старого стиля - это не ошибка.)
Это кодирование происходит непосредственно из мышления на ассемблере и кодирования на C и зависит от провала оператора case в C. Может ли этот вид творчества в чередующихся структурах управления работать на каких-либо других языках?