Go back to Richel Bilderbeek's homepage.

Go back to Richel Bilderbeek's C++ page.

 

 

 

(C++) Duff's device

 

An example of weird-looking-but-compilable code.

 

* View the code of Duff's device in plain text

 

 

//Duff's device

void Send(int * to, const int* from, const int count)

{

int n = (count+7) / 8;

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);

}

}

 

I leave it as an exercise to the reader to figure out what Duff's device does.

 

 

Go back to Richel Bilderbeek's C++ page.

Go back to Richel Bilderbeek's homepage.