comparison src/rangetab.c @ 2515:de9952d2ed18

[xemacs-hg @ 2005-01-26 10:22:19 by ben] Hash table cleanups, part 1 of 2 emacs-marshals.c, hash.c, hash.h, ui-gtk.c: Clean up and generalize creation of string hash tables. ui-gtk.c, elhash.h, gccache-gtk.c, glyphs-gtk.c, lrecord.h, marker.c, objects-gtk.c, objects-msw.c, objects-tty.c, objects-x.c, objects.c, opaque.c, rangetab.c, specifier.c, specifier.h, xgccache.c: Use Hashcode rather than unsigned long.
author ben
date Wed, 26 Jan 2005 10:22:29 +0000
parents 3d8143fc88e1
children 9f70af3ac939
comparison
equal deleted inserted replaced
2514:b49d38bc659d 2515:de9952d2ed18
157 } 157 }
158 158
159 return 1; 159 return 1;
160 } 160 }
161 161
162 static unsigned long 162 static Hashcode
163 range_table_entry_hash (struct range_table_entry *rte, int depth) 163 range_table_entry_hash (struct range_table_entry *rte, int depth)
164 { 164 {
165 return HASH3 (rte->first, rte->last, internal_hash (rte->val, depth + 1)); 165 return HASH3 (rte->first, rte->last, internal_hash (rte->val, depth + 1));
166 } 166 }
167 167
168 static unsigned long 168 static Hashcode
169 range_table_hash (Lisp_Object obj, int depth) 169 range_table_hash (Lisp_Object obj, int depth)
170 { 170 {
171 Lisp_Range_Table *rt = XRANGE_TABLE (obj); 171 Lisp_Range_Table *rt = XRANGE_TABLE (obj);
172 int i; 172 int i;
173 int size = Dynarr_length (rt->entries); 173 int size = Dynarr_length (rt->entries);
174 unsigned long hash = size; 174 Hashcode hash = size;
175 175
176 /* approach based on internal_array_hash(). */ 176 /* approach based on internal_array_hash(). */
177 if (size <= 5) 177 if (size <= 5)
178 { 178 {
179 for (i = 0; i < size; i++) 179 for (i = 0; i < size; i++)