projects
/
awesomized
/
libmemcached
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
Update for OSX/non binary platforms.
[awesomized/libmemcached]
/
libhashkit
/
murmur.c
diff --git
a/libhashkit/murmur.c
b/libhashkit/murmur.c
index a18ac403c9b716ef7f4879748b7c63994f643f4a..78d7f1933b5e283804e6238bb6cd53bb22e8e16e 100644
(file)
--- a/
libhashkit/murmur.c
+++ b/
libhashkit/murmur.c
@@
-1,4
+1,4
@@
-/*
+/*
"Murmur" hash provided by Austin, tanjent@gmail.com
http://murmurhash.googlepages.com/
"Murmur" hash provided by Austin, tanjent@gmail.com
http://murmurhash.googlepages.com/
@@
-17,9
+17,9
@@
#include "common.h"
#include "common.h"
-uint32_t hashkit_murmur(const char *key, size_t length, void *context
__attribute__((unused))
)
+uint32_t hashkit_murmur(const char *key, size_t length, void *context)
{
{
- /*
+ /*
'm' and 'r' are mixing constants generated offline. They're not
really 'magic', they just happen to work well.
*/
'm' and 'r' are mixing constants generated offline. They're not
really 'magic', they just happen to work well.
*/
@@
-36,16
+36,17
@@
uint32_t hashkit_murmur(const char *key, size_t length, void *context __attribut
// Mix 4 bytes at a time into the hash
const unsigned char * data= (const unsigned char *)key;
// Mix 4 bytes at a time into the hash
const unsigned char * data= (const unsigned char *)key;
+ (void)context;
while(length >= 4)
{
unsigned int k = *(unsigned int *)data;
while(length >= 4)
{
unsigned int k = *(unsigned int *)data;
- k *= m;
- k ^= k >> r;
- k *= m;
+ k *= m;
+ k ^= k >> r;
+ k *= m;
- h *= m;
+ h *= m;
h ^= k;
data += 4;
h ^= k;
data += 4;
@@
-63,9
+64,9
@@
uint32_t hashkit_murmur(const char *key, size_t length, void *context __attribut
default: break;
};
default: break;
};
- /*
+ /*
Do a few final mixes of the hash to ensure the last few bytes are
Do a few final mixes of the hash to ensure the last few bytes are
- well-incorporated.
+ well-incorporated.
*/
h ^= h >> 13;
*/
h ^= h >> 13;