Lines Matching refs:idx
51 size_t idx = 1 + (hval < htab->size ? hval : hval % htab->size);
53 if (htab->table[idx].hashval != 0)
57 if (htab->table[idx].hashval == hval
58 && COMPARE (htab->table[idx].data, val) == 0)
59 return idx;
66 if (idx <= hash)
67 idx = htab->size + idx - hash;
69 idx -= hash;
72 if (htab->table[idx].hashval == hval
73 && COMPARE (htab->table[idx].data, val) == 0)
74 return idx;
76 while (htab->table[idx].hashval);
78 return idx;
83 insert_entry_2 (NAME *htab, HASHTYPE hval, size_t idx, TYPE data)
86 if (htab->table[idx].hashval == 0)
89 htab->table[idx].next = htab->first;
90 htab->first = &htab->table[idx];
94 htab->first = htab->table[idx].next = &htab->table[idx];
97 htab->table[idx].next = htab->first->next;
98 htab->first = htab->first->next = &htab->table[idx];
104 htab->table[idx].hashval = hval;
105 htab->table[idx].data = data;
160 for (idx = 1; idx <= old_size; ++idx)
161 if (table[idx].hashval != 0)
162 insert_entry_2 (htab, table[idx].hashval,
163 lookup (htab, table[idx].hashval, table[idx].data),
164 table[idx].data);
212 size_t idx;
217 idx = lookup (htab, hval, data);
219 if (htab->table[idx].hashval != 0)
224 insert_entry_2 (htab, hval, idx, data);
236 size_t idx;
241 idx = lookup (htab, hval, data);
244 insert_entry_2 (htab, hval, idx, data);
256 size_t idx;
261 idx = lookup (htab, hval, val);
263 if (htab->table[idx].hashval == 0)
266 return htab->table[idx].data;