Duff's Device - Why IT Works

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:

  1. 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.
  2. 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 day—who works at a job and then takes on a second shift with the kids every night—is much more likely to adopt the survivor’s motto: “If it works, I’ll 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 don’t get it.
    Ron Taffel (20th century)