projects
/
m6w6
/
libmemcached
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
|
github
raw
|
patch
|
inline
| side by side (parent:
7da8c66
)
Update from Tanj
author
<brian@gir-2.local>
<>
Sun, 16 Mar 2008 00:37:11 +0000
(17:37 -0700)
committer
<brian@gir-2.local>
<>
Sun, 16 Mar 2008 00:37:11 +0000
(17:37 -0700)
libmemcached/murmur_hash.c
patch
|
blob
|
history
diff --git
a/libmemcached/murmur_hash.c
b/libmemcached/murmur_hash.c
index ce28ec389cd08a571dd144e21bea3e9479817c13..e673420d4643a13c5cc7e42910083431999b6cda 100644
(file)
--- a/
libmemcached/murmur_hash.c
+++ b/
libmemcached/murmur_hash.c
@@
-11,28
+11,25
@@
uint32_t murmur_hash(char *key, size_t length)
const uint32_t m= 0x5bd1e995;
\r
const int r= 16;
\r
uint32_t h= length * m;
\r
const uint32_t m= 0x5bd1e995;
\r
const int r= 16;
\r
uint32_t h= length * m;
\r
+ uint32_t k = 0;
\r
\r
while(length >= 4)
\r
{
\r
\r
while(length >= 4)
\r
{
\r
-
uint32_t
k = *(uint32_t*)key;
\r
+ k = *(uint32_t*)key;
\r
MIX(h,k,m);
\r
\r
key += 4;
\r
length -= 4;
\r
}
\r
\r
MIX(h,k,m);
\r
\r
key += 4;
\r
length -= 4;
\r
}
\r
\r
-
if
(length)
\r
+
switch
(length)
\r
{
\r
{
\r
- uint32_t k= 0;
\r
-
\r
- switch(length)
\r
- {
\r
- case 3: k += key[2] << 16;
\r
- case 2: k += key[1] << 8;
\r
- case 1: k += key[0];
\r
- };
\r
- MIX(h,k,m);
\r
- }
\r
+ case 3: k += key[2] << 16;
\r
+ case 2: k += key[1] << 8;
\r
+ case 1: k += key[0];
\r
+ MIX(h,k,m);
\r
+ default:
\r
+ };
\r
\r
h *= m;
\r
h ^= h >> 10;
\r
\r
h *= m;
\r
h ^= h >> 10;
\r