- Notifications
You must be signed in to change notification settings - Fork 75
/
Copy pathduff1.cxx
22 lines (20 loc) · 592 Bytes
/
duff1.cxx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<cstdlib>
voidduff_copy1(char* dest, constchar* source, size_t count) {
constchar* end = source + count;
while(size_t count = end - source) {
switch(count % 8) {
case0: *dest++ = *source++; // Fall-through to case 7
case7: *dest++ = *source++; // Fall-through to case 6...
case6: *dest++ = *source++;
case5: *dest++ = *source++;
case4: *dest++ = *source++;
case3: *dest++ = *source++;
case2: *dest++ = *source++;
case1: *dest++ = *source++;
break;
}
}
}
intmain(int argc, char** argv) {
return0;
}