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))
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 <= NN; i++,
|  | 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-- | ) |

References A0, ALPHA_TO, count, deg_lambda, deg_omega, den, FCR, i, INDEX_OF, j, lambda, loc, MIN, MODNN, NN, NROOTS, num1, num2, omega, PAD, and root.

## ◆ 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:
{
int deg_lambda, el, deg_omega
deg_omega
deg_omega
Definition lib/libfec/decode_rs.h:260
el
el
Definition lib/libfec/decode_rs.h:175
deg_lambda
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

data_t s[NROOTS]

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

## ◆ syn_error

syn_error = 0

Referenced by if().

## ◆ t

data_t t[NROOTS+1]

Referenced by while().

## ◆ tmp

data_t tmp

Referenced by for(), and if().

## ◆ u

data_t u

Referenced by if().