From 2fa0971cebb6728350dc8e9a8edd336d5dff4d99 Mon Sep 17 00:00:00 2001 From: Kloen Date: Sat, 28 Jan 2017 14:45:21 +0100 Subject: [PATCH 1/2] common: switch ComputeHash64 len param to size_t instead of int, fix warning on MSVC on dsp_dsp.cpp --- src/common/hash.cpp | 8 ++++---- src/common/hash.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/common/hash.cpp b/src/common/hash.cpp index 2309320bb0..f3d390dc51 100644 --- a/src/common/hash.cpp +++ b/src/common/hash.cpp @@ -16,7 +16,7 @@ namespace Common { // Block read - if your platform needs to do endian-swapping or can only handle aligned reads, do // the conversion here -static FORCE_INLINE u64 getblock64(const u64* p, int i) { +static FORCE_INLINE u64 getblock64(const u64* p, size_t i) { return p[i]; } @@ -34,9 +34,9 @@ static FORCE_INLINE u64 fmix64(u64 k) { // This is the 128-bit variant of the MurmurHash3 hash function that is targeted for 64-bit // platforms (MurmurHash3_x64_128). It was taken from: // https://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp -void MurmurHash3_128(const void* key, int len, u32 seed, void* out) { +void MurmurHash3_128(const void* key, size_t len, u32 seed, void* out) { const u8* data = (const u8*)key; - const int nblocks = len / 16; + const size_t nblocks = len / 16; u64 h1 = seed; u64 h2 = seed; @@ -48,7 +48,7 @@ void MurmurHash3_128(const void* key, int len, u32 seed, void* out) { const u64* blocks = (const u64*)(data); - for (int i = 0; i < nblocks; i++) { + for (size_t i = 0; i < nblocks; i++) { u64 k1 = getblock64(blocks, i * 2 + 0); u64 k2 = getblock64(blocks, i * 2 + 1); diff --git a/src/common/hash.h b/src/common/hash.h index a3850be68c..188d1c5554 100644 --- a/src/common/hash.h +++ b/src/common/hash.h @@ -8,7 +8,7 @@ namespace Common { -void MurmurHash3_128(const void* key, int len, u32 seed, void* out); +void MurmurHash3_128(const void* key, size_t len, u32 seed, void* out); /** * Computes a 64-bit hash over the specified block of data @@ -16,7 +16,7 @@ void MurmurHash3_128(const void* key, int len, u32 seed, void* out); * @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) { +static inline u64 ComputeHash64(const void* data, size_t len) { u64 res[2]; MurmurHash3_128(data, len, 0, res); return res[0]; From 818b1730a9f4775e29c4d9470e1aa193a82a1c7d Mon Sep 17 00:00:00 2001 From: Kloen Date: Sat, 28 Jan 2017 15:30:18 +0100 Subject: [PATCH 2/2] common: add to hash.h --- src/common/hash.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/common/hash.h b/src/common/hash.h index 188d1c5554..ee2560dadb 100644 --- a/src/common/hash.h +++ b/src/common/hash.h @@ -4,6 +4,7 @@ #pragma once +#include #include "common/common_types.h" namespace Common {