summaryrefslogtreecommitdiffstats
path: root/hash.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-10-18 19:07:00 -0700
committerKaz Kylheku <kaz@kylheku.com>2019-10-18 19:07:00 -0700
commitd438a09df2bb086fd159835de87b166474a8643b (patch)
tree65b6dd4c6cdfdfb475caac380e0215ea051a2f42 /hash.c
parented919ff8f5353a0e740bf82c7088e4b6246f99ea (diff)
downloadtxr-d438a09df2bb086fd159835de87b166474a8643b.tar.gz
txr-d438a09df2bb086fd159835de87b166474a8643b.tar.bz2
txr-d438a09df2bb086fd159835de87b166474a8643b.zip
hash: rename hash_rec_limit.
hash_rec_limit isn't a limit on recursion depth but on the elements traversed. * hash.c (hash_rec_limit): Variable renamed to hash_traversal_limit. (gethash_c, gethash_e, remhash, hash_equal): Use new name. (set_hash_rec_limit): Function renamed to set_hash_traversal_limit. (hash_init): set-hash-rec-limit intrinsic renamed to set-hash-traversal-limit. This function is undocumented, so no backward compatibility is provided.
Diffstat (limited to 'hash.c')
-rw-r--r--hash.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/hash.c b/hash.c
index 8cf4d45a..39173a15 100644
--- a/hash.c
+++ b/hash.c
@@ -106,7 +106,7 @@ val hash_seed_s;
static struct hash *reachable_weak_hashes;
static struct hash_iter *reachable_iters;
-static int hash_rec_limit = 32;
+static int hash_traversal_limit = 32;
static u32_t randbox[] = {
0x49848f1bU, 0xe6255dbaU, 0x36da5bdcU, 0x47bf94e9U,
@@ -897,7 +897,7 @@ val copy_hash(val existing)
val gethash_c(val self, val hash, val key, loc new_p)
{
struct hash *h = coerce(struct hash *, cobj_handle(self, hash, hash_s));
- int lim = hash_rec_limit;
+ int lim = hash_traversal_limit;
ucnum hv = h->hops->hash_fun(key, &lim, h->seed);
loc pchain = mkloc(h->table->v.vec[hv % h->modulus], h->table);
val old = deref(pchain);
@@ -910,7 +910,7 @@ val gethash_c(val self, val hash, val key, loc new_p)
val gethash_e(val self, val hash, val key)
{
struct hash *h = coerce(struct hash *, cobj_handle(self, hash, hash_s));
- int lim = hash_rec_limit;
+ int lim = hash_traversal_limit;
ucnum hv = h->hops->hash_fun(key, &lim, h->seed);
val chain = h->table->v.vec[hv % h->modulus];
return h->hops->assoc_fun(key, hv, chain);
@@ -964,7 +964,7 @@ val remhash(val hash, val key)
{
val self = lit("remhash");
struct hash *h = coerce(struct hash *, cobj_handle(self, hash, hash_s));
- int lim = hash_rec_limit;
+ int lim = hash_traversal_limit;
ucnum hv = h->hops->hash_fun(key, &lim, h->seed);
val *pchain = &h->table->v.vec[hv % h->modulus];
val existing = h->hops->assoc_fun(key, hv, *pchain);
@@ -1130,7 +1130,7 @@ val hash_eql(val obj)
val hash_equal(val obj, val seed)
{
- int lim = hash_rec_limit;
+ int lim = hash_traversal_limit;
return num_fast(equal_hash(obj, &lim, if3(missingp(seed), 0, c_unum(seed))));
}
@@ -1732,10 +1732,10 @@ val hash_revget(val hash, val value, val test, val keyfun)
return nil;
}
-static val set_hash_rec_limit(val lim)
+static val set_hash_traversal_limit(val lim)
{
- val old = num(hash_rec_limit);
- hash_rec_limit = c_num(lim);
+ val old = num(hash_traversal_limit);
+ hash_traversal_limit = c_num(lim);
return old;
}
@@ -1809,7 +1809,7 @@ void hash_init(void)
reg_fun(intern(lit("hash-begin"), user_package), func_n1(hash_begin));
reg_fun(intern(lit("hash-next"), user_package), func_n1(hash_next));
reg_fun(intern(lit("hash-peek"), user_package), func_n1(hash_peek));
- reg_fun(intern(lit("set-hash-rec-limit"), system_package),
- func_n1(set_hash_rec_limit));
+ reg_fun(intern(lit("set-hash-traversal-limit"), system_package),
+ func_n1(set_hash_traversal_limit));
reg_fun(intern(lit("gen-hash-seed"), user_package), func_n0(gen_hash_seed));
}