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:
“Again we mistook a little rocky islet seen through the drisk, with some taller bare trunks or stumps on it, for the steamer with its smoke-pipes, but as it had not changed its position after half an hour, we were undeceived. So much do the works of man resemble the works of nature. A moose might mistake a steamer for a floating isle, and not be scared till he heard its puffing or its whistle.”
—Henry David Thoreau (18171862)