104 |
static SCM |
static SCM |
105 |
make_hash_table (int flags, unsigned long k, const char *func_name) { |
make_hash_table (int flags, unsigned long k, const char *func_name) { |
106 |
SCM table, vector; |
SCM table, vector; |
107 |
|
scm_t_hashtable *t; |
108 |
int i = 0, n = k ? k : 31; |
int i = 0, n = k ? k : 31; |
109 |
while (i < HASHTABLE_SIZE_N && n > hashtable_size[i]) |
while (i < HASHTABLE_SIZE_N && n > hashtable_size[i]) |
110 |
++i; |
++i; |
119 |
func_name); |
func_name); |
120 |
else |
else |
121 |
vector = scm_c_make_vector (n, SCM_EOL); |
vector = scm_c_make_vector (n, SCM_EOL); |
122 |
scm_t_hashtable *t = scm_gc_malloc (sizeof (*t), s_hashtable); |
t = scm_gc_malloc (sizeof (*t), s_hashtable); |
123 |
t->min_size_index = t->size_index = i; |
t->min_size_index = t->size_index = i; |
124 |
t->n_items = 0; |
t->n_items = 0; |
125 |
t->lower = 0; |
t->lower = 0; |