diff options
author | tanjent@gmail.com <tanjent@gmail.com@77a7d1d3-4c08-bdc2-d393-d5859734b01a> | 2010-11-05 01:20:58 +0000 |
---|---|---|
committer | tanjent@gmail.com <tanjent@gmail.com@77a7d1d3-4c08-bdc2-d393-d5859734b01a> | 2010-11-05 01:20:58 +0000 |
commit | ad4b363201477cb33966510b850c2193b1f825fe (patch) | |
tree | 9b4bdb1b5d9ed22197655b796a205f3c458ab4fc /Hashes.h | |
parent | 2e8984f1e39b91dae37a23aea35d30b78f46c096 (diff) | |
download | src-ad4b363201477cb33966510b850c2193b1f825fe.tar.gz |
MurmurHash3 is released to beta
(potentially some constant-tweaking yet to be done, but it is quite usable and all variants pass all tests)
git-svn-id: http://smhasher.googlecode.com/svn/trunk@5 77a7d1d3-4c08-bdc2-d393-d5859734b01a
Diffstat (limited to 'Hashes.h')
-rw-r--r-- | Hashes.h | 33 |
1 files changed, 31 insertions, 2 deletions
@@ -6,17 +6,37 @@ #include "MurmurHash2.h"
#include "MurmurHash3.h"
+//----------
+// These are _not_ hash functions (even though people tend to use crc32 as one...)
+
void DoNothingHash ( const void * key, int len, uint32_t seed, void * out );
+void crc32 ( const void * key, int len, uint32_t seed, void * out );
+
+void randhash_32 ( const void * key, int len, uint32_t seed, void * out );
+void randhash_64 ( const void * key, int len, uint32_t seed, void * out );
+void randhash_128 ( const void * key, int len, uint32_t seed, void * out );
+
+//----------
+// Cryptographic hashes
+
+void md5_32 ( const void * key, int len, uint32_t seed, void * out );
+void sha1_32a ( const void * key, int len, uint32_t seed, void * out );
+
+//----------
+// General purpose hashes
+
void FNV ( const void * key, int len, uint32_t seed, void * out );
void SuperFastHash ( const void * key, int len, uint32_t seed, void * out );
void lookup3_test ( const void * key, int len, uint32_t seed, void * out );
-void md5_32 ( const void * key, int len, uint32_t seed, void * out );
-void crc32 ( const void * key, int len, uint32_t seed, void * out );
+
+//----------
+// MurmurHash2
void MurmurHash2_test ( const void * key, int len, uint32_t seed, void * out );
void MurmurHash2A_test ( const void * key, int len, uint32_t seed, void * out );
//-----------------------------------------------------------------------------
+// Test harnesses for Murmur1/2
inline void MurmurHash1_test ( const void * key, int len, uint32_t seed, void * out )
{
@@ -33,3 +53,12 @@ inline void MurmurHash2A_test ( const void * key, int len, uint32_t seed, void * *(uint32_t*)out = MurmurHash2A(key,len,seed);
}
+inline void MurmurHash64A_test ( const void * key, int len, uint32_t seed, void * out )
+{
+ *(uint64_t*)out = MurmurHash64A(key,len,seed);
+}
+
+inline void MurmurHash64B_test ( const void * key, int len, uint32_t seed, void * out )
+{
+ *(uint64_t*)out = MurmurHash64B(key,len,seed);
+}
\ No newline at end of file |