summaryrefslogtreecommitdiff
path: root/src/common/hash.h
diff options
context:
space:
mode:
authorGravatar bunnei2015-07-21 22:54:38 -0400
committerGravatar bunnei2015-08-15 17:33:46 -0400
commitd67e2f78b77c0739caa8c6a915685aa8961a519c (patch)
tree6973754fc51ceb01efecd8618150084fd0608487 /src/common/hash.h
parentCommon: Ported over boilerplate x86 JIT code from Dolphin/PPSSPP. (diff)
downloadyuzu-d67e2f78b77c0739caa8c6a915685aa8961a519c.tar.gz
yuzu-d67e2f78b77c0739caa8c6a915685aa8961a519c.tar.xz
yuzu-d67e2f78b77c0739caa8c6a915685aa8961a519c.zip
Common: Added MurmurHash3 hash function for general-purpose use.
Diffstat (limited to '')
-rw-r--r--src/common/hash.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/common/hash.h b/src/common/hash.h
new file mode 100644
index 000000000..a3850be68
--- /dev/null
+++ b/src/common/hash.h
@@ -0,0 +1,25 @@
1// Copyright 2015 Citra Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#pragma once
6
7#include "common/common_types.h"
8
9namespace Common {
10
11void MurmurHash3_128(const void* key, int len, u32 seed, void* out);
12
13/**
14 * Computes a 64-bit hash over the specified block of data
15 * @param data Block of data to compute hash over
16 * @param len Length of data (in bytes) to compute hash over
17 * @returns 64-bit hash value that was computed over the data block
18 */
19static inline u64 ComputeHash64(const void* data, int len) {
20 u64 res[2];
21 MurmurHash3_128(data, len, 0, res);
22 return res[0];
23}
24
25} // namespace Common