|
|
1.1 root 1: #ifndef lint
2: static char *mktable_c = "$Header: mktable.c,v 10.5 86/02/01 15:44:59 tony Rel $";
3: #endif lint
4:
5: #include <stdio.h>
6:
7: char reverse_byte[0x100] = { 0 };
8:
9: main()
10: {
11: seed_table();
12: fill_in_table();
13: print_table();
14: }
15:
16: seed_table()
17: {
18: int i = 0;
19: int j = 0x100/2;
20: int b = 0;
21:
22: for (;;) {
23: reverse_byte[i] = b;
24: if (j == 0)
25: break;
26: i = 2*i + 1;
27: b = b + j;
28: j = j/2;
29: }
30: }
31:
32: fill_in_table()
33: {
34: int b;
35:
36: for (b = 1; b < 0x100-2; b += 1)
37: reverse_byte[b+1] =
38: reverse_byte[b] ^ reverse_byte[b^(b+1)];
39: }
40:
41: print_table()
42: {
43: int b;
44:
45: printf("char reverse_byte[0x100] = {\n\t");
46: b = 0;
47: for (;;) {
48: printf("0x%02x", reverse_byte[b] & 0xff);
49: b += 1;
50: if (b == 0x100) {
51: printf("\n};\n");
52: return;
53: } else if (b % 8 == 0) {
54: printf(",\n\t");
55: } else {
56: printf(", ");
57: }
58: }
59: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.