#include "crc32.h" #include "crc32_nolookup.h" #include #include int main(void) { assert(crc32("123456789", 9) == 0xCBF43926); assert(crc32("", 0) == 0x00000000); assert(crc32("a", 1) == 0xE8B7BE43); assert(crc32("A", 1) == 0xD3D99E8B); assert(crc32("hello", 5) == 0x3610A686); assert(crc32("The quick brown fox jumps over the lazy dog", 43) == 0x414FA339); assert(crc32("The quick brown fox jumps over the lazy dog.", 44) == 0x519025E9); /* Keep in mind the update api requires initialization and finalization */ uint32_t crc = crc32_init(); crc = crc32_update_raw(crc, "a", 1); crc = crc32_finalize(crc); assert(crc == crc32("a", 1)); assert(crc == 0xE8B7BE43); assert(crc32_ieee("123456789", 9) == 0xCBF43926); assert(crc32_ieee("", 0) == 0x00000000); assert(crc32_ieee("a", 1) == 0xE8B7BE43); assert(crc32_ieee("A", 1) == 0xD3D99E8B); assert(crc32_ieee("hello", 5) == 0x3610A686); assert(crc32_ieee("The quick brown fox jumps over the lazy dog", 43) == 0x414FA339); assert(crc32_ieee("The quick brown fox jumps over the lazy dog.", 44) == 0x519025E9); printf("All good!\n"); return 0; }