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

re-calculate b_numbers

This commit is contained in:
Justin Lin
2021-03-05 09:32:17 +08:00
parent c37424eb5a
commit f61694fb3b

View File

@@ -4,10 +4,11 @@ use <_impl/_hashset_add_impl.scad>;
function hashset(lt, eq = function(e1, e2) e1 == e2, hash = function(e) _str_hash(e), bucket_numbers) = function hashset(lt, eq = function(e1, e2) e1 == e2, hash = function(e) _str_hash(e), bucket_numbers) =
let( let(
leng_lt = len(lt),
lt_undef = is_undef(lt), lt_undef = is_undef(lt),
bucket_numbers_undef = is_undef(bucket_numbers), bucket_numbers_undef = is_undef(bucket_numbers),
b_numbers = bucket_numbers_undef ? b_numbers = bucket_numbers_undef ?
(lt_undef ? 16 : len(lt)) : bucket_numbers, (lt_undef ? 16 : ceil(sqrt(leng_lt))) : bucket_numbers,
buckets = [for(i = [0:b_numbers - 1]) []] buckets = [for(i = [0:b_numbers - 1]) []]
) )
lt_undef ? buckets : _hashset(lt, len(lt), buckets, eq, hash); lt_undef ? buckets : _hashset(lt, leng_lt, buckets, eq, hash);