X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=hashfunction.cc;h=8cb1b6c95004862f056f705081c98733d5679f34;hb=HEAD;hp=b41dc032e6645ee106edfa1fabdbdf2f76917ca6;hpb=c8317c89922bd9555038498b363cf1574e14286f;p=c11tester.git diff --git a/hashfunction.cc b/hashfunction.cc index b41dc032..8cb1b6c9 100644 --- a/hashfunction.cc +++ b/hashfunction.cc @@ -1,13 +1,13 @@ #include "hashfunction.h" -/** +/** * Hash function for 64-bit integers * https://gist.github.com/badboy/6267743#64-bit-to-32-bit-hash-functions */ unsigned int int64_hash(uint64_t key) { - key = (~key) + (key << 18); // key = (key << 18) - key - 1; + key = (~key) + (key << 18); // key = (key << 18) - key - 1; key = key ^ (key >> 31); - key = key * 21; // key = (key + (key << 2)) + (key << 4); + key = key * 21; // key = (key + (key << 2)) + (key << 4); key = key ^ (key >> 11); key = key + (key << 6); key = key ^ (key >> 22);