libCATS
Loading...
Searching...
No Matches
ldpc_matrices.h
1#ifndef CATS_LDPC_MATRICES_H
2#define CATS_LDPC_MATRICES_H
3
4#include <stdint.h>
5#include <stddef.h>
6
7// https://github.com/adamgreig/labrador-ldpc/blob/master/src/codes/compact_generators.rs
8
9typedef struct {
10 // Code length in bits (data+parity)
11 int code_length_bits;
12 // Data length in bits
13 int data_length_bits;
14 int punctured_bits;
15 int bf_working_len;
16 size_t circulant_size;
17 size_t matrix_len;
18 const uint64_t* matrix;
20
21extern cats_ldpc_code tc128;
22extern cats_ldpc_code tc256;
23extern cats_ldpc_code tc512;
24extern cats_ldpc_code tm2048;
25extern cats_ldpc_code tm8192;
26
27extern const uint64_t tc128_matrix[];
28extern const uint64_t tc256_matrix[];
29extern const uint64_t tc512_matrix[];
30extern const uint64_t tm2048_matrix[];
31extern const uint64_t tm8192_matrix[];
32
33#endif // CATS_LDPC_MATRICES_H
Definition ldpc_matrices.h:9