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,