aboutsummaryrefslogtreecommitdiff
path: root/src/H_256_768_22.c
blob: af4304b4b78c02b42a7e936a50b7a81d580fbb29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
/*
  FILE....: H_256_768_22.c

  Static arrays for LDPC codec H_256_768_22, generated by ldpc_gen_c_h_file.m.
*/

#include "H_256_768_22.h"

#include <stdint.h>

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

const uint16_t H_256_768_22_H_cols[] = {
    18,  149, 117, 42,  22,  90,  2,   185, 143, 321, 110, 189, 45,  205, 21,
    65,  54,  32,  230, 92,  103, 67,  27,  3,   23,  61,  158, 8,   6,   129,
    43,  86,  154, 27,  1,   251, 248, 54,  7,   358, 39,  56,  12,  58,  50,
    84,  8,   49,  11,  25,  178, 183, 109, 127, 79,  70,  182, 83,  17,  114,
    41,  24,  17,  141, 43,  188, 53,  123, 69,  15,  230, 125, 60,  81,  140,
    139, 99,  91,  10,  79,  25,  36,  63,  3,   106, 66,  290, 96,  407, 180,
    57,  14,  82,  72,  206, 51,  135, 57,  271, 40,  68,  151, 51,  112, 286,
    239, 148, 47,  174, 191, 119, 30,  220, 9,   87,  1,   34,  110, 28,  38,
    75,  47,  107, 172, 12,  137, 226, 48,  20,  130, 77,  294, 38,  227, 46,
    115, 153, 5,   88,  179, 88,  136, 55,  328, 74,  233, 34,  35,  183, 63,
    134, 90,  41,  151, 172, 190, 195, 100, 28,  72,  11,  39,  182, 33,  78,
    120, 124, 59,  64,  105, 302, 137, 56,  94,  242, 65,  126, 119, 5,   89,
    58,  107, 89,  30,  40,  61,  245, 101, 64,  162, 29,  16,  252, 19,  31,
    202, 170, 312, 134, 18,  52,  200, 4,   33,  74,  100, 125, 157, 6,   35,
    36,  22,  19,  2,   95,  188, 29,  13,  108, 14,  126, 31,  15,  133, 184,
    73,  10,  352, 37,  69,  113, 166, 152, 73,  201, 156, 13,  7,   121, 20,
    158, 76,  76,  295, 161, 104, 196, 9,   4,   24,  211, 23,  111, 143, 59,
    218, 138, 154, 159, 367, 82,  334, 44,  189, 171, 356, 373, 334, 118, 327,
    44,  155, 147, 238, 234, 129, 260, 266, 105, 258, 37,  198, 262, 26,  152,
    131, 289, 113, 196, 133, 169, 253, 319, 62,  203, 414, 411, 70,  239, 394,
    231, 122, 136, 318, 60,  430, 218, 256, 168, 145, 333, 306, 253, 318, 85,
    165, 266, 192, 257, 193, 116, 209, 138, 207, 311, 169, 279, 140, 62,  115,
    379, 237, 205, 95,  118, 226, 80,  81,  103, 316, 111, 97,  302, 229, 444,
    219, 262, 374, 170, 101, 249, 284, 319, 149, 346, 287, 197, 307, 159, 194,
    333, 300, 199, 123, 276, 207, 175, 190, 247, 146, 296, 122, 378, 193, 45,
    83,  121, 71,  162, 223, 102, 275, 316, 66,  237, 181, 265, 431, 49,  353,
    94,  194, 312, 50,  132, 208, 160, 264, 120, 376, 144, 369, 80,  249, 213,
    307, 298, 104, 294, 243, 263, 195, 225, 109, 168, 98,  21,  325, 338, 180,
    102, 128, 397, 75,  227, 217, 343, 185, 295, 269, 260, 236, 187, 284, 117,
    258, 361, 246, 254, 67,  173, 71,  264, 176, 85,  177, 116, 276, 364, 248,
    86,  219, 380, 348, 161, 215, 55,  282, 135, 46,  78,  156, 128, 320, 132,
    127, 209, 77,  342, 26,  386, 298, 192, 174, 179, 114, 166, 145, 261, 177,
    344, 163, 139, 360, 96,  198, 141, 191, 285, 351, 203, 181, 16,  153, 131,
    32,  184, 163, 289, 360, 199, 335, 232, 53,  42,  255, 240, 178, 214, 210,
    92,  340, 173, 157, 213, 403, 210, 432, 93,  222, 329, 387, 384, 349, 160,
    491, 167, 371, 208, 265, 370, 164, 314, 273, 481, 357, 68,  201, 378, 98,
    171, 150, 434, 142, 211, 142, 216, 259, 329, 401, 297, 455, 421, 225, 443,
    428, 268, 347, 186, 386, 97,  441, 256, 275, 267, 206, 354, 342, 417, 425,
    353, 200, 278, 379, 395, 204, 224, 283, 301, 272, 454, 223, 291, 364, 176,
    398, 396, 372, 272, 324, 301, 271, 270, 112, 311, 355, 292, 310, 321, 315,
    494, 507, 330, 384, 293, 263, 463, 332, 416, 232, 404, 375, 286, 320, 165,
    212, 346, 331, 270, 313, 398, 436, 487, 233, 409, 466, 366, 303, 430, 244,
    236, 234, 124, 99,  197, 280, 144, 332, 335, 93,  371, 359, 341, 446, 91,
    418, 290, 326, 324, 399, 267, 288, 241, 429, 417, 415, 287, 422, 309, 426,
    368, 411, 314, 222, 484, 328, 347, 285, 228, 130, 352, 108, 48,  413, 363,
    251, 241, 299, 410, 150, 250, 220, 389, 257, 305, 387, 281, 273, 376, 349,
    235, 277, 451, 277, 385, 228, 416, 309, 299, 322, 399, 481, 255, 313, 389,
    350, 361, 304, 390, 393, 242, 439, 245, 385, 350, 52,  87,  419, 147, 406,
    323, 404, 420, 305, 345, 84,  415, 391, 202, 308, 186, 244, 327, 217, 363,
    246, 362, 216, 155, 388, 247, 344, 373, 240, 345, 447, 212, 339, 370, 187,
    392, 146, 406, 259, 351, 456, 420, 477, 325, 215, 238, 261, 243, 268, 303,
    359, 434, 453, 296, 382, 231, 500, 339, 476, 106, 374, 423, 401, 442, 435,
    478, 510, 429, 457, 252, 407, 436, 292, 421, 459, 495, 476, 340, 283, 382,
    167, 465, 310, 509, 428, 279, 204, 365, 496, 380, 412, 326, 472, 474, 341,
    459, 497, 471, 473, 498, 413, 356, 449, 426, 395, 478, 469, 467, 500, 506,
    437, 463, 235, 457, 408, 460, 254, 450, 452, 372, 490, 505, 397, 437, 462,
    288, 433, 506, 466, 297, 438, 405, 394, 317, 148, 424, 467, 447, 322, 337,
    485, 502, 509, 441, 483, 494, 448, 472, 402, 458, 281, 451, 431, 315, 505,
    175, 452, 453, 369, 479, 493, 479, 510, 504, 443, 414, 502, 405, 427, 508,
    282, 488, 308, 280, 221, 354, 427, 278, 435, 432, 164, 492, 465, 403, 503,
    348, 483, 336, 470, 470, 409, 300, 448, 366, 464, 462, 486, 484, 501, 493,
    460, 402, 486, 489, 442, 492, 377, 392, 306, 456, 323, 419, 473, 269, 440,
    365, 381, 331, 498, 450, 224, 274, 229, 412, 418, 482, 464, 440, 388, 438,
    357, 274, 487, 469, 355, 512, 400, 475, 362, 336, 445, 455, 485, 507, 317,
    408, 367, 495, 337, 439, 433, 330, 458, 496, 504, 375, 304, 475, 468, 461,
    480, 422, 499, 489, 444, 423, 214, 474, 424, 343, 393, 461, 250, 377, 358,
    396, 512, 508, 383, 488, 400, 471, 391, 477, 291, 501, 511, 221, 482, 490,
    491, 445, 503, 454, 338, 381, 468, 449, 497, 425, 293, 446, 410, 480, 368,
    383, 390, 511, 499};
const float H_256_768_22_input[] = {
    8.9323881489912722,    -14.346922710565353,  7.9693390759559781,
    -5.575983146144643,    -11.430007344507024,  -11.797433382704103,
    -7.6498596597609545,   -7.881023325143766,   4.7029642025464975,
    5.490489593506263,     1.4577054829853482,   7.2204914066015347,
    -6.4495501165249394,   11.025143103007442,   -9.6136273661905971,
    -1.6292633004367878,   20.082835454091001,   -15.940623976141929,
    -2.9320120314706735,   -4.3372895006030534,  5.8549869318024657,
    -7.8135927951559925,   4.4717025005955255,   -7.1804626225242245,
    8.8281745058367793,    3.457866082712139,    -11.660964767047432,
    15.344085170249253,    -14.466810773633428,  -10.293997562512834,
    -6.5294617860841004,   2.6337196833307024,   -11.070543876657444,
    5.7359108096272164,    9.0013294714941843,   -9.1923366442599423,
    8.3397116927192272,    -7.3466443766727068,  -7.0208885950279667,
    -9.8833064990274835,   -11.070411858783441,  16.189201249627562,
    -6.6872549284064142,   -11.752890503765991,  8.888774213749782,
    6.0968391171951497,    4.6589995649358533,   -13.575988817182116,
    11.224485296177397,    -10.220694397171258,  -5.4572791361037458,
    3.0379566142247696,    -10.350052412180393,  10.682941155969285,
    -4.9736564167026174,   11.948298747287996,   -9.0750233401887872,
    8.9486285395989267,    -8.0970017828965126,  -6.5844009128903371,
    8.5356201812866281,    6.8576026698255736,   3.5824292008949179,
    6.386672876216724,     -15.44333294899913,   -14.723335707927411,
    -7.1535041654585925,   10.057507199075706,   -6.9304518083413749,
    -13.454196499566493,   -4.138927837975757,   -9.8229530349333984,
    -4.7378733928678765,   9.7370721449903357,   -11.850883212615898,
    5.8425014756304456,    -6.9027200123108363,  8.7507430345166597,
    -2.8432533600339798,   7.1365746925349614,   -6.098608401582597,
    10.486813349939659,    -8.8989094853818393,  7.6668852841834365,
    6.3748984557020911,    -5.4320648642184377,  12.959555816131948,
    6.6472990487222825,    -4.5586715631096242,  -10.121473995028611,
    13.889214737960058,    7.8618812777297702,   0.65114006436468486,
    5.6488480073158049,    5.572561535915213,    2.4203295039424271,
    5.3724413783839795,    10.445189341740317,   -15.231581540217265,
    11.189031424930562,    13.490253048718506,   -7.5847033262880901,
    8.1341785315194368,    4.667483152501207,    10.057012188688605,
    -12.532915718955612,   17.831016306467532,   -7.0233337748720057,
    -8.1477498232874108,   6.5993887776727203,   -6.605350841986966,
    -7.0309413757967123,   -0.87776810176011932, -7.9287494770117224,
    5.1536577951126938,    0.56224938859050333,  7.7410604756629082,
    -10.567376193912894,   -2.4437814999269047,  -1.2455732716974919,
    -8.9878404597781163,   -10.226284826932922,  4.5715929705982656,
    -1.3060897521729748,   9.6931031456180285,   6.3549868823010955,
    -7.6817147139176463,   8.4268904957327955,   0.72594931178019784,
    -4.9826196594501706,   8.5326984912532176,   2.0637319625971493,
    -4.2933223803232075,   8.0239298244286879,   1.7951957372413565,
    0.084600427180267501,  9.4399601205840362,   10.396717221311645,
    12.856923054222854,    3.3295462715836468,   -7.6253580712992282,
    4.4434471213207374,    6.3733997531278987,   5.4209913860102539,
    -5.9866755286453737,   -7.0287078896424156,  -9.2179437166191374,
    -11.790731307180192,   8.455859639343128,    -8.3117274581248051,
    13.838681948013669,    7.5475760198641648,   -10.086023553300919,
    -11.224918245135393,   -3.3058930832202531,  -6.8195757099451129,
    11.709166727746231,    11.710100491323546,   -11.077873187765078,
    -10.227016885555694,   -4.2941243793572408,  8.1424248467837987,
    9.7722584940844754,    7.1104245309154912,   9.3804477382031415,
    -7.106685163129332,    -7.2437598314289575,  11.947702093459393,
    -1.057260209023416,    -6.765299028699161,   3.3425539547981304,
    13.328906459054352,    4.4101064786390305,   1.8051901230395977,
    11.535802590105595,    0.81386101415425482,  -8.165348209826135,
    -8.5774987728328416,   -6.0775939508580219,  2.5963421619843943,
    6.3292406903055642,    -8.4458269581431491,  8.7662642361276717,
    -5.819334215801403,    -13.610981269704446,  5.0765800356900179,
    8.6249353046138477,    -4.9634433316247675,  -3.9950013700332065,
    -7.6929117100191453,   -6.3633253856519749,  0.83722518023775461,
    10.425061034991041,    10.934194165601433,   10.580235622153944,
    -17.515337920449952,   -1.537113005053216,   10.026745250979713,
    18.991835102357538,    -9.10384082546339,    -13.768910919694958,
    5.4796127108483343,    -8.9244398152912101,  -11.548649423930978,
    15.611931291120561,    -8.908049321272264,   -11.715023369923955,
    -8.5067714993118528,   8.669606218924919,    8.6186685199527773,
    -0.30417248355831389,  -14.992242521244618,  -11.237143275747075,
    15.47971006097473,     7.0259516978639338,   10.065037137491313,
    7.8868287877920169,    -12.78707872542274,   7.4550220422461217,
    -16.404346129675449,   13.30456637678888,    9.9512518647161254,
    7.5942461140693247,    3.7624642178418926,   9.8925251212558027,
    14.146774666880505,    -6.8718384088583475,  -3.9981741290451276,
    9.4511470096099846,    11.953465594032014,   -11.215529849347973,
    15.45129835369298,     -7.3274909872161418,  -4.9654010419320853,
    7.7259448497328904,    9.8641694370073871,   1.1150439872404596,
    -10.084099868296887,   12.049728969177872,   13.071957031320016,
    6.9097309932538309,    -0.39659296549442785, -2.9217410655323537,
    -9.5561149122145306,   4.3607269616443673,   -7.3795521023764916,
    -11.702904880630188,   -1.5433424172046679,  15.057989444533467,
    -1.2565455630730749,   8.9880357276703204,   6.1129770246307693,
    11.328910534091127,    -2.9309511311565144,  11.207912500256919,
    -5.7404867114420988,   5.9950024570017471,   -5.7910643096127341,
    5.4208744627397838,    -4.5716714958282108,  8.1298949011896831,
    -11.711123662713085,   -12.017719365072217,  -9.7122748441533471,
    -6.6047630492267668,   -14.567681472229127,  7.7859507737798745,
    -13.177213209080305,   1.409111307587259,    -1.5011399595588764,
    12.057098493693852,    6.4171185080762427,   -11.634125892968456,
    11.044794834453159,    -14.65558507132892,   13.72196292983746,
    11.040226522930523,    6.2584434572994629,   10.730689310638432,
    -4.618515034465152,    -1.2143032307321182,  -7.4189186448958875,
    -7.669206125358758,    -9.1157167366336314,  4.9339345930796563,
    8.3824960985509129,    9.5126664524245168,   -4.4260649375190164,
    3.6144449441325635,    -10.893425304008998,  8.3182825177379076,
    13.628768431834336,    7.1730917891722781,   10.087828497729179,
    -10.489116618742848,   3.8856613599836791,   -15.602509765497121,
    7.2487646720202497,    12.218582462579505,   0.49211467796430364,
    -0.066484718374747426, -8.4329617736870581,  -3.0127430939186324,
    5.8144883342823128,    8.6729115102941527,   6.121491141792947,
    12.360054236262307,    13.543171514998027,   12.1058948920289,
    -12.808248849582228,   7.3365859144200227,   2.0678328559134647,
    -1.7234260199225477,   -13.299836520520724,  -14.789707963127125,
    6.6006452928112296,    -11.956138068501044,  -8.8455623029732315,
    -2.9088913906661178,   -9.2132364101435229,  -5.8435384831621802,
    5.8547803901805464,    8.8126231169253515,   5.5222906262970843,
    -10.39753464755324,    -12.211638565038697,  17.292580458421533,
    -8.5876470036423616,   4.7678649428994673,   -8.4226853315054129,
    8.700249181036531,     12.952510035514349,   -7.6833594373108234,
    -3.0202355585479235,   8.7526883579126586,   11.663176352140155,
    11.981232949878732,    11.031377901823634,   -9.9501241218952927,
    -15.089187715856323,   -10.601089041749843,  -6.388179627159027,
    -4.6793834219078603,   3.9045854726147744,   9.8861746042718845,
    0.042855319175376341,  14.3414643477855,     -10.407450105082846,
    3.0336086321363265,    13.793872516546351,   8.0501940947932038,
    4.5991785638040428,    -7.9303874601996593,  14.049591025574657,
    17.380262133125449,    -7.8459793004203222,  8.705024309261562,
    6.6262770303011473,    -10.086319438204431,  11.047015628809582,
    -7.3582609209654937,   8.2545626149113698,   -11.989564968227834,
    2.5193529800955838,    -13.244337020280915,  4.8502499826361731,
    14.474602979942233,    6.9452935547158612,   -7.0450024656821544,
    -10.212713949627561,   13.849620674538945,   9.6833988531870752,
    -5.9081325241866898,   -10.018382284344064,  -6.6229672412657683,
    13.879028902842597,    -14.33382686638503,   1.9643288191802857,
    0.16885137143821174,   4.2277292060928415,   10.805548194765471,
    -2.4964830143581742,   -13.101405042095365,  -13.302619999785827,
    -5.9241726080344108,   14.467933324092012,   -8.4591055199339298,
    -10.184465268318146,   -19.503434376811896,  -15.229997219469618,
    4.8345001979789908,    8.0104662922364813,   4.4017092080658031,
    -10.231395640484859,   3.9727378370282236,   14.2026231360392,
    -8.4599285310056196,   -12.215460236402727,  5.394330835754074,
    -7.3356861012337502,   -3.6795675270857404,  8.0787223556775896,
    -9.3271996634056915,   -7.4552893328088974,  6.4828043001554736,
    -5.9782833623900453,   -1.9874116057406432,  -7.5397619196439196,
    6.0283880381663453,    7.1105241207440057,   10.966410901409223,
    -12.375355422502105,   -13.997023100211885,  7.7681673568373251,
    6.0215105845435861,    -0.44409932549081066, 5.2745451861685329,
    -7.2390124351491778,   9.8045113653170404,   -3.5483006663908347,
    8.4455042050030151,    6.750717907091107,    -9.4719350776568856,
    -10.118021370720959,   2.7210293880017544,   8.2387439951112835,
    -8.6980762983904132,   -11.317194860133458,  14.906902369795306,
    8.5196626788523204,    -5.7269320734414473,  -6.4873691363023527,
    11.118139263369434,    -5.131366585591298,   -5.1884527453006095,
    2.1617883533714988,    -3.2189908119713868,  9.1103687701917888,
    6.1325191653578388,    2.411217194453199,    -3.9050656149976706,
    -7.7536941054127926,   -11.37779012533324,   2.2663187424687767,
    -14.954242385161651,   -11.78196073144464,   -5.9162280171814157,
    -14.78759715146799,    4.6557410991557671,   -5.9735521657583144,
    6.6275285823558434,    3.1024480512797177,   10.06871404793227,
    -10.543486892529438,   -4.7522704594310561,  -0.61601641164246079,
    -7.6838548304456449,   15.87411724597454,    -11.665450977940896,
    -4.4365872375343205,   3.8247335268174831,   6.5326004536991329,
    12.435275476860919,    8.2570494940406931,   -3.3808435906687064,
    -4.7552502897093776,   4.5050634114776189,   10.672688962977514,
    12.075918776794476,    1.7986308060137437,   4.1923629883751303,
    11.752733569678064,    -10.339474897439999,  -16.186126637379726,
    -10.796197122972746,   -9.214305404692233,   13.497270712719919,
    -9.4453197440185637,   -15.69391834232802,   12.700707467329744,
    4.7024717561391816,    -10.327031105585643,  3.8477541445369963,
    -5.4896217736139521,   8.0519776507030638,   5.0341370218785944,
    6.0456145072449026,    -10.710449576292405,  -8.6533964520637863,
    -12.257979327405108,   -12.078971121036197,  -10.881473761466781,
    14.147239535310518,    -2.6328735032346162,  -15.716779182806999,
    -9.4242407781207191,   8.1426142269915331,   8.1611227842517025,
    -3.6252335542783207,   -9.8025397455364676,  12.763568770750853,
    -9.5331346940178729,   4.9974585644427902,   5.9879812547323237,
    -6.2951737225996656,   -3.9498007698755808,  10.122100576790197,
    6.6618355586974447,    4.6997313218613739,   8.1707413233409465,
    12.216703169693357,    -12.426888921432578,  -11.146002828849364,
    6.3741370321379085,    7.6566213756894941,   2.2128160251661328,
    -5.4585144064775051,   11.139007406371906,   -0.057747253315553991,
    -5.7619887506088023,   11.559333388163129,   -7.7967134901859065,
    1.5414474492709742,    10.25242202166922,    -2.4376317695445988,
    2.4485328874029482,    -5.2527291639016829,  6.6966144242231938,
    10.1056403723797,      9.6715660466767641,   12.199837902638398,
    -9.9779918730035462,   7.0398600566727509,   13.235714186918685,
    6.2264247221125624,    0.49429650260801106,  11.011555724458017,
    -10.232864614422217,   1.0779763774514628,   2.3155686395401807,
    13.340589994791694,    -1.4927270737348184,  -6.3253956772331872,
    11.17892183418669,     4.6804642104000935,   9.9681133942788716,
    -15.354347685766472,   12.132973558045073,   16.863099386593074,
    -16.254027114251262,   8.9259599464113109,   4.4137266569998239,
    13.238368561676072,    7.7024856954025447,   -14.55028063381018,
    2.9997759568600673,    5.9324435315675945,   8.9709392409618971,
    9.9626050864742304,    6.0433161763769014,   -11.094500816935717,
    5.0773121433888173,    8.8653918721034444,   13.358789208346618,
    -3.3614825528284049,   -13.508375784100188,  -9.738962524121586,
    -6.8429863842661831,   9.3377608423949319,   9.1681044258536648,
    2.6799203842673007,    -8.1054023029408491,  3.7516032358089029,
    -8.7628704110935036,   -11.00085544248971,   -5.7755226059613731,
    -0.22395652308977335,  -6.5936781093194714,  -10.208015637116542,
    -13.848721312194234,   9.876782398829647,    9.437177021184711,
    13.967144290195598,    -1.5603470410313784,  -12.959548633651529,
    -13.772706675904137,   9.4983989705496406,   4.8575506841930132,
    -13.426339798518415,   -6.8882549582242767,  10.020963852018646,
    10.738289970141997,    -3.5322181002015958,  8.9790411088584392,
    -4.3462795772567171,   18.871182150839772,   6.1273012327332719,
    -6.5695645965276261,   -8.2641966395439947,  0.85103670621664851,
    -16.902729440065183,   8.2697379486332849,   -13.872113727992556,
    13.619190901125434,    -12.016737280921415,  1.639362596352592,
    7.9267314843757219,    9.5913300412571747,   -7.091648374422606,
    5.8969231337131776,    -6.4726579518981842,  -4.3486881710817249,
    -9.3821085024104374,   10.917473221565318,   2.0279974118340656,
    11.063658410060127,    6.9102623370057179,   6.2072533209374354,
    11.520596314303049,    -1.5151713191609242,  -6.5680763433887153,
    16.444160798635387,    -5.3791474454897958,  -2.2789027240044306,
    -11.56354929134242,    12.427791285408714,   8.610090315178283,
    -4.0511067764443416,   7.8692225359304206,   -6.7079554414922891,
    5.3999766490636549,    -8.3179099730168247,  3.6976737002905016,
    -17.552301172297032,   6.1364424779438496,   -9.7751306565781455,
    6.1931141049267051,    16.865997593208082,   3.7361395596034965,
    3.8267814056050402,    10.269712544637359,   -12.797853578296257,
    -11.480255281563355,   -10.876303582685193,  -5.4324292010775084,
    -6.498689183845423,    -3.8053637987749771,  13.525521072484571,
    -9.0129342094166027,   12.475202758118572,   0.35156955969912357,
    -13.374269540997016,   -10.783210983288953,  10.807251662994091,
    -12.38126506382245,    -5.8440304046740765,  6.1261248782561006,
    10.426389918103478,    -10.251207974472264,  5.7090742604182871,
    -7.3918232768010466,   14.40018609866692,    10.516336495878081,
    5.0907717527746268,    -10.790845519857502,  -10.344691466108914,
    -0.81606960094075376,  5.8009330688061373,   -6.4523871686156467,
    -13.804096639962156,   -3.8036780326942807,  4.4403995451427036,
    -6.0454707691007998,   -4.457208611267375,   -9.3857200039694799,
    -4.2448642066932596,   11.390356801037848,   -11.880538676942361,
    16.20974462472968,     -8.1065692722381755,  0.10605368805162664,
    -4.0113679201569177,   -3.6764938206674111,  7.1589548870717845,
    -14.894945704589089,   19.416913935254374,   10.455230095243721,
    19.094980784068856,    12.749384013660427,   -10.507945794429656,
    -8.6068528180875727,   6.4779699897920597,   -7.4688822584989687,
    11.422119526982375,    12.683635758259111,   6.9141103733570297,
    -3.4807019716082186,   -1.0659446865294615,  -5.5303642351312705,
    -8.4756723068747828,   6.5495058918879581,   17.01132173619504,
    -8.6901951713633352,   0.73205096704640338,  12.18517096248061,
    9.6207253649723565,    -0.11293013857241167, 14.416380598864535,
    -3.4842485223978721,   8.538043021108594,    7.9853181927735468,
    -0.17854963422944989,  15.297082129948347,   -8.6558345268403372,
    -8.8359118745350518,   6.8797931777949346,   -13.579058234606006,
    5.6056971276091021,    -4.7325737401807606,  -10.043277228766703,
    -8.496193000774646,    13.208604057890039,   -2.6125003977921626,
    -9.0028742948434246,   -8.3466406676435714,  4.0100931584168364,
    8.607156558507457,     -9.0376712732526396,  11.431914424287775,
    -0.65772909230851129,  9.5881935247089132,   14.183768387632979,
    1.0198498160186804,    12.12574599778624,    -8.8946934403733184,
    17.588496278735882,    -1.8672309187831959,  -10.261023592868218,
    -10.98895162511046,    -2.7839860694432046,  8.6202133936627021,
    -2.9996428552260639,   12.935041261170362,   10.751931118319499,
    9.6367189688985686,    10.40091951562113,    -9.8677128130479659,
    -0.85076949696133808,  -8.7094472775564959,  -2.7363773372569646,
    -10.036127502962517,   -3.494015934190208,   -4.2404950010667983,
    4.590562970442905,     -11.458041901958747,  9.3378179645353931,
    12.328201773184455,    4.9840870074452948,   12.800873263637309,
    -12.800832354798168,   -8.3806105857214561,  -7.1573424713736697,
    -3.454056906476644,    -10.568266292992009,  -3.1957929098569293,
    -12.197503600264985,   14.897621213566064,   4.3558337641415363};
const char H_256_768_22_detected_data[] = {
    0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0,
    1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1,
    1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1,
    0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0,
    0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0,
    0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1,
    0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
    1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1,
    1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
    0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1,
    0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1,
    0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
    0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1,
    1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0,
    0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1,
    0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1,
    1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0,
    0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1,
    0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1,
    1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1,
    0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1,
    0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1,
    0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1,
    1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1,
    1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
    0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0,
    0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1,
    1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1,
    0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1,
    0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1,
    1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0};