diff options
author | bunnei <bunneidev@gmail.com> | 2015-07-21 22:54:38 -0400 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2015-08-15 17:33:46 -0400 |
commit | d67e2f78b77c0739caa8c6a915685aa8961a519c (patch) | |
tree | 6973754fc51ceb01efecd8618150084fd0608487 /src/common/hash.h | |
parent | ddbeebb887cff61b087a48738650832bc62c9e83 (diff) |
Common: Added MurmurHash3 hash function for general-purpose use.
Diffstat (limited to 'src/common/hash.h')
-rw-r--r-- | src/common/hash.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/common/hash.h b/src/common/hash.h new file mode 100644 index 0000000000..a3850be68c --- /dev/null +++ b/src/common/hash.h @@ -0,0 +1,25 @@ +// Copyright 2015 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "common/common_types.h" + +namespace Common { + +void MurmurHash3_128(const void* key, int len, u32 seed, void* out); + +/** + * Computes a 64-bit hash over the specified block of data + * @param data Block of data to compute hash over + * @param len Length of data (in bytes) to compute hash over + * @returns 64-bit hash value that was computed over the data block + */ +static inline u64 ComputeHash64(const void* data, int len) { + u64 res[2]; + MurmurHash3_128(data, len, 0, res); + return res[0]; +} + +} // namespace Common |