31#error "NROOTS not defined"
35#error "NN not defined"
39#error "PAD not defined"
43#error "ALPHA_TO not defined"
47#error "INDEX_OF not defined"
51#error "MODNN not defined"
55#error "FCR not defined"
59#error "PRIM not defined"
63#define NULL ((void*)0)
67#define MIN(a, b) ((a) < (b) ? (a) : (b))
122 for (
i = 1;
i < no_eras;
i++) {
124 for (
j =
i + 1;
j > 0;
j--) {
136 for (
i = 1;
i <= no_eras;
i++)
142 for (
j = 1;
j <= no_eras;
j++)
154 if (
count != no_eras) {
155 printf(
"count = %d no_eras = %d\n lambda(x) is WRONG\n",
count, no_eras);
160 printf(
"\n Erasure positions as determined by roots of Eras Loc Poly:\n");
162 printf(
"%d ",
loc[
i]);
179 for (
i = 0;
i <
r;
i++) {
187 memmove(&
b[1],
b,
NROOTS *
sizeof(
b[0]));
198 if (2 *
el <=
r + no_eras - 1) {
199 el =
r + no_eras -
el;
209 memmove(&
b[1],
b,
NROOTS *
sizeof(
b[0]));
238 printf(
"count %d root %d loc %d\n",
count,
i,
k);
263 for (
j =
i;
j >= 0;
j--) {
290 printf(
"\n ERROR: denominator = 0\n");
302 if (eras_pos !=
NULL) {
304 eras_pos[
i] =
loc[
i];
#define NN
Definition: ccsds.h:3
#define NROOTS
Definition: ccsds.h:4
unsigned char data_t
Definition: ccsds.h:1
#define FCR
Definition: char.h:16
#define PAD
Definition: char.h:19
#define MODNN(x)
Definition: char.h:8
#define INDEX_OF
Definition: char.h:13
#define PRIM
Definition: char.h:17
#define IPRIM
Definition: char.h:18
#define ALPHA_TO
Definition: char.h:12
data_t q
Definition: lib/libfec/decode_rs.h:74
#define NULL
Definition: lib/libfec/decode_rs.h:63
data_t num2
Definition: lib/libfec/decode_rs.h:74
#define A0
Definition: lib/libfec/decode_rs.h:69
data_t lambda[NROOTS+1]
Definition: lib/libfec/decode_rs.h:81
data_t num1
Definition: lib/libfec/decode_rs.h:74
data_t reg[NROOTS+1]
Definition: lib/libfec/decode_rs.h:84
data_t loc[NROOTS]
Definition: lib/libfec/decode_rs.h:84
int j
Definition: lib/libfec/decode_rs.h:73
#define MIN(a, b)
Definition: lib/libfec/decode_rs.h:67
int syn_error
Definition: lib/libfec/decode_rs.h:86
int r
Definition: lib/libfec/decode_rs.h:73
data_t den
Definition: lib/libfec/decode_rs.h:74
deg_omega
Definition: lib/libfec/decode_rs.h:260
data_t discr_r
Definition: lib/libfec/decode_rs.h:74
el
Definition: lib/libfec/decode_rs.h:175
data_t s[NROOTS]
Definition: lib/libfec/decode_rs.h:81
data_t u
Definition: lib/libfec/decode_rs.h:74
data_t tmp
Definition: lib/libfec/decode_rs.h:74
data_t t[NROOTS+1]
Definition: lib/libfec/decode_rs.h:83
int k
Definition: lib/libfec/decode_rs.h:73
int i
Definition: lib/libfec/decode_rs.h:73
data_t omega[NROOTS+1]
Definition: lib/libfec/decode_rs.h:83
data_t root[NROOTS]
Definition: lib/libfec/decode_rs.h:84
int count
Definition: lib/libfec/decode_rs.h:86
deg_lambda
Definition: lib/libfec/decode_rs.h:217
data_t b[NROOTS+1]
Definition: lib/libfec/decode_rs.h:83
memset(parity, 0, NROOTS *sizeof(data_t))