mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-11 17:24:20 +02:00
refactor
This commit is contained in:
@@ -1,8 +1,17 @@
|
||||
use <../some.scad>;
|
||||
|
||||
function _dedup(elems, leng, buckets, eq, hash, bucket_numbers, i = 0) =
|
||||
i == leng ? buckets :
|
||||
_dedup(elems, leng, _dedup_add(buckets, [i, elems[i]], eq, hash, bucket_numbers), eq, hash, bucket_numbers, i + 1);
|
||||
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))
|
||||
n_buckets
|
||||
]
|
||||
)
|
||||
_dedup_add(n_buckets_lt[len(n_buckets_lt) - 1], [end, elems[end]], eq, hash, bucket_numbers);
|
||||
|
||||
|
||||
function _dedup_add(buckets, i_elem, eq, hash, bucket_numbers) =
|
||||
let(
|
||||
|
@@ -1,9 +1,13 @@
|
||||
use <_hashmap_put_impl.scad>;
|
||||
|
||||
function _hashmap(kv_lt, leng, buckets, b_numbers, eq, hash, i = 0) =
|
||||
i == leng ? buckets :
|
||||
function _hashmap(kv_lt, leng, buckets, b_numbers, eq, hash) =
|
||||
let(
|
||||
kv_lt_i = kv_lt[i],
|
||||
n_buckets = _hashmap_put(buckets, b_numbers, kv_lt_i[0], kv_lt_i[1], eq, hash)
|
||||
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))
|
||||
n_buckets
|
||||
]
|
||||
)
|
||||
_hashmap(kv_lt, leng, n_buckets, b_numbers, eq, hash, i + 1);
|
||||
_hashmap_put(n_buckets_lt[len(n_buckets_lt) - 1], b_numbers, kv_lt[end][0], kv_lt[end][1], eq, hash);
|
@@ -1,6 +1,15 @@
|
||||
use <_hashset_add_impl.scad>;
|
||||
|
||||
function _hashset(lt, leng, buckets, b_numbers, eq, hash, i = 0) =
|
||||
i == leng ? buckets :
|
||||
let(n_buckets = _hashset_add(buckets, b_numbers, lt[i], eq, hash))
|
||||
_hashset(lt, leng, n_buckets, b_numbers, eq, hash, i + 1);
|
||||
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))
|
||||
n_buckets
|
||||
]
|
||||
)
|
||||
_hashset_add(n_buckets_lt[len(n_buckets_lt) - 1], b_numbers, lt[end], eq, hash);
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user