Lines Matching defs:uint64_t

54 typedef unsigned __int64 uint64_t;
92 static uint64_t _mum_hash_step_prime = 0x2e0bb864e9ea7df5ULL;
93 static uint64_t _mum_key_step_prime = 0xcdb32970830fcaa1ULL;
94 static uint64_t _mum_block_start_prime = 0xc42b5e2e6480b23bULL;
95 static uint64_t _mum_unroll_prime = 0x7b51ec3d22f7096fULL;
96 static uint64_t _mum_tail_prime = 0xaf47d47c99b1461bULL;
97 static uint64_t _mum_finish_prime1 = 0xa9a7ae7ceff79f3fULL;
98 static uint64_t _mum_finish_prime2 = 0xaf47d47c99b1461bULL;
100 static uint64_t _mum_primes [] = {
109 static inline uint64_t
110 _mum (uint64_t v, uint64_t p) {
111 uint64_t hi, lo;
122 hi = (uint64_t) (r >> 64);
123 lo = (uint64_t) r;
128 uint64_t hv = v >> 32, hp = p >> 32;
129 uint64_t lv = (uint32_t) v, lp = (uint32_t) p;
130 uint64_t rh = hv * hp;
131 uint64_t rm_0 = hv * lp;
132 uint64_t rm_1 = hp * lv;
133 uint64_t rl = lv * lp;
134 uint64_t t, carry = 0;
170 static inline uint64_t
171 _mum_le (uint64_t v) {
218 static inline uint64_t _MUM_OPTIMIZE("unroll-loops")
219 _mum_hash_aligned (uint64_t start, const void *key, size_t len) {
220 uint64_t result = start;
222 uint64_t u64;
227 while (len > _MUM_UNROLL_FACTOR * sizeof (uint64_t)) {
232 result ^= _mum (_mum_le (((uint64_t *) str)[i]), _mum_primes[i]);
233 len -= _MUM_UNROLL_FACTOR * sizeof (uint64_t);
234 str += _MUM_UNROLL_FACTOR * sizeof (uint64_t);
239 n = len / sizeof (uint64_t);
241 result ^= _mum (_mum_le (((uint64_t *) str)[i]), _mum_primes[i]);
242 len -= n * sizeof (uint64_t); str += n * sizeof (uint64_t);
246 u64 |= (uint64_t) str[4] << 32;
247 u64 |= (uint64_t) str[5] << 40;
248 u64 |= (uint64_t) str[6] << 48;
252 u64 |= (uint64_t) str[4] << 32;
253 u64 |= (uint64_t) str[5] << 40;
257 u64 |= (uint64_t) str[4] << 32;
264 u64 |= (uint64_t) str[1] << 8;
265 u64 |= (uint64_t) str[2] << 16;
269 u64 |= (uint64_t) str[1] << 8;
279 static inline uint64_t
280 _mum_final (uint64_t h) {
292 static inline uint64_t _MUM_TARGET("arch=haswell")
293 _mum_hash_avx2 (const void * key, size_t len, uint64_t seed) {
320 static inline uint64_t
324 _mum_hash_default (const void *key, size_t len, uint64_t seed) {
325 uint64_t result;
328 uint64_t buf[_MUM_BLOCK_LEN / sizeof (uint64_t)];
345 static inline uint64_t
347 uint64_t start = 0;
359 mum_hash_randomize (uint64_t seed) {
370 for (i = 0; i < (int)(sizeof (_mum_primes) / sizeof (uint64_t)); i++)
375 static inline uint64_t
376 mum_hash_init (uint64_t seed) {
381 static inline uint64_t
382 mum_hash_step (uint64_t h, uint64_t key)
388 static inline uint64_t
389 mum_hash_finish (uint64_t h) {
396 mum_hash64 (uint64_t key, uint64_t seed) {
402 static inline uint64_t
403 mum_hash (const void *key, size_t len, uint64_t seed) {