1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-16 11:44:50 +02:00

avoid repeating computation

This commit is contained in:
Justin Lin
2022-03-18 09:20:44 +08:00
parent 18991671f8
commit 7744b4e79c
3 changed files with 9 additions and 9 deletions

View File

@@ -4,9 +4,9 @@ function _dedup(elems, leng, buckets, eq, hash, bucket_numbers) =
let(
end = leng - 1,
n_buckets_lt = [
for(i = 0, n_buckets = _dedup_add(buckets, [i, elems[i]], eq, hash, bucket_numbers);
i < end;
i = i + 1, n_buckets = _dedup_add(n_buckets, [i, elems[i]], eq, hash, bucket_numbers))
for(i = 0, n_buckets = _dedup_add(buckets, [i, elems[i]], eq, hash, bucket_numbers), is_continue = i < end;
is_continue;
i = i + 1, is_continue = i < end, n_buckets = is_continue ? _dedup_add(n_buckets, [i, elems[i]], eq, hash, bucket_numbers) : n_buckets)
n_buckets
]
)

View File

@@ -4,9 +4,9 @@ function _hashmap(kv_lt, leng, buckets, b_numbers, eq, hash) =
let(
end = leng - 1,
n_buckets_lt = [
for(i = 0, n_buckets = _hashmap_put(buckets, b_numbers, kv_lt[i][0], kv_lt[i][1], eq, hash);
i < end;
i = i + 1, n_buckets = _hashmap_put(n_buckets, b_numbers, kv_lt[i][0], kv_lt[i][1], eq, hash))
for(i = 0, n_buckets = _hashmap_put(buckets, b_numbers, kv_lt[i][0], kv_lt[i][1], eq, hash), is_continue = i < end;
is_continue;
i = i + 1, is_continue = i < end, n_buckets = is_continue ? _hashmap_put(n_buckets, b_numbers, kv_lt[i][0], kv_lt[i][1], eq, hash) : n_buckets)
n_buckets
]
)

View File

@@ -4,9 +4,9 @@ function _hashset(lt, leng, buckets, b_numbers, eq, hash) =
let(
end = leng - 1,
n_buckets_lt = [
for(i = 0, n_buckets = _hashset_add(buckets, b_numbers, lt[i], eq, hash);
i < end;
i = i + 1, n_buckets = _hashset_add(n_buckets, b_numbers, lt[i], eq, hash))
for(i = 0, n_buckets = _hashset_add(buckets, b_numbers, lt[i], eq, hash), is_continue = i < end;
is_continue;
i = i + 1, is_continue = i < end, n_buckets = is_continue ? _hashset_add(n_buckets, b_numbers, lt[i], eq, hash) : n_buckets)
n_buckets
]
)