 |
ATLAS Offline Software
|
Go to the documentation of this file.
34 #define BIG_CONSTANT(x) (x##LLU)
56 const unsigned char *
data = (
const unsigned char *)
key;
77 case 3:
h ^=
data[2] << 16;
79 case 2:
h ^=
data[1] << 8;
125 const unsigned char *
data2 = (
const unsigned char*)
data;
168 k1 *=
m; k1 ^= k1 >>
r; k1 *=
m;
173 k2 *=
m; k2 ^= k2 >>
r; k2 *=
m;
181 k1 *=
m; k1 ^= k1 >>
r; k1 *=
m;
188 case 3: h2 ^= ((
unsigned const char*)
data)[2] << 16;
190 case 2: h2 ^= ((
unsigned const char*)
data)[1] << 8;
192 case 1: h2 ^= ((
unsigned const char*)
data)[0];
196 h1 ^= h2 >> 18;
h1 *=
m;
197 h2 ^=
h1 >> 22; h2 *=
m;
198 h1 ^= h2 >> 17;
h1 *=
m;
199 h2 ^=
h1 >> 19; h2 *=
m;
226 const unsigned char *
data = (
const unsigned char *)
key;
244 case 3:
t ^=
data[2] << 16;
246 case 2:
t ^=
data[1] << 8;
248 case 1:
t ^=
data[0];
274 const unsigned char *
data = (
const unsigned char *)
key;
298 case 3:
h ^=
data[2] << 16;
300 case 2:
h ^=
data[1] << 8;
302 case 1:
h ^=
data[0];
321 #define MIX(h,k,m) { k *= m; k ^= k >> r; k *= m; h *= m; h ^= k; }
329 const unsigned char *
data = (
const unsigned char *)
key;
335 if(align && (len >= 4))
343 case 1:
t |=
data[2] << 16;
345 case 2:
t |=
data[1] << 8;
347 case 3:
t |=
data[0];
355 int sl = 8 * (4-align);
363 t = (
t >>
sr) | (
d << sl);
383 case 3:
d |=
data[2] << 16;
385 case 2:
d |=
data[1] << 8;
387 case 1:
d |=
data[0];
406 case 2:
h ^=
data[1] << 8;
408 case 1:
h ^=
data[0];
419 case 2:
d |=
data[1] << 8;
421 case 1:
d |=
data[0];
423 case 0:
h ^= (
t >>
sr) | (
d << sl);
451 case 3:
h ^=
data[2] << 16;
453 case 2:
h ^=
data[1] << 8;
455 case 1:
h ^=
data[0];
uint64_t MurmurHash64A(const void *key, int len, uint64_t seed)
char data[hepevt_bytes_allocation_ATLAS]
#define MurmurHash_mmix(h, k)
uint32_t MurmurHashAligned2(const void *key, int len, uint32_t seed)
uint32_t MurmurHash2(const void *key, int len, uint32_t seed)
uint64_t MurmurHash64B(const void *key, int len, uint64_t seed)
uint32_t MurmurHashNeutral2(const void *key, int len, uint32_t seed)
auto end(range_with_at< T > &s)
uint32_t MurmurHash2A(const void *key, int len, uint32_t seed)
Implementation of MurmurHash2.