Home | History | Annotate | Download | only in common

Lines Matching defs:hashcode

22  * (when two unequal keys have the same hashcode) we resolve this by
25 * hashcode. This increment is added to the initial hash value to
35 * then when we computed hashcode % length, we could get a negative
39 * empty or deleted slots with a negative hashcode.
42 * slot matching the given key and hashcode. If one is found, it
102 Invariants for hashcode values:
110 hashcodes; adjust these constants for other hashcode sizes.
141 int32_t hashcode,
172 e->hashcode = hashcode;
182 U_ASSERT(!IS_EMPTY_OR_DELETED(e->hashcode));
236 p->hashcode = HASH_EMPTY;
303 * empty slot matching the given hashcode. Keys are compared using
306 * First find the start position, which is the hashcode modulo
331 int32_t hashcode) {
339 hashcode &= 0x7FFFFFFF; /* must be positive */
340 startIndex = theIndex = (hashcode ^ 0x4000000) % hash->length;
343 tableHash = elements[theIndex].hashcode;
344 if (tableHash == hashcode) { /* quick check */
363 jump = (hashcode % (hash->length - 1)) + 1;
420 if (!IS_EMPTY_OR_DELETED(old[i].hashcode)) {
421 UHashElement *e = _uhash_find(hash, old[i].key, old[i].hashcode);
423 U_ASSERT(e->hashcode == HASH_EMPTY);
426 e->hashcode = old[i].hashcode;
440 * hashcode in that position that means that something has been
449 if (!IS_EMPTY_OR_DELETED(e->hashcode)) {
471 int32_t hashcode;
493 hashcode = (*hash->keyHasher)(key);
494 e = _uhash_find(hash, key, hashcode);
497 if (IS_EMPTY_OR_DELETED(e->hashcode)) {
518 return _uhash_setElement(hash, e, hashcode & 0x7FFFFFFF, key, value, hint);
775 return IS_EMPTY_OR_DELETED(e->hashcode) ? NULL : e;
786 if (!IS_EMPTY_OR_DELETED(hash->elements[i].hashcode)) {
800 if (!IS_EMPTY_OR_DELETED(e->hashcode)) {
863 /* Used by UnicodeString to compute its hashcode - Not public API. */