Home | History | Annotate | Download | only in Oniguruma

Lines Matching refs:hash_val

220 #define PTR_NOT_EQUAL(table, ptr, hash_val, key) \

221 ((ptr) != 0 && (ptr->hash != (hash_val) || !EQUAL((table), (key), (ptr)->key)))
229 #define FIND_ENTRY(table, ptr, hash_val, bin_pos) do {\
230 bin_pos = hash_val%(table)->num_bins;\
232 if (PTR_NOT_EQUAL(table, ptr, hash_val, key)) {\
234 while (PTR_NOT_EQUAL(table, ptr->next, hash_val, key)) {\
247 unsigned int hash_val, bin_pos;
250 hash_val = do_hash(key, table);
251 FIND_ENTRY(table, ptr, hash_val, bin_pos);
262 #define ADD_DIRECT(table, key, value, hash_val, bin_pos)\
267 bin_pos = hash_val % table->num_bins;\
275 entry->hash = hash_val;\
289 unsigned int hash_val, bin_pos;
292 hash_val = do_hash(key, table);
293 FIND_ENTRY(table, ptr, hash_val, bin_pos);
296 ADD_DIRECT(table, key, value, hash_val, bin_pos);
311 unsigned int hash_val, bin_pos;
313 hash_val = do_hash(key, table);
314 bin_pos = hash_val % table->num_bins;
315 ADD_DIRECT(table, key, value, hash_val, bin_pos);
324 unsigned int hash_val;
336 hash_val = ptr->hash % new_num_bins;
337 ptr->next = new_bins[hash_val];
338 new_bins[hash_val] = ptr;
394 unsigned int hash_val;
398 hash_val = do_hash_bin(*key, table);
399 ptr = table->bins[hash_val];
407 table->bins[hash_val] = ptr->next;
437 unsigned int hash_val;
440 hash_val = do_hash_bin(*key, table);
441 ptr = table->bins[hash_val];