Revision 61df4193 xseg/peers/user/bench-lfsr.c
b/xseg/peers/user/bench-lfsr.c | ||
---|---|---|
245 | 245 |
lfsr->state = seed; |
246 | 246 |
} |
247 | 247 |
|
248 |
lfsr->cached_bit = 1UL << (i-1); |
|
248 | 249 |
lfsr->length = i; |
249 | 250 |
lfsr->xnormask = lfsr_create_xnormask(taps[i]); |
250 | 251 |
|
... | ... | |
253 | 254 |
|
254 | 255 |
#ifdef STAND_ALONE |
255 | 256 |
/* |
256 |
* Sanity-check every LFSR for wrong tap positions.
|
|
257 |
* Sanity-check every LFSR for mistakes.
|
|
257 | 258 |
*/ |
258 | 259 |
static int lfsr_check() |
259 | 260 |
{ |
... | ... | |
266 | 267 |
for (length = 3; length < 64; length++) { |
267 | 268 |
if (lfsr_init(&lfsr, pow(2, length) - 1, 1)) |
268 | 269 |
return -1; |
269 |
|
|
270 |
// printf("XNOR-mask: %lu, state: %lu, limit: %lu\n", |
|
271 |
// lfsr.xnormask, lfsr.state, lfsr.limit); |
|
270 | 272 |
period = 1; //Already initialized at 1 |
271 | 273 |
upper_limit = pow(2, length); |
272 | 274 |
|
... | ... | |
274 | 276 |
lfsr_next(&lfsr); |
275 | 277 |
|
276 | 278 |
if (lfsr.state == 1) { |
277 |
printf("%u-bit LFSR has correct tap positions\n", length);
|
|
279 |
printf("%u-bit LFSR is correct\n", length);
|
|
278 | 280 |
} |
279 | 281 |
else { |
280 |
printf("%u-bit LFSR has incorrect tap positions\n", length);
|
|
282 |
printf("%u-bit LFSR did not iterate successfully\n", length);
|
|
281 | 283 |
printf("Current tap positions: "); |
282 | 284 |
for (i = 0; i < MAX_TAPS && taps[length][i] != 0; i++) |
283 | 285 |
printf("%u ", taps[length][i]); |
284 | 286 |
printf("\n"); |
285 | 287 |
return -1; |
286 | 288 |
} |
289 |
// return 0; |
|
287 | 290 |
} |
288 | 291 |
|
289 | 292 |
return 0; |
Also available in: Unified diff