decode_rs.h File Reference

Go to the source code of this file.

## Macros

#define | NULL ((void*)0)
#define | MIN(a, b) ((a) < (b) ? (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
| ) |  | ((a) < (b) ? (a) : (b))

## NULL

#define NULL ((void*)0)

## Function Documentation

## for() [1/4]

for | ( |  | ) | = INDEX_OF[lambda[i]]

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

## for() [2/4]

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

References A0, ALPHA_TO, 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, j, k, loc, MODNN, 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.

## if() [2/3]

if | ( | deg_lambda ! | = `count` | ) |

References count.

## 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] | ) |

## reg()

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

## 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(), and if().

## deg_lambda

deg_lambda = 0

Referenced by for(), and for().

## deg_omega

deg_omega = deg_lambda - 1

Referenced by 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(), 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(), and if().

## 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

## 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().