21#define __jhash_mix(a, b, c) \
23 a -= b; a -= c; a ^= (c>>13); \
24 b -= c; b -= a; b ^= (a<<8); \
25 c -= a; c -= b; c ^= (b>>13); \
26 a -= b; a -= c; a ^= (c>>12); \
27 b -= c; b -= a; b ^= (a<<16); \
28 c -= a; c -= b; c ^= (b>>5); \
29 a -= b; a -= c; a ^= (c>>3); \
30 b -= c; b -= a; b ^= (a<<10); \
31 c -= a; c -= b; c ^= (b>>15); \
35#define JHASH_GOLDEN_RATIO 0x9e3779b9
51 a += (k[0] +((
u32)k[1]<<8) +((
u32)k[2]<<16) +((
u32)k[3]<<24));
52 b += (k[4] +((
u32)k[5]<<8) +((
u32)k[6]<<16) +((
u32)k[7]<<24));
53 c += (k[8] +((
u32)k[9]<<8) +((
u32)k[10]<<16)+((
u32)k[11]<<24));
63 case 11: c += ((
u32)k[10]<<24);
64 case 10: c += ((
u32)k[9]<<16);
65 case 9 : c += ((
u32)k[8]<<8);
66 case 8 : b += ((
u32)k[7]<<24);
67 case 7 : b += ((
u32)k[6]<<16);
68 case 6 : b += ((
u32)k[5]<<8);
70 case 4 : a += ((
u32)k[3]<<24);
71 case 3 : a += ((
u32)k[2]<<16);
72 case 2 : a += ((
u32)k[1]<<8);
static u32 jhash_2words(u32 a, u32 b, u32 initval)
#define JHASH_GOLDEN_RATIO
static u32 jhash(const void *key, u32 length, u32 initval)
static u32 jhash_3words(u32 a, u32 b, u32 c, u32 initval)
static u32 jhash2(u32 *k, u32 length, u32 initval)
#define __jhash_mix(a, b, c)
static u32 jhash_1word(u32 a, u32 initval)