summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Yuri Kunde Schlesner2017-01-28 10:37:40 -0800
committerGravatar GitHub2017-01-28 10:37:40 -0800
commitac4ea522cbe653f6362357ca108ca3bf726b6229 (patch)
tree89c318b489a72d4d9fdf642f1bdaa80c067c2d37 /src
parentMerge pull request #2484 from Kloen/killing-warnings-nihstro (diff)
parentcommon: add <cstddef> to hash.h (diff)
downloadyuzu-ac4ea522cbe653f6362357ca108ca3bf726b6229.tar.gz
yuzu-ac4ea522cbe653f6362357ca108ca3bf726b6229.tar.xz
yuzu-ac4ea522cbe653f6362357ca108ca3bf726b6229.zip
Merge pull request #2485 from Kloen/killing-warnings-computehash64
Switch ComputeHash64 len param to size_t instead of int
Diffstat (limited to 'src')
-rw-r--r--src/common/hash.cpp8
-rw-r--r--src/common/hash.h5
2 files changed, 7 insertions, 6 deletions
diff --git a/src/common/hash.cpp b/src/common/hash.cpp
index 2309320bb..f3d390dc5 100644
--- a/src/common/hash.cpp
+++ b/src/common/hash.cpp
@@ -16,7 +16,7 @@ namespace Common {
16 16
17// Block read - if your platform needs to do endian-swapping or can only handle aligned reads, do 17// Block read - if your platform needs to do endian-swapping or can only handle aligned reads, do
18// the conversion here 18// the conversion here
19static FORCE_INLINE u64 getblock64(const u64* p, int i) { 19static FORCE_INLINE u64 getblock64(const u64* p, size_t i) {
20 return p[i]; 20 return p[i];
21} 21}
22 22
@@ -34,9 +34,9 @@ static FORCE_INLINE u64 fmix64(u64 k) {
34// This is the 128-bit variant of the MurmurHash3 hash function that is targeted for 64-bit 34// This is the 128-bit variant of the MurmurHash3 hash function that is targeted for 64-bit
35// platforms (MurmurHash3_x64_128). It was taken from: 35// platforms (MurmurHash3_x64_128). It was taken from:
36// https://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp 36// https://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp
37void MurmurHash3_128(const void* key, int len, u32 seed, void* out) { 37void MurmurHash3_128(const void* key, size_t len, u32 seed, void* out) {
38 const u8* data = (const u8*)key; 38 const u8* data = (const u8*)key;
39 const int nblocks = len / 16; 39 const size_t nblocks = len / 16;
40 40
41 u64 h1 = seed; 41 u64 h1 = seed;
42 u64 h2 = seed; 42 u64 h2 = seed;
@@ -48,7 +48,7 @@ void MurmurHash3_128(const void* key, int len, u32 seed, void* out) {
48 48
49 const u64* blocks = (const u64*)(data); 49 const u64* blocks = (const u64*)(data);
50 50
51 for (int i = 0; i < nblocks; i++) { 51 for (size_t i = 0; i < nblocks; i++) {
52 u64 k1 = getblock64(blocks, i * 2 + 0); 52 u64 k1 = getblock64(blocks, i * 2 + 0);
53 u64 k2 = getblock64(blocks, i * 2 + 1); 53 u64 k2 = getblock64(blocks, i * 2 + 1);
54 54
diff --git a/src/common/hash.h b/src/common/hash.h
index a3850be68..ee2560dad 100644
--- a/src/common/hash.h
+++ b/src/common/hash.h
@@ -4,11 +4,12 @@
4 4
5#pragma once 5#pragma once
6 6
7#include <cstddef>
7#include "common/common_types.h" 8#include "common/common_types.h"
8 9
9namespace Common { 10namespace Common {
10 11
11void MurmurHash3_128(const void* key, int len, u32 seed, void* out); 12void MurmurHash3_128(const void* key, size_t len, u32 seed, void* out);
12 13
13/** 14/**
14 * Computes a 64-bit hash over the specified block of data 15 * Computes a 64-bit hash over the specified block of data
@@ -16,7 +17,7 @@ void MurmurHash3_128(const void* key, int len, u32 seed, void* out);
16 * @param len Length of data (in bytes) to compute hash over 17 * @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 * @returns 64-bit hash value that was computed over the data block
18 */ 19 */
19static inline u64 ComputeHash64(const void* data, int len) { 20static inline u64 ComputeHash64(const void* data, size_t len) {
20 u64 res[2]; 21 u64 res[2];
21 MurmurHash3_128(data, len, 0, res); 22 MurmurHash3_128(data, len, 0, res);
22 return res[0]; 23 return res[0];