Home | History | Annotate | Download | only in common

Lines Matching defs:hashcode

23  * (when two unequal keys have the same hashcode) we resolve this by
26 * hashcode. This increment is added to the initial hash value to
36 * then when we computed hashcode % length, we could get a negative
40 * empty or deleted slots with a negative hashcode.
43 * slot matching the given key and hashcode. If one is found, it
103 Invariants for hashcode values:
111 hashcodes; adjust these constants for other hashcode sizes.
142 int32_t hashcode,
173 e->hashcode = hashcode;
183 U_ASSERT(!IS_EMPTY_OR_DELETED(e->hashcode));
237 p->hashcode = HASH_EMPTY;
304 * empty slot matching the given hashcode. Keys are compared using
307 * First find the start position, which is the hashcode modulo
332 int32_t hashcode) {
340 hashcode &= 0x7FFFFFFF; /* must be positive */
341 startIndex = theIndex = (hashcode ^ 0x4000000) % hash->length;
344 tableHash = elements[theIndex].hashcode;
345 if (tableHash == hashcode) { /* quick check */
364 jump = (hashcode % (hash->length - 1)) + 1;
421 if (!IS_EMPTY_OR_DELETED(old[i].hashcode)) {
422 UHashElement *e = _uhash_find(hash, old[i].key, old[i].hashcode);
424 U_ASSERT(e->hashcode == HASH_EMPTY);
427 e->hashcode = old[i].hashcode;
441 * hashcode in that position that means that something has been
450 if (!IS_EMPTY_OR_DELETED(e->hashcode)) {
472 int32_t hashcode;
494 hashcode = (*hash->keyHasher)(key);
495 e = _uhash_find(hash, key, hashcode);
498 if (IS_EMPTY_OR_DELETED(e->hashcode)) {
519 return _uhash_setElement(hash, e, hashcode & 0x7FFFFFFF, key, value, hint);
776 return IS_EMPTY_OR_DELETED(e->hashcode) ? NULL : e;
787 if (!IS_EMPTY_OR_DELETED(hash->elements[i].hashcode)) {
801 if (!IS_EMPTY_OR_DELETED(e->hashcode)) {