for (size_t perturb = hash;;) {
perturb >>= PERTURB_SHIFT;
- i = ((i << 2) + i + perturb + 1) & mask;
+ i = (i*5 + perturb + 1) & mask;
ix = dk_get_index(dk, i);
if (ix == DKIX_EMPTY) {
if (hashpos != NULL) {
for (size_t perturb = hash;;) {
perturb >>= PERTURB_SHIFT;
- i = mask & ((i << 2) + i + perturb + 1);
+ i = mask & (i*5 + perturb + 1);
ix = dk_get_index(mp->ma_keys, i);
if (ix == DKIX_EMPTY) {
if (hashpos != NULL) {
}
for (size_t perturb = hash;;) {
perturb >>= PERTURB_SHIFT;
- i = mask & ((i << 2) + i + perturb + 1);
+ i = mask & (i*5 + perturb + 1);
ix = dk_get_index(mp->ma_keys, i);
assert (ix != DKIX_DUMMY);
if (ix == DKIX_EMPTY) {
}
for (size_t perturb = hash;;) {
perturb >>= PERTURB_SHIFT;
- i = mask & ((i << 2) + i + perturb + 1);
+ i = mask & (i*5 + perturb + 1);
ix = dk_get_index(mp->ma_keys, i);
if (ix == DKIX_EMPTY) {
if (hashpos != NULL)
ix = dk_get_index(keys, i);
for (size_t perturb = hash; ix != DKIX_EMPTY;) {
perturb >>= PERTURB_SHIFT;
- i = (i << 2) + i + perturb + 1;
+ i = i*5 + perturb + 1;
ix = dk_get_index(keys, i & mask);
}
assert(DK_ENTRIES(keys)[keys->dk_nentries].me_value == NULL);
size_t i = hash & mask;
for (size_t perturb = hash; dk_get_index(keys, i) != DKIX_EMPTY;) {
perturb >>= PERTURB_SHIFT;
- i = mask & ((i << 2) + i + perturb + 1);
+ i = mask & (i*5 + perturb + 1);
}
dk_set_index(keys, i, ix);
}