43 int main(
int argc,
char* argv[]) {
44 uint32_t polynomial = 0xEDB88320;
46 uint32_t Crc32Lookup[4][0x100];
48 for (uint32_t i = 0; i < 0x100; i++) {
50 for (uint32_t j = 0; j < 8; j++) {
51 crc = (crc >> 1) ^ (-(uint32_t)(crc & 1) & polynomial);
53 Crc32Lookup[0][i] = crc;
55 for (uint32_t i = 0; i < 0x100; i++) {
56 Crc32Lookup[1][i] = (Crc32Lookup[0][i] >> 8) ^ Crc32Lookup[0][Crc32Lookup[0][i] & 0xFF];
57 Crc32Lookup[2][i] = (Crc32Lookup[1][i] >> 8) ^ Crc32Lookup[0][Crc32Lookup[1][i] & 0xFF];
58 Crc32Lookup[3][i] = (Crc32Lookup[2][i] >> 8) ^ Crc32Lookup[0][Crc32Lookup[2][i] & 0xFF];
61 for (uint32_t k = 0; k < 4; k++) {
62 printf(
"static const U32 crc32_ieee802_3_lookup%d[256] = {", k);
63 for (uint32_t i = 0; i < 0x100; i++) {
67 printf(
" 0x%08X,", Crc32Lookup[k][i]);
int main(int argc, char *argv[])