private static function hashWang($key) { $key = ~$key + ($key << 21); // key = (key << 21) - key - 1; $key = $key ^ Operators::rightShiftZeroFill($key, 24); $key = $key + ($key << 3) + ($key << 8); // key * 265 $key = $key ^ Operators::rightShiftZeroFill($key, 14); $key = $key + ($key << 2) + ($key << 4); // key * 21 $key = $key ^ Operators::rightShiftZeroFill($key, 28); $key = $key + ($key << 31); return $key; }