Lines Matching defs:probe
285 // count-1, so need to add one to distinguish from unused. The probe sequence
586 static struct zmap_slot *find_mapslot(struct zmap *m, struct zstring *key, int *hash, int *probe)
590 *probe = *hash & m->mask;
592 while ((n = m->hash[*probe])) {
598 } else if (first_deleted < 0) first_deleted = *probe;
608 // The addition of 'perturb' greatly improves the probe sequence. See
610 *probe = (*probe * 5 + 1 + (perturb >>= PSHIFT)) & m->mask;
612 if (first_deleted >= 0) *probe = first_deleted;
618 int hash, probe;
619 struct zmap_slot *x = find_mapslot(m, key, &hash, &probe);
685 int hash, probe;
686 struct zmap_slot *x = find_mapslot(m, key, &hash, &probe);
691 // rerun find_mapslot to get new probe index
692 x = find_mapslot(m, key, &hash, &probe);
699 m->hash[probe] = n + 1;
705 int hash, probe;
706 struct zmap_slot *x = find_mapslot(m, key, &hash, &probe);
708 zstring_release(&MAPSLOT[m->hash[probe] - 1].key);
709 m->hash[probe] = -1;