Atmel Evaluation Kit AT91SAM9G25-EK AT91SAM9G25-EK Data Sheet

Product codes
AT91SAM9G25-EK
Page of 1102
333
SAM9G25 [DATASHEET]
11032C–ATARM–25-Jan-13
/* copy previous polynom order to the next */
lmu[i+1] = lmu[i];
}
else
{
ro      = 0;
largest = -1;
/* find largest delta with dmu != 0 */
for (j=0; j<i; j++)
{
if (dmu[j])
{
if (delta[j] > largest)
{
largest = delta[j];
ro   = j;
}
}
}
/* initialize signal ro */
for (k = 0; k < 2*NB_ERROR_MAX+1; k ++)
{
sro[k] = 0;
}
/* compute difference */
diff = (mu[i] - mu[ro]);
/* compute X ^ (2(mu-ro)) */
for (k = 0; k < (2*NB_ERROR_MAX+1); k ++)
{
sro[k+diff] = smu[ro][k];
}
/* multiply by dmu * dmu[ro]^-1 */
for (k = 0; k < 2*NB_ERROR_MAX+1; k ++)
{
/* dmu[ro] is not equal to zero by definition */
/* check that operand are different from 0    */
if (sro[k] && dmu[i])
{
/* galois inverse */
sro[k] = gf_antilog[(gf_log[dmu[i]] + 
(NB_FIELD_ELEMENTS-gf_log[dmu[ro]]) + gf_log[sro[k]]) % 
NB_FIELD_ELEMENTS];
}
}
/* multiply by dmu * dmu[ro]^-1 */
for (k = 0; k < 2*NB_ERROR_MAX+1; k++)
{
smu[i+1][k] = smu[i][k] ^ sro[k];
if (smu[i+1][k])
{
/* find the order of the polynom */
lmu[i+1] = k << 1; 
}
}
}
/*                                               */
/*                                               */
/*      End Compute Sigma (Mu+1)                 */
/*      And L(mu)                                */
/*************************************************/
/* In either case compute delta */