Compute parity without using assembler
This commit is contained in:
parent
c3504cb385
commit
c56d099afd
1 changed files with 29 additions and 0 deletions
29
lte/lib/fec/src/parity.c
Normal file
29
lte/lib/fec/src/parity.c
Normal file
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* Copyright 2004, Phil Karn, KA9Q
|
||||
* May be used under the terms of the GNU Lesser General Public License (LGPL)
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
unsigned char Partab[256];
|
||||
int P_init;
|
||||
|
||||
/* Create 256-entry odd-parity lookup table
|
||||
* Needed only on non-ia32 machines
|
||||
*/
|
||||
void partab_init(void) {
|
||||
int i, cnt, ti;
|
||||
|
||||
/* Initialize parity lookup table */
|
||||
for (i = 0; i < 256; i++) {
|
||||
cnt = 0;
|
||||
ti = i;
|
||||
while (ti) {
|
||||
if (ti & 1)
|
||||
cnt++;
|
||||
ti >>= 1;
|
||||
}
|
||||
Partab[i] = cnt & 1;
|
||||
}
|
||||
P_init = 1;
|
||||
}
|
Loading…
Reference in a new issue