]> git.kaiwu.me - klib.git/commitdiff
change the stepping hash function ksprintf-final
authorHeng Li <lh3@live.co.uk>
Fri, 16 Sep 2011 15:56:43 +0000 (11:56 -0400)
committerHeng Li <lh3@live.co.uk>
Fri, 16 Sep 2011 15:56:43 +0000 (11:56 -0400)
khash.h

diff --git a/khash.h b/khash.h
index 5936be3eb6e6ba122bf485ebcdac4e84ccfb1f8a..0c121a9f8329e454ac46a8a7133a7cfa073bb3fa 100644 (file)
--- a/khash.h
+++ b/khash.h
@@ -145,7 +145,7 @@ typedef khint_t khiter_t;
 #ifdef KHASH_LINEAR
 #define __ac_inc(k, m) 1
 #else
-#define __ac_inc(k, m) ((k)>>3 | 1) & (m)
+#define __ac_inc(k, m) (((k)>>3 ^ (k)<<3) | 1) & (m)
 #endif
 
 #define __ac_fsize(m) ((m) < 16? 1 : (m)>>4)