Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed EthernetNetIf
crc32.c
00001 00002 #include "crc32.h" 00003 00004 static unsigned long crc32_table[] = { 00005 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 00006 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 00007 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 00008 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 00009 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 00010 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 00011 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 00012 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, 00013 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 00014 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 00015 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 00016 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 00017 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 00018 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, 00019 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 00020 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 00021 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 00022 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, 00023 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 00024 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, 00025 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 00026 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 00027 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 00028 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, 00029 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 00030 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 00031 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 00032 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 00033 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 00034 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, 00035 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 00036 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 00037 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 00038 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 00039 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 00040 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 00041 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 00042 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, 00043 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 00044 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 00045 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 00046 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 00047 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 00048 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, 00049 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 00050 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 00051 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 00052 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, 00053 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 00054 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, 00055 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 00056 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 00057 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 00058 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, 00059 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 00060 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 00061 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 00062 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 00063 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 00064 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 00065 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 00066 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, 00067 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 00068 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d, 00069 }; 00070 00071 unsigned long crc32(unsigned long crc, unsigned char const *ptr, size_t len) 00072 { 00073 crc = ~crc; 00074 while (len > 0) { 00075 crc = crc32_table[(crc ^ *ptr) & 255] ^ (crc >> 8); 00076 ptr++; 00077 len--; 00078 } 00079 return ~crc; 00080 }
Generated on Fri Jul 15 2022 13:48:29 by
1.7.2