1
/* GENERATE FILE from gen-des.pl, do not edit */
3
/* pc1_c_3 bit pattern 5 13 21 */
4
static int pc1_c_3[8] = {
5
0x00000000, 0x00000010, 0x00001000, 0x00001010,
6
0x00100000, 0x00100010, 0x00101000, 0x00101010
8
/* pc1_c_4 bit pattern 1 9 17 25 */
9
static int pc1_c_4[16] = {
10
0x00000000, 0x00000001, 0x00000100, 0x00000101,
11
0x00010000, 0x00010001, 0x00010100, 0x00010101,
12
0x01000000, 0x01000001, 0x01000100, 0x01000101,
13
0x01010000, 0x01010001, 0x01010100, 0x01010101
15
/* pc1_d_3 bit pattern 49 41 33 */
16
static int pc1_d_3[8] = {
17
0x00000000, 0x01000000, 0x00010000, 0x01010000,
18
0x00000100, 0x01000100, 0x00010100, 0x01010100
20
/* pc1_d_4 bit pattern 57 53 45 37 */
21
static int pc1_d_4[16] = {
22
0x00000000, 0x00100000, 0x00001000, 0x00101000,
23
0x00000010, 0x00100010, 0x00001010, 0x00101010,
24
0x00000001, 0x00100001, 0x00001001, 0x00101001,
25
0x00000011, 0x00100011, 0x00001011, 0x00101011
27
/* pc2_c_1 bit pattern 5 24 7 16 6 10 */
28
static int pc2_c_1[64] = {
29
0x00000000, 0x00004000, 0x00040000, 0x00044000,
30
0x00000100, 0x00004100, 0x00040100, 0x00044100,
31
0x00020000, 0x00024000, 0x00060000, 0x00064000,
32
0x00020100, 0x00024100, 0x00060100, 0x00064100,
33
0x00000001, 0x00004001, 0x00040001, 0x00044001,
34
0x00000101, 0x00004101, 0x00040101, 0x00044101,
35
0x00020001, 0x00024001, 0x00060001, 0x00064001,
36
0x00020101, 0x00024101, 0x00060101, 0x00064101,
37
0x00080000, 0x00084000, 0x000c0000, 0x000c4000,
38
0x00080100, 0x00084100, 0x000c0100, 0x000c4100,
39
0x000a0000, 0x000a4000, 0x000e0000, 0x000e4000,
40
0x000a0100, 0x000a4100, 0x000e0100, 0x000e4100,
41
0x00080001, 0x00084001, 0x000c0001, 0x000c4001,
42
0x00080101, 0x00084101, 0x000c0101, 0x000c4101,
43
0x000a0001, 0x000a4001, 0x000e0001, 0x000e4001,
44
0x000a0101, 0x000a4101, 0x000e0101, 0x000e4101
46
/* pc2_c_2 bit pattern 20 18 12 3 15 23 */
47
static int pc2_c_2[64] = {
48
0x00000000, 0x00000002, 0x00000200, 0x00000202,
49
0x00200000, 0x00200002, 0x00200200, 0x00200202,
50
0x00001000, 0x00001002, 0x00001200, 0x00001202,
51
0x00201000, 0x00201002, 0x00201200, 0x00201202,
52
0x00000040, 0x00000042, 0x00000240, 0x00000242,
53
0x00200040, 0x00200042, 0x00200240, 0x00200242,
54
0x00001040, 0x00001042, 0x00001240, 0x00001242,
55
0x00201040, 0x00201042, 0x00201240, 0x00201242,
56
0x00000010, 0x00000012, 0x00000210, 0x00000212,
57
0x00200010, 0x00200012, 0x00200210, 0x00200212,
58
0x00001010, 0x00001012, 0x00001210, 0x00001212,
59
0x00201010, 0x00201012, 0x00201210, 0x00201212,
60
0x00000050, 0x00000052, 0x00000250, 0x00000252,
61
0x00200050, 0x00200052, 0x00200250, 0x00200252,
62
0x00001050, 0x00001052, 0x00001250, 0x00001252,
63
0x00201050, 0x00201052, 0x00201250, 0x00201252
65
/* pc2_c_3 bit pattern 1 9 19 2 14 22 */
66
static int pc2_c_3[64] = {
67
0x00000000, 0x00000004, 0x00000400, 0x00000404,
68
0x00400000, 0x00400004, 0x00400400, 0x00400404,
69
0x00000020, 0x00000024, 0x00000420, 0x00000424,
70
0x00400020, 0x00400024, 0x00400420, 0x00400424,
71
0x00008000, 0x00008004, 0x00008400, 0x00008404,
72
0x00408000, 0x00408004, 0x00408400, 0x00408404,
73
0x00008020, 0x00008024, 0x00008420, 0x00008424,
74
0x00408020, 0x00408024, 0x00408420, 0x00408424,
75
0x00800000, 0x00800004, 0x00800400, 0x00800404,
76
0x00c00000, 0x00c00004, 0x00c00400, 0x00c00404,
77
0x00800020, 0x00800024, 0x00800420, 0x00800424,
78
0x00c00020, 0x00c00024, 0x00c00420, 0x00c00424,
79
0x00808000, 0x00808004, 0x00808400, 0x00808404,
80
0x00c08000, 0x00c08004, 0x00c08400, 0x00c08404,
81
0x00808020, 0x00808024, 0x00808420, 0x00808424,
82
0x00c08020, 0x00c08024, 0x00c08420, 0x00c08424
84
/* pc2_c_4 bit pattern 11 13 4 17 21 8 */
85
static int pc2_c_4[64] = {
86
0x00000000, 0x00010000, 0x00000008, 0x00010008,
87
0x00000080, 0x00010080, 0x00000088, 0x00010088,
88
0x00100000, 0x00110000, 0x00100008, 0x00110008,
89
0x00100080, 0x00110080, 0x00100088, 0x00110088,
90
0x00000800, 0x00010800, 0x00000808, 0x00010808,
91
0x00000880, 0x00010880, 0x00000888, 0x00010888,
92
0x00100800, 0x00110800, 0x00100808, 0x00110808,
93
0x00100880, 0x00110880, 0x00100888, 0x00110888,
94
0x00002000, 0x00012000, 0x00002008, 0x00012008,
95
0x00002080, 0x00012080, 0x00002088, 0x00012088,
96
0x00102000, 0x00112000, 0x00102008, 0x00112008,
97
0x00102080, 0x00112080, 0x00102088, 0x00112088,
98
0x00002800, 0x00012800, 0x00002808, 0x00012808,
99
0x00002880, 0x00012880, 0x00002888, 0x00012888,
100
0x00102800, 0x00112800, 0x00102808, 0x00112808,
101
0x00102880, 0x00112880, 0x00102888, 0x00112888
103
/* pc2_d_1 bit pattern 51 35 31 52 39 45 */
104
static int pc2_d_1[64] = {
105
0x00000000, 0x00000080, 0x00002000, 0x00002080,
106
0x00000001, 0x00000081, 0x00002001, 0x00002081,
107
0x00200000, 0x00200080, 0x00202000, 0x00202080,
108
0x00200001, 0x00200081, 0x00202001, 0x00202081,
109
0x00020000, 0x00020080, 0x00022000, 0x00022080,
110
0x00020001, 0x00020081, 0x00022001, 0x00022081,
111
0x00220000, 0x00220080, 0x00222000, 0x00222080,
112
0x00220001, 0x00220081, 0x00222001, 0x00222081,
113
0x00000002, 0x00000082, 0x00002002, 0x00002082,
114
0x00000003, 0x00000083, 0x00002003, 0x00002083,
115
0x00200002, 0x00200082, 0x00202002, 0x00202082,
116
0x00200003, 0x00200083, 0x00202003, 0x00202083,
117
0x00020002, 0x00020082, 0x00022002, 0x00022082,
118
0x00020003, 0x00020083, 0x00022003, 0x00022083,
119
0x00220002, 0x00220082, 0x00222002, 0x00222082,
120
0x00220003, 0x00220083, 0x00222003, 0x00222083
122
/* pc2_d_2 bit pattern 50 32 43 36 29 48 */
123
static int pc2_d_2[64] = {
124
0x00000000, 0x00000010, 0x00800000, 0x00800010,
125
0x00010000, 0x00010010, 0x00810000, 0x00810010,
126
0x00000200, 0x00000210, 0x00800200, 0x00800210,
127
0x00010200, 0x00010210, 0x00810200, 0x00810210,
128
0x00100000, 0x00100010, 0x00900000, 0x00900010,
129
0x00110000, 0x00110010, 0x00910000, 0x00910010,
130
0x00100200, 0x00100210, 0x00900200, 0x00900210,
131
0x00110200, 0x00110210, 0x00910200, 0x00910210,
132
0x00000004, 0x00000014, 0x00800004, 0x00800014,
133
0x00010004, 0x00010014, 0x00810004, 0x00810014,
134
0x00000204, 0x00000214, 0x00800204, 0x00800214,
135
0x00010204, 0x00010214, 0x00810204, 0x00810214,
136
0x00100004, 0x00100014, 0x00900004, 0x00900014,
137
0x00110004, 0x00110014, 0x00910004, 0x00910014,
138
0x00100204, 0x00100214, 0x00900204, 0x00900214,
139
0x00110204, 0x00110214, 0x00910204, 0x00910214
141
/* pc2_d_3 bit pattern 41 38 47 33 40 42 */
142
static int pc2_d_3[64] = {
143
0x00000000, 0x00000400, 0x00001000, 0x00001400,
144
0x00080000, 0x00080400, 0x00081000, 0x00081400,
145
0x00000020, 0x00000420, 0x00001020, 0x00001420,
146
0x00080020, 0x00080420, 0x00081020, 0x00081420,
147
0x00004000, 0x00004400, 0x00005000, 0x00005400,
148
0x00084000, 0x00084400, 0x00085000, 0x00085400,
149
0x00004020, 0x00004420, 0x00005020, 0x00005420,
150
0x00084020, 0x00084420, 0x00085020, 0x00085420,
151
0x00000800, 0x00000c00, 0x00001800, 0x00001c00,
152
0x00080800, 0x00080c00, 0x00081800, 0x00081c00,
153
0x00000820, 0x00000c20, 0x00001820, 0x00001c20,
154
0x00080820, 0x00080c20, 0x00081820, 0x00081c20,
155
0x00004800, 0x00004c00, 0x00005800, 0x00005c00,
156
0x00084800, 0x00084c00, 0x00085800, 0x00085c00,
157
0x00004820, 0x00004c20, 0x00005820, 0x00005c20,
158
0x00084820, 0x00084c20, 0x00085820, 0x00085c20
160
/* pc2_d_4 bit pattern 49 37 30 46 34 44 */
161
static int pc2_d_4[64] = {
162
0x00000000, 0x00000100, 0x00040000, 0x00040100,
163
0x00000040, 0x00000140, 0x00040040, 0x00040140,
164
0x00400000, 0x00400100, 0x00440000, 0x00440100,
165
0x00400040, 0x00400140, 0x00440040, 0x00440140,
166
0x00008000, 0x00008100, 0x00048000, 0x00048100,
167
0x00008040, 0x00008140, 0x00048040, 0x00048140,
168
0x00408000, 0x00408100, 0x00448000, 0x00448100,
169
0x00408040, 0x00408140, 0x00448040, 0x00448140,
170
0x00000008, 0x00000108, 0x00040008, 0x00040108,
171
0x00000048, 0x00000148, 0x00040048, 0x00040148,
172
0x00400008, 0x00400108, 0x00440008, 0x00440108,
173
0x00400048, 0x00400148, 0x00440048, 0x00440148,
174
0x00008008, 0x00008108, 0x00048008, 0x00048108,
175
0x00008048, 0x00008148, 0x00048048, 0x00048148,
176
0x00408008, 0x00408108, 0x00448008, 0x00448108,
177
0x00408048, 0x00408148, 0x00448048, 0x00448148
179
static unsigned char odd_parity[256] = {
180
1, 1, 2, 2, 4, 4, 7, 7, 8, 8, 11, 11, 13, 13, 14, 14,
181
16, 16, 19, 19, 21, 21, 22, 22, 25, 25, 26, 26, 28, 28, 31, 31,
182
32, 32, 35, 35, 37, 37, 38, 38, 41, 41, 42, 42, 44, 44, 47, 47,
183
49, 49, 50, 50, 52, 52, 55, 55, 56, 56, 59, 59, 61, 61, 62, 62,
184
64, 64, 67, 67, 69, 69, 70, 70, 73, 73, 74, 74, 76, 76, 79, 79,
185
81, 81, 82, 82, 84, 84, 87, 87, 88, 88, 91, 91, 93, 93, 94, 94,
186
97, 97, 98, 98,100,100,103,103,104,104,107,107,109,109,110,110,
187
112,112,115,115,117,117,118,118,121,121,122,122,124,124,127,127,
188
128,128,131,131,133,133,134,134,137,137,138,138,140,140,143,143,
189
145,145,146,146,148,148,151,151,152,152,155,155,157,157,158,158,
190
161,161,162,162,164,164,167,167,168,168,171,171,173,173,174,174,
191
176,176,179,179,181,181,182,182,185,185,186,186,188,188,191,191,
192
193,193,194,194,196,196,199,199,200,200,203,203,205,205,206,206,
193
208,208,211,211,213,213,214,214,217,217,218,218,220,220,223,223,
194
224,224,227,227,229,229,230,230,233,233,234,234,236,236,239,239,
195
241,241,242,242,244,244,247,247,248,248,251,251,253,253,254,254,