14#include "arcane/utils/HashFunction.h"
15#include "arcane/utils/String.h"
32 uint64_t _MurmurHash64A(
const void* key, uint64_t len,
unsigned int seed)
34 const uint64_t m = 0xc6a4a7935bd1e995;
37 uint64_t h = seed ^ (
len * m);
39 const uint64_t* data = (
const uint64_t*)key;
40 const uint64_t* end = data + (
len / 8);
53 const unsigned char* data2 = (
const unsigned char*)data;
57 h ^= uint64_t(data2[6]) << 48;
60 h ^= uint64_t(data2[5]) << 40;
63 h ^= uint64_t(data2[4]) << 32;
66 h ^= uint64_t(data2[3]) << 24;
69 h ^= uint64_t(data2[2]) << 16;
72 h ^= uint64_t(data2[1]) << 8;
75 h ^= uint64_t(data2[0]);
94 return _MurmurHash64A(bytes.data(), bytes.size(), 0x424);
View of an array of elements of type T.
View of a UTF-8 character string.
Integer len(const char *s)
Returns the length of the string s.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int64_t Int64
Signed integer type of 64 bits.