Lines Matching defs:hash
33 // String hash tables
47 // The dictionary is kept has a hash table. The hash table is a even power
48 // of two, for nice modulo operations. Each bucket in the hash table points
50 // The list starts with a count. A hash lookup finds the list head, then a
52 // doubled in size; the total amount of EXTRA times all hash functions are
97 // Double hash table size. If can't do so, just suffer. If can, then run
98 // thru old hash table, moving things to new table. Note that since hash
179 int hash = _hash( key ); // Get hash key
180 int i = hash & (_size-1); // Get hash key, corrected for size
192 i = hash & (_size-1); // Rehash
213 int i = _hash( key ) & (_size-1); // Get hash key, corrected for size
231 int i = _hash( key ) & (_size-1); // Get hash key, corrected for size
247 for( int i=0; i < _size; i++) { // For complete hash table do
263 for( int i=0; i < _size; i++) { // For complete hash table do
275 // Convert string to hash key. This algorithm implements a universal hash
278 // is odd - guaranteed not divisible by any power of two, so the hash tables
284 // C text shows excellent spreading of values for any size hash table.
292 sum += c + (c << shft[k++]); // Universal hash function
299 // Slimey cheap hash function; no guaranteed performance. Better than the
309 // Slimey cheap hash function; no guaranteed performance.