2 #include <linux/types.h>
10 #define crush_hashmix(a, b, c) do { \
11 a = a-b; a = a-c; a = a^(c>>13); \
12 b = b-c; b = b-a; b = b^(a<<8); \
13 c = c-a; c = c-b; c = c^(b>>13); \
14 a = a-b; a = a-c; a = a^(c>>12); \
15 b = b-c; b = b-a; b = b^(a<<16); \
16 c = c-a; c = c-b; c = c^(b>>5); \
17 a = a-b; a = a-c; a = a^(c>>3); \
18 b = b-c; b = b-a; b = b^(a<<10); \
19 c = c-a; c = c-b; c = c^(b>>15); \
22 #define crush_hash_seed 1315423911
95 return crush_hash32_rjenkins1(a);
105 return crush_hash32_rjenkins1_2(a, b);
115 return crush_hash32_rjenkins1_3(a, b, c);
125 return crush_hash32_rjenkins1_4(a, b, c, d);
135 return crush_hash32_rjenkins1_5(a, b, c, d, e);