mirror of
https://github.com/aicodix/modem.git
synced 2026-04-27 14:30:34 +00:00
use non-systematic polar codes
This commit is contained in:
parent
1076bb953b
commit
f92a24eb5a
4 changed files with 28 additions and 67 deletions
41
decode.cc
41
decode.cc
|
|
@ -6,7 +6,6 @@ Copyright 2021 Ahmet Inan <inan@aicodix.de>
|
|||
|
||||
#include <iostream>
|
||||
#include <cassert>
|
||||
#include <cstdint>
|
||||
#include <cmath>
|
||||
namespace DSP { using std::abs; using std::min; using std::cos; using std::sin; }
|
||||
#include "schmidl_cox.hh"
|
||||
|
|
@ -30,7 +29,7 @@ namespace DSP { using std::abs; using std::min; using std::cos; using std::sin;
|
|||
#include "psk.hh"
|
||||
#include "qam.hh"
|
||||
#include "polar_tables.hh"
|
||||
#include "polar_parity_aided.hh"
|
||||
#include "polar_list_decoder.hh"
|
||||
|
||||
void base37_decoder(char *str, long long int val, int len)
|
||||
{
|
||||
|
|
@ -77,7 +76,7 @@ struct Decoder
|
|||
CODE::CRC<uint16_t> crc0;
|
||||
CODE::CRC<uint32_t> crc1;
|
||||
CODE::OrderedStatisticsDecoder<255, 71, 4> osddec;
|
||||
CODE::PolarParityDecoder<mesg_type, code_max> polardec;
|
||||
CODE::PolarListDecoder<mesg_type, code_max> polardec;
|
||||
CODE::ReverseFisherYatesShuffle<4096> shuffle_4096;
|
||||
CODE::ReverseFisherYatesShuffle<8192> shuffle_8192;
|
||||
CODE::ReverseFisherYatesShuffle<16384> shuffle_16384;
|
||||
|
|
@ -251,8 +250,6 @@ struct Decoder
|
|||
std::cerr << "call sign: " << call_sign << std::endl;
|
||||
if (!oper_mode)
|
||||
continue;
|
||||
int parity_stride = 0;
|
||||
int first_parity = 0;
|
||||
int data_bits = 0;
|
||||
int cons_rows = 0;
|
||||
int comb_cols = 0;
|
||||
|
|
@ -265,9 +262,7 @@ struct Decoder
|
|||
code_order = 12;
|
||||
code_cols = 256;
|
||||
data_bits = 2048;
|
||||
parity_stride = 31;
|
||||
first_parity = 3;
|
||||
frozen_bits = frozen_4096_2147;
|
||||
frozen_bits = frozen_4096_2080;
|
||||
break;
|
||||
case 24:
|
||||
mod_bits = 2;
|
||||
|
|
@ -276,9 +271,7 @@ struct Decoder
|
|||
code_order = 13;
|
||||
code_cols = 256;
|
||||
data_bits = 4096;
|
||||
parity_stride = 31;
|
||||
first_parity = 5;
|
||||
frozen_bits = frozen_8192_4261;
|
||||
frozen_bits = frozen_8192_4128;
|
||||
break;
|
||||
case 25:
|
||||
mod_bits = 2;
|
||||
|
|
@ -287,9 +280,7 @@ struct Decoder
|
|||
code_order = 14;
|
||||
code_cols = 256;
|
||||
data_bits = 8192;
|
||||
parity_stride = 31;
|
||||
first_parity = 9;
|
||||
frozen_bits = frozen_16384_8489;
|
||||
frozen_bits = frozen_16384_8224;
|
||||
break;
|
||||
case 26:
|
||||
mod_bits = 4;
|
||||
|
|
@ -298,9 +289,7 @@ struct Decoder
|
|||
code_order = 12;
|
||||
code_cols = 256;
|
||||
data_bits = 2048;
|
||||
parity_stride = 31;
|
||||
first_parity = 3;
|
||||
frozen_bits = frozen_4096_2147;
|
||||
frozen_bits = frozen_4096_2080;
|
||||
break;
|
||||
case 27:
|
||||
mod_bits = 4;
|
||||
|
|
@ -309,9 +298,7 @@ struct Decoder
|
|||
code_order = 13;
|
||||
code_cols = 256;
|
||||
data_bits = 4096;
|
||||
parity_stride = 31;
|
||||
first_parity = 5;
|
||||
frozen_bits = frozen_8192_4261;
|
||||
frozen_bits = frozen_8192_4128;
|
||||
break;
|
||||
case 28:
|
||||
mod_bits = 4;
|
||||
|
|
@ -320,9 +307,7 @@ struct Decoder
|
|||
code_order = 14;
|
||||
code_cols = 256;
|
||||
data_bits = 8192;
|
||||
parity_stride = 31;
|
||||
first_parity = 9;
|
||||
frozen_bits = frozen_16384_8489;
|
||||
frozen_bits = frozen_16384_8224;
|
||||
break;
|
||||
case 29:
|
||||
mod_bits = 6;
|
||||
|
|
@ -331,9 +316,7 @@ struct Decoder
|
|||
code_order = 13;
|
||||
code_cols = 273;
|
||||
data_bits = 4096;
|
||||
parity_stride = 31;
|
||||
first_parity = 5;
|
||||
frozen_bits = frozen_8192_4261;
|
||||
frozen_bits = frozen_8192_4128;
|
||||
break;
|
||||
case 30:
|
||||
mod_bits = 6;
|
||||
|
|
@ -342,9 +325,7 @@ struct Decoder
|
|||
code_order = 14;
|
||||
code_cols = 273;
|
||||
data_bits = 8192;
|
||||
parity_stride = 31;
|
||||
first_parity = 9;
|
||||
frozen_bits = frozen_16384_8489;
|
||||
frozen_bits = frozen_16384_8224;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
|
|
@ -458,7 +439,7 @@ struct Decoder
|
|||
for (int i = code_cols * cons_rows * mod_bits; i < bits_max; ++i)
|
||||
code[i] = 0;
|
||||
shuffle(code);
|
||||
polardec(nullptr, mesg, code, frozen_bits, code_order, parity_stride, first_parity);
|
||||
polardec(nullptr, mesg, code, frozen_bits, code_order);
|
||||
int best = -1;
|
||||
for (int k = 0; k < mesg_type::SIZE; ++k) {
|
||||
crc1.reset();
|
||||
|
|
|
|||
41
encode.cc
41
encode.cc
|
|
@ -6,7 +6,6 @@ Copyright 2021 Ahmet Inan <inan@aicodix.de>
|
|||
|
||||
#include <iostream>
|
||||
#include <cassert>
|
||||
#include <cstdint>
|
||||
#include <cmath>
|
||||
#include "xorshift.hh"
|
||||
#include "complex.hh"
|
||||
|
|
@ -22,7 +21,7 @@ Copyright 2021 Ahmet Inan <inan@aicodix.de>
|
|||
#include "psk.hh"
|
||||
#include "qam.hh"
|
||||
#include "polar_tables.hh"
|
||||
#include "polar_parity_aided.hh"
|
||||
#include "polar_encoder.hh"
|
||||
#include "bose_chaudhuri_hocquenghem_encoder.hh"
|
||||
|
||||
template <typename value, typename cmplx, int rate>
|
||||
|
|
@ -45,7 +44,7 @@ struct Encoder
|
|||
CODE::CRC<uint16_t> crc0;
|
||||
CODE::CRC<uint32_t> crc1;
|
||||
CODE::BoseChaudhuriHocquenghemEncoder<255, 71> bchenc;
|
||||
CODE::PolarParityEncoder<code_type> polarenc;
|
||||
CODE::PolarEncoder<code_type> polarenc;
|
||||
CODE::FisherYatesShuffle<4096> shuffle_4096;
|
||||
CODE::FisherYatesShuffle<8192> shuffle_8192;
|
||||
CODE::FisherYatesShuffle<16384> shuffle_16384;
|
||||
|
|
@ -252,8 +251,6 @@ struct Encoder
|
|||
oper_mode(oper_mode)
|
||||
{
|
||||
const uint32_t *frozen_bits = nullptr;
|
||||
int parity_stride = 0;
|
||||
int first_parity = 0;
|
||||
int code_cols = 0;
|
||||
int comb_cols = 0;
|
||||
int comb_dist = 1;
|
||||
|
|
@ -271,10 +268,8 @@ struct Encoder
|
|||
code_order = 12;
|
||||
code_cols = 256;
|
||||
data_bits = 2048;
|
||||
parity_stride = 31;
|
||||
first_parity = 3;
|
||||
frozen_bits = frozen_4096_2147;
|
||||
reserved_tones = 0;
|
||||
frozen_bits = frozen_4096_2080;
|
||||
break;
|
||||
case 24:
|
||||
mod_bits = 2;
|
||||
|
|
@ -283,10 +278,8 @@ struct Encoder
|
|||
code_order = 13;
|
||||
code_cols = 256;
|
||||
data_bits = 4096;
|
||||
parity_stride = 31;
|
||||
first_parity = 5;
|
||||
frozen_bits = frozen_8192_4261;
|
||||
reserved_tones = 0;
|
||||
frozen_bits = frozen_8192_4128;
|
||||
break;
|
||||
case 25:
|
||||
mod_bits = 2;
|
||||
|
|
@ -295,10 +288,8 @@ struct Encoder
|
|||
code_order = 14;
|
||||
code_cols = 256;
|
||||
data_bits = 8192;
|
||||
parity_stride = 31;
|
||||
first_parity = 9;
|
||||
frozen_bits = frozen_16384_8489;
|
||||
reserved_tones = 0;
|
||||
frozen_bits = frozen_16384_8224;
|
||||
break;
|
||||
case 26:
|
||||
mod_bits = 4;
|
||||
|
|
@ -307,10 +298,8 @@ struct Encoder
|
|||
code_order = 12;
|
||||
code_cols = 256;
|
||||
data_bits = 2048;
|
||||
parity_stride = 31;
|
||||
first_parity = 3;
|
||||
frozen_bits = frozen_4096_2147;
|
||||
reserved_tones = 8;
|
||||
frozen_bits = frozen_4096_2080;
|
||||
break;
|
||||
case 27:
|
||||
mod_bits = 4;
|
||||
|
|
@ -319,10 +308,8 @@ struct Encoder
|
|||
code_order = 13;
|
||||
code_cols = 256;
|
||||
data_bits = 4096;
|
||||
parity_stride = 31;
|
||||
first_parity = 5;
|
||||
frozen_bits = frozen_8192_4261;
|
||||
reserved_tones = 8;
|
||||
frozen_bits = frozen_8192_4128;
|
||||
break;
|
||||
case 28:
|
||||
mod_bits = 4;
|
||||
|
|
@ -331,10 +318,8 @@ struct Encoder
|
|||
code_order = 14;
|
||||
code_cols = 256;
|
||||
data_bits = 8192;
|
||||
parity_stride = 31;
|
||||
first_parity = 9;
|
||||
frozen_bits = frozen_16384_8489;
|
||||
reserved_tones = 8;
|
||||
frozen_bits = frozen_16384_8224;
|
||||
break;
|
||||
case 29:
|
||||
mod_bits = 6;
|
||||
|
|
@ -343,10 +328,8 @@ struct Encoder
|
|||
code_order = 13;
|
||||
code_cols = 273;
|
||||
data_bits = 4096;
|
||||
parity_stride = 31;
|
||||
first_parity = 5;
|
||||
frozen_bits = frozen_8192_4261;
|
||||
reserved_tones = 15;
|
||||
frozen_bits = frozen_8192_4128;
|
||||
break;
|
||||
case 30:
|
||||
mod_bits = 6;
|
||||
|
|
@ -355,10 +338,8 @@ struct Encoder
|
|||
code_order = 14;
|
||||
code_cols = 273;
|
||||
data_bits = 8192;
|
||||
parity_stride = 31;
|
||||
first_parity = 9;
|
||||
frozen_bits = frozen_16384_8489;
|
||||
reserved_tones = 15;
|
||||
frozen_bits = frozen_16384_8224;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
|
|
@ -411,7 +392,7 @@ struct Encoder
|
|||
crc1(input_data[i]);
|
||||
for (int i = 0; i < 32; ++i)
|
||||
mesg[i+data_bits] = nrz((crc1()>>i)&1);
|
||||
polarenc(code, mesg, frozen_bits, code_order, parity_stride, first_parity);
|
||||
polarenc(code, mesg, frozen_bits, code_order);
|
||||
shuffle(code);
|
||||
for (int i = 0; i < cons_cols; ++i)
|
||||
prev[i] = fdom[bin(i+code_off)];
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ void code(int N, int K)
|
|||
(*freeze)(frozen, M, K+(1<<M)-N, better_probability);
|
||||
delete freeze;
|
||||
|
||||
std::cerr << "Polar(" << N << ", " << K << ")" << std::endl;
|
||||
std::cout << "static const uint32_t frozen_" << std::dec << N << "_" << K << "[" << (1<<(M-5)) << "] = { " << std::hex;
|
||||
for (int i = 0; i < 1<<(M-5); ++i)
|
||||
std::cout << "0x" << frozen[i] << ", ";
|
||||
|
|
@ -34,8 +33,8 @@ void code(int N, int K)
|
|||
|
||||
int main()
|
||||
{
|
||||
code<12>(4096, 2048+32+67);
|
||||
code<13>(8192, 4096+32+133);
|
||||
code<14>(16384, 8192+32+265);
|
||||
code<14>(16384, 8192+32);
|
||||
code<13>(8192, 4096+32);
|
||||
code<12>(4096, 2048+32);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
static const uint32_t frozen_4096_2147[128] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x177fffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0x13f7fff, 0x7fffffff, 0x11717ff, 0x117177f, 0x7, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0x7fffffff, 0x1171fff, 0xffffffff, 0x7fffffff, 0x17ffffff, 0x17177f, 0x177f7fff, 0x1017f, 0x10117, 0x1, 0xffffffff, 0x177f7fff, 0x17f7fff, 0x1011f, 0x1171fff, 0x10117, 0x117, 0x0, 0x117177f, 0x17, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0xffffffff, 0xffffffff, 0xffffffff, 0x3fffffff, 0xffffffff, 0x177fffff, 0x177f7fff, 0x1017f, 0x7fffffff, 0x17f7fff, 0x1173fff, 0x10117, 0x117177f, 0x17, 0x3, 0x0, 0x3fffffff, 0x11717ff, 0x17177f, 0x3, 0x1077f, 0x1, 0x1, 0x0, 0x1011f, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x177fffff, 0x1077f, 0x1013f, 0x1, 0x10117, 0x1, 0x1, 0x0, 0x10117, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x117, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, };
|
||||
static const uint32_t frozen_8192_4261[256] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x177fffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0x17f7fff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0x7fffffff, 0x1fffffff, 0x117177f, 0xffffffff, 0x177fffff, 0x177f7fff, 0x1077f, 0x13f7fff, 0x10117, 0x10117, 0x1, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0x1fffffff, 0x177fffff, 0x7177f, 0xffffffff, 0xffffffff, 0xffffffff, 0x177fffff, 0xffffffff, 0x177f7fff, 0x11f7fff, 0x10117, 0x7fffffff, 0x1171fff, 0x117177f, 0x10117, 0x17177f, 0x3, 0x1, 0x0, 0xffffffff, 0xffffffff, 0x7fffffff, 0x11f7fff, 0x1fffffff, 0x117177f, 0x117177f, 0x7, 0x177fffff, 0x7177f, 0x1017f, 0x1, 0x10117, 0x1, 0x1, 0x0, 0x37f7fff, 0x1011f, 0x10117, 0x1, 0x10117, 0x1, 0x1, 0x0, 0x10117, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x177fffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0x37f7fff, 0x7fffffff, 0x1171fff, 0x117177f, 0x10117, 0xffffffff, 0x7fffffff, 0x1fffffff, 0x117177f, 0x177fffff, 0x7177f, 0x1037f, 0x1, 0x77f7fff, 0x1011f, 0x10117, 0x1, 0x10117, 0x1, 0x1, 0x0, 0xffffffff, 0x177fffff, 0x177f7fff, 0x1017f, 0x11f7fff, 0x10117, 0x10117, 0x1, 0x11717ff, 0x10117, 0x117, 0x0, 0x7, 0x0, 0x0, 0x0, 0x117177f, 0x17, 0x3, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fffffff, 0x11f7fff, 0x11717ff, 0x10117, 0x117177f, 0x117, 0x7, 0x0, 0x7177f, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1017f, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10117, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, };
|
||||
static const uint32_t frozen_16384_8489[512] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0x77f7fff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0x7fffffff, 0x17ffffff, 0x117177f, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x17ffffff, 0xffffffff, 0x177f7fff, 0x37f7fff, 0x1011f, 0xffffffff, 0xffffffff, 0x7fffffff, 0x177f7fff, 0x7fffffff, 0x1171fff, 0x117177f, 0x10117, 0x17ffffff, 0x117177f, 0x117177f, 0x7, 0x1077f, 0x1, 0x1, 0x0, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x1fffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x177f7fff, 0x7fffffff, 0x13f7fff, 0x1171fff, 0x10117, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0x77f7fff, 0xffffffff, 0x7fffffff, 0x7fffffff, 0x11717ff, 0x177fffff, 0x117177f, 0x7177f, 0x1, 0xffffffff, 0x17ffffff, 0x177f7fff, 0x17177f, 0x77f7fff, 0x1013f, 0x10117, 0x1, 0x1173fff, 0x10117, 0x10117, 0x1, 0x10117, 0x1, 0x1, 0x0, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0x3fffffff, 0x177fffff, 0x117177f, 0xffffffff, 0x177f7fff, 0x177f7fff, 0x1013f, 0x11f7fff, 0x10117, 0x10117, 0x1, 0x7fffffff, 0x13f7fff, 0x11717ff, 0x10117, 0x117177f, 0x10117, 0x117, 0x0, 0x117177f, 0x7, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1fffffff, 0x117177f, 0x117177f, 0x17, 0x3177f, 0x1, 0x1, 0x0, 0x1017f, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x10117, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0x77f7fff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0x7fffffff, 0x1fffffff, 0x117177f, 0xffffffff, 0x17ffffff, 0x177f7fff, 0x7177f, 0x77f7fff, 0x1011f, 0x10117, 0x1, 0xffffffff, 0xffffffff, 0xffffffff, 0x1fffffff, 0xffffffff, 0x177f7fff, 0x177f7fff, 0x1017f, 0x7fffffff, 0x17f7fff, 0x1171fff, 0x10117, 0x117177f, 0x10117, 0x10117, 0x0, 0x3fffffff, 0x117177f, 0x117177f, 0x117, 0x17177f, 0x3, 0x1, 0x0, 0x1037f, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xffffffff, 0xffffffff, 0x7fffffff, 0x37f7fff, 0x7fffffff, 0x11717ff, 0x117177f, 0x10117, 0x177fffff, 0x117177f, 0x7177f, 0x1, 0x1037f, 0x1, 0x1, 0x0, 0x177f7fff, 0x1037f, 0x1011f, 0x1, 0x10117, 0x1, 0x1, 0x0, 0x10117, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x11f7fff, 0x10117, 0x10117, 0x1, 0x10117, 0x1, 0x1, 0x0, 0x10117, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10117, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffff, 0x7fffffff, 0x177fffff, 0x117177f, 0x177f7fff, 0x3177f, 0x1013f, 0x1, 0x17f7fff, 0x10117, 0x10117, 0x1, 0x10117, 0x1, 0x1, 0x0, 0x11717ff, 0x10117, 0x10117, 0x1, 0x10117, 0x1, 0x0, 0x0, 0x117, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x117177f, 0x10117, 0x117, 0x0, 0x7, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x117177f, 0x7, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, };
|
||||
static const uint32_t frozen_16384_8224[512] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x177f7fff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0x7fffffff, 0x11717ff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0x177fffff, 0x177f7fff, 0x3177f, 0xffffffff, 0xffffffff, 0xffffffff, 0x177f7fff, 0x7fffffff, 0x37f7fff, 0x1171fff, 0x10117, 0x7fffffff, 0x11717ff, 0x117177f, 0x10117, 0x117177f, 0x7, 0x1, 0x0, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x177fffff, 0xffffffff, 0x177f7fff, 0x13f7fff, 0x10117, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x177f7fff, 0xffffffff, 0xffffffff, 0x7fffffff, 0x11f7fff, 0x3fffffff, 0x117177f, 0x117177f, 0x117, 0xffffffff, 0x7fffffff, 0x17ffffff, 0x117177f, 0x177f7fff, 0x3177f, 0x1017f, 0x1, 0x17f7fff, 0x1011f, 0x10117, 0x1, 0x10117, 0x1, 0x1, 0x0, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0x7fffffff, 0x1fffffff, 0x117177f, 0xffffffff, 0x17ffffff, 0x177f7fff, 0x7177f, 0x77f7fff, 0x1011f, 0x10117, 0x1, 0x7fffffff, 0x177f7fff, 0x11f7fff, 0x10117, 0x11717ff, 0x10117, 0x10117, 0x1, 0x117177f, 0x10117, 0x17, 0x0, 0x3, 0x0, 0x0, 0x0, 0x7fffffff, 0x11717ff, 0x117177f, 0x10117, 0x117177f, 0x7, 0x1, 0x0, 0x3177f, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1013f, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x177f7fff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0x7fffffff, 0x1173fff, 0xffffffff, 0x7fffffff, 0x177fffff, 0x117177f, 0x177f7fff, 0x3177f, 0x1013f, 0x1, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0x17ffffff, 0x177f7fff, 0x7177f, 0xffffffff, 0x177f7fff, 0x13f7fff, 0x10117, 0x1171fff, 0x10117, 0x10117, 0x1, 0x7fffffff, 0x1173fff, 0x117177f, 0x10117, 0x117177f, 0x117, 0x7, 0x0, 0x7177f, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xffffffff, 0xffffffff, 0xffffffff, 0x177f7fff, 0x7fffffff, 0x11f7fff, 0x11717ff, 0x10117, 0x1fffffff, 0x117177f, 0x117177f, 0x117, 0x7177f, 0x1, 0x1, 0x0, 0x177f7fff, 0x17177f, 0x1037f, 0x1, 0x1011f, 0x1, 0x1, 0x0, 0x10117, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x77f7fff, 0x1011f, 0x10117, 0x1, 0x10117, 0x1, 0x1, 0x0, 0x10117, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x10117, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffff, 0x7fffffff, 0x1fffffff, 0x117177f, 0x177fffff, 0x117177f, 0x1077f, 0x1, 0x177f7fff, 0x1017f, 0x10117, 0x1, 0x10117, 0x1, 0x1, 0x0, 0x1177fff, 0x10117, 0x10117, 0x1, 0x10117, 0x1, 0x1, 0x0, 0x10117, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x117177f, 0x10117, 0x10117, 0x1, 0x117, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x117177f, 0x117, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, };
|
||||
static const uint32_t frozen_8192_4128[256] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x1fffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x177f7fff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0x7fffffff, 0x11717ff, 0xffffffff, 0x1fffffff, 0x177fffff, 0x17177f, 0x177f7fff, 0x1013f, 0x10117, 0x1, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0x7fffffff, 0x17ffffff, 0x117177f, 0xffffffff, 0xffffffff, 0xffffffff, 0x1fffffff, 0xffffffff, 0x177f7fff, 0x77f7fff, 0x1011f, 0x7fffffff, 0x13f7fff, 0x1171fff, 0x10117, 0x117177f, 0x117, 0x7, 0x0, 0xffffffff, 0xffffffff, 0x7fffffff, 0x77f7fff, 0x7fffffff, 0x1171fff, 0x117177f, 0x10117, 0x17ffffff, 0x117177f, 0x3177f, 0x1, 0x1013f, 0x1, 0x1, 0x0, 0x177f7fff, 0x1017f, 0x10117, 0x1, 0x10117, 0x1, 0x1, 0x0, 0x10117, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x1fffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x177f7fff, 0x7fffffff, 0x11f7fff, 0x11717ff, 0x10117, 0xffffffff, 0x7fffffff, 0x7fffffff, 0x1171fff, 0x17ffffff, 0x117177f, 0x7177f, 0x1, 0x177f7fff, 0x1077f, 0x1011f, 0x1, 0x10117, 0x1, 0x1, 0x0, 0xffffffff, 0x17ffffff, 0x177fffff, 0x3177f, 0x37f7fff, 0x1011f, 0x10117, 0x1, 0x1171fff, 0x10117, 0x10117, 0x1, 0x117, 0x0, 0x0, 0x0, 0x117177f, 0x117, 0x17, 0x0, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7fffffff, 0x37f7fff, 0x1173fff, 0x10117, 0x11717ff, 0x10117, 0x17, 0x0, 0x117177f, 0x7, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1077f, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1011f, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, };
|
||||
static const uint32_t frozen_4096_2080[128] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x17ffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x77f7fff, 0x7fffffff, 0x1173fff, 0x11717ff, 0x117, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0x11f7fff, 0xffffffff, 0x7fffffff, 0x1fffffff, 0x117177f, 0x177fffff, 0x1077f, 0x1013f, 0x1, 0xffffffff, 0x177fffff, 0x177f7fff, 0x1013f, 0x11f7fff, 0x10117, 0x10117, 0x1, 0x11717ff, 0x117, 0x7, 0x0, 0x1, 0x0, 0x0, 0x0, 0xffffffff, 0xffffffff, 0xffffffff, 0x7fffffff, 0xffffffff, 0x17ffffff, 0x177fffff, 0x1077f, 0xffffffff, 0x177f7fff, 0x11f7fff, 0x10117, 0x11717ff, 0x10117, 0x17, 0x0, 0x7fffffff, 0x1171fff, 0x117177f, 0x17, 0x3177f, 0x1, 0x1, 0x0, 0x1017f, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x177fffff, 0x7177f, 0x1037f, 0x1, 0x1011f, 0x1, 0x1, 0x0, 0x10117, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10117, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue