X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=hamming32.c;h=a27725318e5fab6893bcb653dd89c9162afb2abc;hb=fb9bc5893a549544f90236a03ab5b5857b53afd7;hp=9547a28d6687201e2f0bc47aeadace8f59b41edd;hpb=a01d8b60ddcb7f44ce1944aafb127e47c5b8e9a7;p=hamming diff --git a/hamming32.c b/hamming32.c index 9547a28..a277253 100644 --- a/hamming32.c +++ b/hamming32.c @@ -34,9 +34,9 @@ unsigned generate_parity(unsigned data) unsigned parity3 = find_parity_32(data & 0x01c78f0f); unsigned parity4 = find_parity_32(data & 0x003f80ff); unsigned parity5 = find_parity_32(data & 0x00007fff); - unsigned parity6 = find_parity_32(data); + unsigned parity6 = find_parity_32(data & 0x03b4e996); - return parity6 | (parity5 << 1) | (parity4 << 2) | (parity3 << 3) | (parity4 << 4) | (parity5 << 5); + return parity6 | (parity5 << 1) | (parity4 << 2) | (parity3 << 3) | (parity2 << 4) | (parity1 << 5); } unsigned make_codeword(unsigned data)