Home | History | Annotate | Download | only in fec

Lines Matching refs:lambda

75   data_t lambda[NROOTS+1], s[NROOTS];	/* Err+Eras Locator poly
109 memset(&lambda[1],0,NROOTS*sizeof(lambda[0]));
110 lambda[0] = 1;
113 /* Init lambda to be the erasure locator polynomial */
114 lambda[1] = ALPHA_TO[MODNN(PRIM*(NN-1-eras_pos[0]))];
118 tmp = INDEX_OF[lambda[j - 1]];
120 lambda[j] ^= ALPHA_TO[MODNN(u + tmp)];
130 reg[i] = INDEX_OF[lambda[i]];
148 printf("count = %d no_eras = %d\n lambda(x) is WRONG\n",count,no_eras);
161 b[i] = INDEX_OF[lambda[i]];
173 if ((lambda[i] != 0) && (s[r-i-1] != A0)) {
174 discr_r ^= ALPHA_TO[MODNN(INDEX_OF[lambda[i]] + s[r-i-1])];
183 /* 7 lines below: T(x) <-- lambda(x) - discr_r*x*b(x) */
184 t[0] = lambda[0];
187 t[i+1] = lambda[i+1] ^ ALPHA_TO[MODNN(discr_r + b[i])];
189 t[i+1] = lambda[i+1];
195 * lambda(x)
198 b[i] = (lambda[i] == 0) ? A0 : MODNN(INDEX_OF[lambda[i]] - discr_r + NN);
204 memcpy(lambda,t,(NROOTS+1)*sizeof(t[0]));
208 /* Convert lambda to index form and compute deg(lambda(x)) */
211 lambda[i] = INDEX_OF[lambda[i]];
212 if(lambda[i] != A0)
216 memcpy(&reg[1],&lambda[1],NROOTS*sizeof(reg[0]));
217 count = 0; /* Number of roots of lambda(x) */
219 q = 1; /* lambda[0] is always 0 */
242 * deg(lambda) unequal to number of roots => uncorrectable
249 * Compute err+eras evaluator poly omega(x) = s(x)*lambda(x) (modulo
256 if ((s[i - j] != A0) && (lambda[j] != A0))
257 tmp ^= ALPHA_TO[MODNN(s[i - j] + lambda[j])];
275 /* lambda[i+1] for i even is the formal derivative lambda_pr of lambda[i] */
277 if(lambda[i+1] != A0)
278 den ^= ALPHA_TO[MODNN(lambda[i+1] + i * root[j])];