diff --git a/src/util/_impl/_every.scad b/src/util/_impl/_every.scad deleted file mode 100644 index 3a9c7b08..00000000 --- a/src/util/_impl/_every.scad +++ /dev/null @@ -1,3 +0,0 @@ -function _every(lt, test, leng, i = 0) = - i == leng ? true : - !test(lt[i]) ? false : _every(lt, test, leng, i + 1); \ No newline at end of file diff --git a/src/util/_impl/_find_index_impl.scad b/src/util/_impl/_find_index_impl.scad deleted file mode 100644 index 0e10b037..00000000 --- a/src/util/_impl/_find_index_impl.scad +++ /dev/null @@ -1,3 +0,0 @@ -function _find_index(lt, test, leng, i = 0) = - i == leng ? -1 : - test(lt[i]) ? i : _find_index(lt, test, leng, i + 1); \ No newline at end of file diff --git a/src/util/_impl/_some.scad b/src/util/_impl/_some.scad deleted file mode 100644 index ae7e606c..00000000 --- a/src/util/_impl/_some.scad +++ /dev/null @@ -1,3 +0,0 @@ -function _some(lt, test, leng, i = 0) = - i == leng ? false : - test(lt[i]) ? true : _some(lt, test, leng, i + 1); \ No newline at end of file diff --git a/src/util/every.scad b/src/util/every.scad index 00765da2..95f2a37d 100644 --- a/src/util/every.scad +++ b/src/util/every.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_every.scad>; - -function every(lt, test) = _every(lt, test, len(lt)); \ No newline at end of file +function every(lt, test) = + let(leng = len(lt)) + len([for(i = 0; i < leng && test(lt[i]); i = i + 1) 0]) == leng; \ No newline at end of file diff --git a/src/util/find_index.scad b/src/util/find_index.scad index e5e5c634..d2ab823c 100644 --- a/src/util/find_index.scad +++ b/src/util/find_index.scad @@ -8,6 +8,10 @@ * **/ -use <_impl/_find_index_impl.scad>; - -function find_index(lt, test) = _find_index(lt, test, len(lt)); \ No newline at end of file +function find_index(lt, test) = + let( + leng = len(lt), + indices = [for(i = 0; i < leng && !test(lt[i]); i = i + 1) i], + leng_indices = len(indices) + ) + leng_indices == leng ? -1 : leng_indices; \ No newline at end of file diff --git a/src/util/some.scad b/src/util/some.scad index 57eeeb02..2f1a4c40 100644 --- a/src/util/some.scad +++ b/src/util/some.scad @@ -8,6 +8,6 @@ * **/ -use <_impl/_some.scad>; - -function some(lt, test) = _some(lt, test, len(lt)); \ No newline at end of file +function some(lt, test) = + let(leng = len(lt)) + len([for(i = 0; i < leng && !test(lt[i]); i = i + 1) 0]) < leng; \ No newline at end of file