127static inline uint32_t
c_jhash(
const uint8_t *k, uint32_t length, uint32_t initval) {
136 a += (k[0] +((uint32_t)k[1]<<8) +((uint32_t)k[2]<<16) +((uint32_t)k[3]<<24));
137 b += (k[4] +((uint32_t)k[5]<<8) +((uint32_t)k[6]<<16) +((uint32_t)k[7]<<24));
138 c += (k[8] +((uint32_t)k[9]<<8) +((uint32_t)k[10]<<16)+((uint32_t)k[11]<<24));
147 case 11: c+=((uint32_t)k[10]<<24);
148 case 10: c+=((uint32_t)k[9]<<16);
149 case 9 : c+=((uint32_t)k[8]<<8);
151 case 8 : b+=((uint32_t)k[7]<<24);
152 case 7 : b+=((uint32_t)k[6]<<16);
153 case 6 : b+=((uint32_t)k[5]<<8);
155 case 4 : a+=((uint32_t)k[3]<<24);
156 case 3 : a+=((uint32_t)k[2]<<16);
157 case 2 : a+=((uint32_t)k[1]<<8);
186static inline uint64_t
c_jhash64(
const uint8_t *k, uint64_t length, uint64_t intval) {
192 c = 0x9e3779b97f4a7c13LL;
197 a += (k[0] +((uint64_t)k[ 1]<< 8)+((uint64_t)k[ 2]<<16)+((uint64_t)k[ 3]<<24)
198 +((uint64_t)k[4 ]<<32)+((uint64_t)k[ 5]<<40)+((uint64_t)k[ 6]<<48)+((uint64_t)k[ 7]<<56));
199 b += (k[8] +((uint64_t)k[ 9]<< 8)+((uint64_t)k[10]<<16)+((uint64_t)k[11]<<24)
200 +((uint64_t)k[12]<<32)+((uint64_t)k[13]<<40)+((uint64_t)k[14]<<48)+((uint64_t)k[15]<<56));
201 c += (k[16] +((uint64_t)k[17]<< 8)+((uint64_t)k[18]<<16)+((uint64_t)k[19]<<24)
202 +((uint64_t)k[20]<<32)+((uint64_t)k[21]<<40)+((uint64_t)k[22]<<48)+((uint64_t)k[23]<<56));
210 case 23: c+=((uint64_t)k[22]<<56);
211 case 22: c+=((uint64_t)k[21]<<48);
212 case 21: c+=((uint64_t)k[20]<<40);
213 case 20: c+=((uint64_t)k[19]<<32);
214 case 19: c+=((uint64_t)k[18]<<24);
215 case 18: c+=((uint64_t)k[17]<<16);
216 case 17: c+=((uint64_t)k[16]<<8);
218 case 16: b+=((uint64_t)k[15]<<56);
219 case 15: b+=((uint64_t)k[14]<<48);
220 case 14: b+=((uint64_t)k[13]<<40);
221 case 13: b+=((uint64_t)k[12]<<32);
222 case 12: b+=((uint64_t)k[11]<<24);
223 case 11: b+=((uint64_t)k[10]<<16);
224 case 10: b+=((uint64_t)k[ 9]<<8);
225 case 9: b+=((uint64_t)k[ 8]);
226 case 8: a+=((uint64_t)k[ 7]<<56);
227 case 7: a+=((uint64_t)k[ 6]<<48);
228 case 6: a+=((uint64_t)k[ 5]<<40);
229 case 5: a+=((uint64_t)k[ 4]<<32);
230 case 4: a+=((uint64_t)k[ 3]<<24);
231 case 3: a+=((uint64_t)k[ 2]<<16);
232 case 2: a+=((uint64_t)k[ 1]<<8);
233 case 1: a+=((uint64_t)k[ 0]);
static uint64_t c_jhash64(const uint8_t *k, uint64_t length, uint64_t intval)
hash a variable-length key into a 64-bit value
static uint32_t c_jhash(const uint8_t *k, uint32_t length, uint32_t initval)
hash a variable-length key into a 32-bit value