GNU Radio's SATELLITES Package
decode_rs.h File Reference

Go to the source code of this file.

Macros

#define NULL   ((void*)0)
 
#define MIN(a, b)
 
#define A0   (NN)
 

Functions

 for (i=0;i< NROOTS;i++) s[i] = INDEX_OF[lambda[i]]
 
 if (!syn_error)
 
memset &[1] lambda (lambda[0])
 
 if (no_eras > 0)
 
 while (++r<=NROOTS)
 
memcpy &[1][1] reg (reg[0])
 
 for (i=1, k=IPRIM - 1;i<=NN;i++, k=MODNN(k+IPRIM))
 
 if (deg_lambda !=count)
 
 for (i=0;i<=deg_omega;i++)
 
 for (j=count - 1;j >=0;j--)
 

Variables

int i
 
int j
 
int r = no_eras
 
int k
 
data_t u
 
data_t q
 
data_t tmp
 
data_t num1
 
data_t num2
 
data_t den
 
data_t discr_r
 
data_t lambda [NROOTS+1] = 1
 
data_t s [NROOTS]
 
data_t b [NROOTS+1]
 
data_t t [NROOTS+1]
 
data_t omega [NROOTS+1]
 
data_t root [NROOTS]
 
data_t reg [NROOTS+1]
 
data_t loc [NROOTS]
 
int syn_error = 0
 
int count = 0
 
 el = no_eras
 
 deg_lambda = 0
 
 deg_omega = deg_lambda - 1
 
finish __pad0__
 

Macro Definition Documentation

◆ A0

#define A0   (NN)

◆ MIN

#define MIN ( a,
b )
Value:
((a) < (b) ? (a) : (b))
data_t b[NROOTS+1]
Definition lib/libfec/decode_rs.h:83

Referenced by for().

◆ NULL

#define NULL   ((void*)0)

Referenced by if(), if(), and if().

Function Documentation

◆ for() [1/4]

for ( ) = INDEX_OF[lambda[i]]

References ALPHA_TO, FCR, i, INDEX_OF, j, MODNN, NN, NROOTS, PAD, PRIM, and s.

◆ for() [2/4]

for ( i = 0;i<=deg_omega;i++)

References A0, ALPHA_TO, deg_omega, i, INDEX_OF, j, lambda, MODNN, omega, s, and tmp.

◆ for() [3/4]

for ( i = 1,
k = IPRIM - 1; i <= NNi++,
k = MODNN(k + IPRIM) )

References A0, ALPHA_TO, count, deg_lambda, i, IPRIM, j, k, loc, MODNN, NN, q, reg, and root.

◆ for() [4/4]

for ( j = count - 1; j >= 0; j--)

◆ if() [1/3]

if ( ! syn_error)

References count, and syn_error.

◆ if() [2/3]

if ( deg_lambda ! = count)

References count, and deg_lambda.

◆ if() [3/3]

if ( no_eras ,
0  )

References A0, ALPHA_TO, count, i, INDEX_OF, IPRIM, j, k, lambda, loc, MODNN, NN, PRIM, q, reg, root, tmp, and u.

◆ lambda()

memset &[1] lambda ( lambda [0])

References lambda, and NROOTS.

◆ reg()

memcpy &[1][1] reg ( reg [0])

References count, lambda, NROOTS, and reg.

◆ while()

while ( ++r<= NROOTS)

References A0, ALPHA_TO, b, discr_r, el, i, INDEX_OF, lambda, MODNN, NN, NROOTS, r, s, and t.

Variable Documentation

◆ __pad0__

finish __pad0__

◆ b

data_t b[NROOTS+1]

Referenced by while().

◆ count

count = 0

Referenced by for(), for(), if(), if(), if(), and reg().

◆ deg_lambda

deg_lambda = 0

Referenced by for(), for(), and if().

◆ deg_omega

deg_omega = deg_lambda - 1

Referenced by for(), and for().

◆ den

data_t den

Referenced by for().

◆ discr_r

data_t discr_r

Referenced by while().

◆ el

el = no_eras

Referenced by while().

◆ i

int i
Initial value:
{
deg_omega
Definition lib/libfec/decode_rs.h:260
el
Definition lib/libfec/decode_rs.h:175
deg_lambda
Definition lib/libfec/decode_rs.h:217

Referenced by for(), for(), for(), for(), for(), for(), if(), and while().

◆ j

int j

Referenced by for(), for(), for(), for(), for(), and if().

◆ k

int k

Referenced by for(), and if().

◆ lambda

lambda[0] = 1

Referenced by for(), for(), if(), lambda(), reg(), and while().

◆ loc

data_t loc[NROOTS]

Referenced by for(), for(), and if().

◆ num1

data_t num1

Referenced by for().

◆ num2

data_t num2

Referenced by for().

◆ omega

data_t omega[NROOTS+1]

Referenced by for(), and for().

◆ q

data_t q

Referenced by for(), and if().

◆ r

r = no_eras

Referenced by while().

◆ reg

data_t reg[NROOTS+1]

Referenced by for(), if(), and reg().

◆ root

data_t root[NROOTS]

Referenced by for(), for(), and if().

◆ s

Referenced by for(), for(), and while().

◆ syn_error

syn_error = 0

Referenced by if().

◆ t

◆ tmp

data_t tmp

Referenced by for(), and if().

◆ u

data_t u

Referenced by if().