diff --git a/src/experimental/note.md b/src/experimental/note.md index d949d99a..5504a5f3 100644 --- a/src/experimental/note.md +++ b/src/experimental/note.md @@ -12,4 +12,6 @@ New modules/functions - `angles_between` - `spherical_coordinate` +- `util/every` - `util/some` + diff --git a/src/util/every.scad b/src/util/every.scad new file mode 100644 index 00000000..652bc441 --- /dev/null +++ b/src/util/every.scad @@ -0,0 +1,5 @@ +function _every(lt, assert_func, leng, i = 0) = + i == leng ? true : + assert_func(lt[i]) ? _every(lt, assert_func, leng, i + 1) : false; + +function every(lt, assert_func) = _every(lt, assert_func, len(lt)); \ No newline at end of file