Code:#include <stddef.h> #include <stdint.h> uint32_t hash_algorithm_fvn (void *data, size_t size) { register char *a; register uint32_t hash; a = (char *) data; for (hash = 0; a <= data + size; ++a) { /* hash *= 16777619; */ hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24); hash ^= *a; } return hash; }