Lines Matching defs:hash
1376 /* The minimum utilization of the array part of a mixed hash/array table. This
1478 static upb_tabent *getentry_mutable(upb_table *t, uint32_t hash) {
1479 return (upb_tabent*)upb_getentry(t, hash);
1483 uint32_t hash, eqlfunc_t *eql) {
1487 e = upb_getentry(t, hash);
1496 uint32_t hash, eqlfunc_t *eql) {
1497 return (upb_tabent*)findentry(t, key, hash, eql);
1501 uint32_t hash, eqlfunc_t *eql) {
1502 const upb_tabent *e = findentry(t, key, hash, eql);
1515 upb_value val, uint32_t hash,
1520 UPB_ASSERT(findentry(t, key, hash, eql) == NULL);
1523 mainpos_e = getentry_mutable(t, hash);
1535 /* Existing ent is in its main posisiton (it has the same hash as us, and
1542 * chain). This implies that no existing ent in the table has our hash.
1556 UPB_ASSERT(findentry(t, key, hash, eql) == our_e);
1560 upb_tabkey *removed, uint32_t hash, eqlfunc_t *eql) {
1561 upb_tabent *chain = getentry_mutable(t, hash);
1614 /* A simple "subclass" of upb_table that only adds a hash function for strings. */
1677 uint32_t hash;
1690 hash = upb_murmur_hash2(key.str.str, key.str.len, 0);
1691 insert(&t->t, key, tabkey, v, hash, &strhash, &streql);
1697 uint32_t hash = upb_murmur_hash2(key, len, 0);
1698 return lookup(&t->t, strkey2(key, len), v, hash, &streql);
1703 uint32_t hash = upb_murmur_hash2(key, len, 0);
1705 if (rm(&t->t, strkey2(key, len), val, &tabkey, hash, &streql)) {
1763 * array and large keys are put in the hash table. */
1816 * won't be in the hash part, which simplifies things. */
1851 /* Need to resize the hash part, but we re-use the array part. */
1861 uint32_t hash;
1865 hash = upb_inthash(e->key);
1866 insert(&new_table, intkey(e->key), e->key, v, hash, &inthash, &inteql);
2084 /* Initialize the hash to a 'random' value */
2087 /* Mix 4 bytes at a time into the hash */
2111 /* Do a few final mixes of the hash to ensure the last few
9536 * example, to look up a member name in a hash table, or to turn a string into