Advertisement
Guest User

Untitled

a guest
May 19th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.44 KB | None | 0 0
  1. //  s is string of data to be hashed, recordLen is strlen(s)
  2. unsigned long hash2(char* s, int tableSize, int bucketSize, int recordLen) {
  3.   unsigned long orVal;
  4.   unsigned long remainder;
  5.   for (orVal = 0; strlen(s) >= 4; s += 4) orVal ^= *reinterpret_cast<unsigned long*>(s);
  6.   if (strlen(s) != 0) {
  7.     strcpy(reinterpret_cast<char*>(&remainder),s);
  8.     orVal ^= remainder;
  9.   }
  10.   return (orVal % tableSize) * bucketSize * recordLen;
  11. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement