Skip to Main Content
Idaho State University home

Glossary

Filter:
# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z All
D
D&V
D-A
DAA
DAC
DAU
DC
DCA
DCP
DCS
Dd
DDD
DDN
DDS
DDT
DEC
DED
DES
DF
DIB
DID
Die
DIP
DLE
DMA
DO
Doc
DOD
DOE
DON
DOS
DP
DPB
DPL
DS
DSN
DSU
DTD
DTE
DTS
DUA
Duff's Device
  • n. The most dramatic use yet seen of fall through in C, invented by Tom Duff when he was at Lucasfilm. Trying to bum all the instructions he could out of an inner loop that copied data serially onto an output port, he decided to unroll it. He then realized that the unrolled version could be implemented by *interlacing* the structures of a switch and a loop register n = (count + 7) / 8; /* count > 0 assumed */ 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); Shocking though it appears to all who encounter it for the first time, the device is actually perfectly valid, legal C. C's default fall through in case statements has long been its most controversial single feature; Duff observed that "This code forms some sort of argument in that debate, but I'm not sure whether it's for or against. " [For maximal obscurity, the outermost pair of braces above could be actually be removed -- GLS]