1 #include <ccan/crcsync/crcsync.h>
2 #include <ccan/crcsync/crcsync.c>
3 #include <ccan/tap/tap.h>
8 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
10 static void test_roll(unsigned int wsize)
12 uint8_t data[wsize * 2];
13 uint64_t uncrc_tab[256];
16 init_uncrc_tab(uncrc_tab, wsize);
18 for (i = 0; i < ARRAY_SIZE(data); i++)
21 for (i = 1; i < ARRAY_SIZE(data) - wsize; i++) {
22 uint64_t rollcrc, crc;
24 crc = crc64_iso(0, data+i, wsize);
25 rollcrc = crc_roll(crc64_iso(0, data+i-1, wsize),
26 data[i-1], data[i+wsize-1], uncrc_tab);
28 ok(crc == rollcrc, "wsize %u, i %u", wsize, i);
32 int main(int argc, char *argv[])
34 plan_tests(100 - 1 + 128 - 1);