Why It Works
Based on an algorithm used widely by programmers coding in assembly for minimizing the number of tests and branches during a copy, Duff's device appears out of place when implemented in C. The device is valid C by virtue of two attributes in C:
- Relaxed specification of the switch statement in the language's definition. At the time of the device's invention this was the first edition of The C Programming Language which requires only that the controlled statement of the switch be a syntactically valid (compound) statement within which case labels can appear prefixing any sub-statement. In conjunction with the fact that, in the absence of a break statement, the flow of control will fall through from a statement controlled by one case label to that controlled by the next, this means that the code specifies a succession of count copies from sequential source addresses to the memory-mapped output port.
- The ability to jump into the middle of a loop in C.
Note that, as documented in the comment appearing in Duff's un-optimized version, the code assumes that count is strictly positive.
Read more about this topic: Duff's Device
Famous quotes containing the word works:
“They commonly celebrate those beaches only which have a hotel on them, not those which have a humane house alone. But I wished to see that seashore where mans works are wrecks; to put up at the true Atlantic House, where the ocean is land-lord as well as sea-lord, and comes ashore without a wharf for the landing; where the crumbling land is the only invalid, or at best is but dry land, and that is all you can say of it.”
—Henry David Thoreau (18171862)