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:
“And when discipline is concerned, the parent who has to make it to the end of an eighteen-hour daywho works at a job and then takes on a second shift with the kids every nightis much more likely to adopt the survivors motto: If it works, Ill use it. From this perspective, dads who are even slightly less involved and emphasize firm limits or character- building might as well be talking a foreign language. They just dont get it.”
—Ron Taffel (20th century)