]> pd.if.org Git - nbds/blobdiff - include/murmur.h
port to Ubuntu 8.10 x86-64 w/ gcc 4.3.2
[nbds] / include / murmur.h
index 6bc3694d7a3d31e0dab4b6c0ce56465c37d9ac63..cf54201281513d808bff662c6dbf576cfcd2ef7d 100644 (file)
@@ -73,10 +73,8 @@ static inline uint32_t murmur32_8b (uint64_t key)
     // Initialize the hash to a 'random' value
     uint32_t h = 8;
 
-    const unsigned char *data = (const unsigned char *)&key;
-
-    uint32_t k1 = *(uint32_t *)data;
-    uint32_t k2 = *(uint32_t *)(data + 4);
+    uint32_t k1 = (uint32_t)(key >> 32);
+    uint32_t k2 = (uint32_t)key;
 
     k1 *= m; 
     k1 ^= k1 >> r;