WSJT-X/lib/fst280/ldpc_280_74_parity.f90

505 lines
11 KiB
Fortran

data Mn/ &
95, 150, 172, &
154, 178, 184, &
1, 90, 164, &
2, 143, 199, &
3, 33, 70, &
4, 23, 86, &
5, 127, 174, &
6, 18, 110, &
7, 59, 99, &
8, 94, 124, &
9, 168, 206, &
10, 165, 175, &
11, 64, 166, &
12, 103, 156, &
13, 46, 80, &
14, 35, 172, &
15, 20, 189, &
16, 162, 188, &
17, 74, 200, &
19, 52, 178, &
21, 87, 182, &
22, 30, 144, &
24, 37, 126, &
25, 107, 171, &
26, 114, 187, &
27, 36, 53, &
28, 91, 169, &
29, 100, 109, &
31, 71, 192, &
32, 106, 190, &
34, 160, 204, &
38, 93, 136, &
39, 77, 196, &
40, 43, 177, &
41, 56, 66, &
42, 115, 151, &
44, 155, 180, &
45, 105, 128, &
47, 54, 203, &
48, 117, 120, &
49, 62, 183, &
50, 185, 202, &
51, 83, 147, &
55, 75, 170, &
57, 79, 205, &
58, 67, 159, &
60, 81, 201, &
61, 89, 184, &
63, 119, 198, &
65, 104, 152, &
68, 149, 191, &
69, 134, 167, &
72, 102, 129, &
73, 95, 108, &
76, 82, 146, &
78, 112, 173, &
84, 141, 161, &
85, 138, 157, &
92, 132, 145, &
96, 131, 181, &
97, 110, 121, &
98, 133, 153, &
74, 101, 195, &
111, 118, 183, &
113, 130, 163, &
116, 176, 193, &
125, 188, 194, &
135, 142, 148, &
28, 137, 140, &
33, 68, 150, &
46, 51, 179, &
6, 186, 198, &
79, 138, 197, &
1, 30, 122, &
1, 58, 162, &
2, 9, 172, &
3, 71, 161, &
4, 119, 142, &
5, 147, 160, &
6, 73, 183, &
7, 118, 202, &
8, 82, 98, &
2, 47, 56, &
10, 92, 151, &
11, 19, 150, &
12, 169, 179, &
13, 43, 188, &
14, 15, 192, &
14, 82, 120, &
16, 131, 155, &
17, 123, 148, &
18, 60, 117, &
11, 90, 134, &
20, 154, 195, &
21, 47, 166, &
22, 24, 86, &
23, 48, 167, &
21, 22, 190, &
25, 44, 53, &
26, 50, 64, &
4, 27, 95, &
28, 87, 205, &
1, 29, 183, &
30, 132, 185, &
31, 108, 180, &
32, 38, 174, &
33, 36, 128, &
34, 125, 134, &
35, 190, 201, &
30, 33, 142, &
37, 61, 81, &
32, 65, 70, &
39, 40, 41, &
36, 39, 78, &
40, 140, 144, &
42, 100, 194, &
9, 13, 111, &
20, 25, 115, &
45, 140, 165, &
10, 46, 60, &
15, 43, 200, &
23, 113, 158, &
16, 49, 150, &
12, 26, 164, &
51, 88, 115, &
52, 63, 141, &
44, 101, 187, &
34, 54, 173, &
55, 93, 139, &
56, 67, 102, &
57, 62, 152, &
29, 80, 89, &
5, 59, 195, &
18, 100, 156, &
28, 61, 162, &
31, 62, 163, &
38, 52, 103, &
50, 149, 175, &
65, 122, 138, &
66, 112, 171, &
24, 68, 198, &
68, 69, 84, &
51, 69, 108, &
70, 146, 159, &
3, 91, 201, &
72, 143, 149, &
6, 129, 188, &
74, 104, 153, &
54, 75, 186, &
76, 95, 200, &
77, 120, 168, &
41, 104, 182, &
79, 144, 187, &
58, 171, 193, &
37, 85, 135, &
8, 174, 197, &
83, 163, 176, &
53, 67, 184, &
85, 99, 196, &
76, 84, 138, &
77, 87, 194, &
86, 123, 202, &
57, 89, 146, &
27, 90, 97, &
91, 126, 136, &
46, 107, 113, &
55, 189, 204, &
94, 111, 130, &
19, 139, 152, &
96, 121, 158, &
75, 88, 94, &
93, 98, 157, &
79, 81, 203, &
42, 148, 206, &
101, 156, 181, &
97, 114, 154, &
103, 170, 175, &
78, 106, 191, &
105, 109, 135, &
64, 74, 176, &
73, 92, 169, &
80, 132, 181, &
71, 105, 186, &
110, 137, 204, &
21, 159, 192, &
35, 66, 137, &
48, 127, 205, &
114, 182, 193, &
2, 18, 163, &
59, 116, 129, &
99, 107, 119, &
7, 121, 125, &
102, 109, 141, &
19, 87, 160, &
96, 165, 172, &
63, 118, 147, &
17, 143, 196, &
124, 164, 173, &
112, 117, 131, &
52, 151, 180, &
127, 198, 199, &
106, 110, 167, &
116, 177, 178, &
72, 130, 155, &
49, 177, 203, &
128, 133, 166, &
133, 189, 206, &
75, 145, 191, &
1, 51, 133, &
83, 136, 168, &
4, 155, 179, &
3, 127, 157, &
90, 170, 190, &
5, 140, 164, &
6, 139, 196, &
31, 34, 142, &
7, 53, 104, &
11, 39, 109, &
145, 178, 197, &
25, 143, 146, &
8, 134, 181, &
9, 61, 174, &
10, 41, 198, &
12, 135, 159, &
14, 79, 113, &
13, 33, 66, &
153, 161, 188, &
16, 20, 136, &
17, 45, 180, &
22, 100, 116, &
15, 118, 191, &
157, 179, 184, &
37, 110, 185, &
30, 141, 168, &
27, 176, 189, &
28, 76, 186, &
24, 26, 111, &
124, 185, 199, &
45, 122, 126, &
35, 72, 147, &
32, 119, 194, &
36, 50, 138, &
23, 29, 175, &
42, 67, 124, &
40, 89, 94, &
43, 103, 199, &
49, 151, 167, &
44, 84, 204, &
47, 48, 122, &
46, 105, 195, &
55, 96, 177, &
57, 59, 106, &
38, 54, 193, &
58, 86, 152, &
63, 101, 162, &
60, 98, 123, &
64, 115, 205, &
62, 200, 201, &
65, 73, 154, &
56, 82, 183, &
69, 91, 99, &
70, 202, 203, &
74, 112, 197, &
71, 131, 206, &
77, 165, 171, &
68, 97, 120, &
78, 156, 161, &
80, 114, 148, &
83, 92, 187, &
88, 102, 158, &
107, 145, 166, &
122, 125, 130, &
85, 117, 170, &
121, 128, 169, &
126, 129, 173, &
153, 158, 160, &
93, 144, 149, &
88, 123, 137, &
81, 108, 182, &
132, 139, 192/
data Nm/ &
3, 74, 75, 103, 209, &
4, 76, 83, 189, 0, &
5, 77, 145, 212, 0, &
6, 78, 101, 211, 0, &
7, 79, 133, 214, 0, &
8, 72, 80, 147, 215, &
9, 81, 192, 217, 0, &
10, 82, 156, 221, 0, &
11, 76, 117, 222, 0, &
12, 84, 120, 223, 0, &
13, 85, 93, 218, 0, &
14, 86, 124, 224, 0, &
15, 87, 117, 226, 0, &
16, 88, 89, 225, 0, &
17, 88, 121, 231, 0, &
18, 90, 123, 228, 0, &
19, 91, 197, 229, 0, &
8, 92, 134, 189, 0, &
20, 85, 169, 194, 0, &
17, 94, 118, 228, 0, &
21, 95, 98, 185, 0, &
22, 96, 98, 230, 0, &
6, 97, 122, 243, 0, &
23, 96, 141, 237, 0, &
24, 99, 118, 220, 0, &
25, 100, 124, 237, 0, &
26, 101, 164, 235, 0, &
27, 69, 102, 135, 236, &
28, 103, 132, 243, 0, &
22, 74, 104, 110, 234, &
29, 105, 136, 216, 0, &
30, 106, 112, 241, 0, &
5, 70, 107, 110, 226, &
31, 108, 128, 216, 0, &
16, 109, 186, 240, 0, &
26, 107, 114, 242, 0, &
23, 111, 155, 233, 0, &
32, 106, 137, 253, 0, &
33, 113, 114, 218, 0, &
34, 113, 115, 245, 0, &
35, 113, 152, 223, 0, &
36, 116, 174, 244, 0, &
34, 87, 121, 246, 0, &
37, 99, 127, 248, 0, &
38, 119, 229, 239, 0, &
15, 71, 120, 166, 250, &
39, 83, 95, 249, 0, &
40, 97, 187, 249, 0, &
41, 123, 205, 247, 0, &
42, 100, 138, 242, 0, &
43, 71, 125, 143, 209, &
20, 126, 137, 200, 0, &
26, 99, 158, 217, 0, &
39, 128, 149, 253, 0, &
44, 129, 167, 251, 0, &
35, 83, 130, 260, 0, &
45, 131, 163, 252, 0, &
46, 75, 154, 254, 0, &
9, 133, 190, 252, 0, &
47, 92, 120, 256, 0, &
48, 111, 135, 222, 0, &
41, 131, 136, 258, 0, &
49, 126, 196, 255, 0, &
13, 100, 180, 257, 0, &
50, 112, 139, 259, 0, &
35, 140, 186, 226, 0, &
46, 130, 158, 244, 0, &
51, 70, 141, 142, 266, &
52, 142, 143, 261, 0, &
5, 112, 144, 262, 0, &
29, 77, 183, 264, 0, &
53, 146, 204, 240, 0, &
54, 80, 181, 259, 0, &
19, 63, 148, 180, 263, &
44, 149, 171, 208, 0, &
55, 150, 160, 236, 0, &
33, 151, 161, 265, 0, &
56, 114, 178, 267, 0, &
45, 73, 153, 173, 225, &
15, 132, 182, 268, 0, &
47, 111, 173, 279, 0, &
55, 82, 89, 260, 0, &
43, 157, 210, 269, 0, &
57, 142, 160, 248, 0, &
58, 155, 159, 273, 0, &
6, 96, 162, 254, 0, &
21, 102, 161, 194, 0, &
125, 171, 270, 278, 0, &
48, 132, 163, 245, 0, &
3, 93, 164, 213, 0, &
27, 145, 165, 261, 0, &
59, 84, 181, 269, 0, &
32, 129, 172, 277, 0, &
10, 168, 171, 245, 0, &
1, 54, 101, 150, 0, &
60, 170, 195, 251, 0, &
61, 164, 176, 266, 0, &
62, 82, 172, 256, 0, &
9, 159, 191, 261, 0, &
28, 116, 134, 230, 0, &
63, 127, 175, 255, 0, &
53, 130, 193, 270, 0, &
14, 137, 177, 246, 0, &
50, 148, 152, 217, 0, &
38, 179, 183, 250, 0, &
30, 178, 202, 252, 0, &
24, 166, 191, 271, 0, &
54, 105, 143, 279, 0, &
28, 179, 193, 218, 0, &
8, 61, 184, 202, 233, &
64, 117, 168, 237, 0, &
56, 140, 199, 263, 0, &
65, 122, 166, 225, 0, &
25, 176, 188, 268, 0, &
36, 118, 125, 257, 0, &
66, 190, 203, 230, 0, &
40, 92, 199, 273, 0, &
64, 81, 196, 231, 0, &
49, 78, 191, 241, 0, &
40, 89, 151, 266, 0, &
61, 170, 192, 274, 0, &
74, 139, 239, 249, 272, &
91, 162, 256, 278, 0, &
10, 198, 238, 244, 0, &
67, 108, 192, 272, 0, &
23, 165, 239, 275, 0, &
7, 187, 201, 212, 0, &
38, 107, 206, 274, 0, &
53, 147, 190, 275, 0, &
65, 168, 204, 272, 0, &
60, 90, 199, 264, 0, &
59, 104, 182, 280, 0, &
62, 206, 207, 209, 0, &
52, 93, 108, 221, 0, &
68, 155, 179, 224, 0, &
32, 165, 210, 228, 0, &
69, 184, 186, 278, 0, &
58, 73, 139, 160, 242, &
129, 169, 215, 280, 0, &
69, 115, 119, 214, 0, &
57, 126, 193, 234, 0, &
68, 78, 110, 216, 0, &
4, 146, 197, 220, 0, &
22, 115, 153, 277, 0, &
59, 208, 219, 271, 0, &
55, 144, 163, 220, 0, &
43, 79, 196, 240, 0, &
68, 91, 174, 268, 0, &
51, 138, 146, 277, 0, &
1, 70, 85, 123, 0, &
36, 84, 200, 247, 0, &
50, 131, 169, 254, 0, &
62, 148, 227, 276, 0, &
2, 94, 176, 259, 0, &
37, 90, 204, 211, 0, &
14, 134, 175, 267, 0, &
58, 172, 212, 232, 0, &
122, 170, 270, 276, 0, &
46, 144, 185, 224, 0, &
31, 79, 194, 276, 0, &
57, 77, 227, 267, 0, &
18, 75, 135, 255, 0, &
65, 136, 157, 189, 0, &
3, 124, 198, 214, 0, &
12, 119, 195, 265, 0, &
13, 95, 206, 271, 0, &
52, 97, 202, 247, 0, &
11, 151, 210, 234, 0, &
27, 86, 181, 274, 0, &
44, 177, 213, 273, 0, &
24, 140, 154, 265, 0, &
1, 16, 76, 195, 0, &
56, 128, 198, 275, 0, &
7, 106, 156, 222, 0, &
12, 138, 177, 243, 0, &
66, 157, 180, 235, 0, &
34, 203, 205, 251, 0, &
2, 20, 203, 219, 0, &
71, 86, 211, 232, 0, &
37, 105, 200, 229, 0, &
60, 175, 182, 221, 0, &
21, 152, 188, 279, 0, &
41, 64, 80, 103, 260, &
2, 48, 158, 232, 0, &
42, 104, 233, 238, 0, &
72, 149, 183, 236, 0, &
25, 127, 153, 269, 0, &
18, 67, 87, 147, 227, &
17, 167, 207, 235, 0, &
30, 98, 109, 213, 0, &
51, 178, 208, 231, 0, &
29, 88, 185, 280, 0, &
66, 154, 188, 253, 0, &
67, 116, 161, 241, 0, &
63, 94, 133, 250, 0, &
33, 159, 197, 215, 0, &
73, 156, 219, 263, 0, &
49, 72, 141, 201, 223, &
4, 201, 238, 246, 0, &
19, 121, 150, 258, 0, &
47, 109, 145, 258, 0, &
42, 81, 162, 262, 0, &
39, 173, 205, 262, 0, &
31, 167, 184, 248, 0, &
45, 102, 187, 257, 0, &
11, 174, 207, 264, 0/
data nrw/ &
5,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4, &
4,4,4,4,4,4,4,5,4,5,4,4,5,4,4,4,4,4,4,4, &
4,4,4,4,4,5,4,4,4,4,5,4,4,4,4,4,4,4,4,4, &
4,4,4,4,4,4,4,5,4,4,4,4,4,5,4,4,4,4,5,4, &
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, &
4,4,4,4,4,4,4,4,4,5,4,4,4,4,4,4,4,4,4,4, &
4,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,4, &
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, &
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, &
4,4,5,4,4,4,4,5,4,4,4,4,4,4,4,4,4,5,4,4, &
4,4,4,4,4,4/
ncw=3