From c05b6bfa5cb3e44bd2c9b80593bd3da57b13f753 Mon Sep 17 00:00:00 2001 From: Revar Desmera Date: Tue, 19 Nov 2019 18:02:36 -0800 Subject: [PATCH] Fixed erroneous assertion in list_range() --- arrays.scad | 2 +- tests/test_arrays.scad | 1 + version.scad | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arrays.scad b/arrays.scad index b549758..342842b 100644 --- a/arrays.scad +++ b/arrays.scad @@ -139,7 +139,7 @@ function select(list, start, end=undef) = // list_range(n=4, s=[3,4], step=[2,3]); // Returns [[3,4], [5,7], [7,10], [9,13]] function list_range(n=undef, s=0, e=undef, step=undef) = (n!=undef && e!=undef)? ( - assert(n!=undef && e!=undef && step!=undef, "At most 2 of n, e, and step can be given.") + assert(is_undef(n) || is_undef(e) || is_undef(step), "At most 2 of n, e, and step can be given.") [for (i=[0:1:n-1]) s+(e-s)*i/(n-1)] ) : let(step = default(step,1)) (n!=undef)? [for (i=[0:1:n-1]) let(v=s+step*i) v] : diff --git a/tests/test_arrays.scad b/tests/test_arrays.scad index b1eda50..d0213bc 100644 --- a/tests/test_arrays.scad +++ b/tests/test_arrays.scad @@ -54,6 +54,7 @@ module test_list_range() { assert(list_range(s=3, e=5) == [3,4,5]); assert(list_range(s=3, e=8, step=2) == [3,5,7]); assert(list_range(s=4, e=8, step=2) == [4,6,8]); + assert(list_range(e=4, n=3) == [0,2,4]); assert(list_range(n=4, s=[3,4], step=[2,3]) == [[3,4], [5,7], [7,10], [9,13]]); } test_list_range(); diff --git a/version.scad b/version.scad index 865fde8..2fc34f3 100644 --- a/version.scad +++ b/version.scad @@ -8,7 +8,7 @@ ////////////////////////////////////////////////////////////////////// -BOSL_VERSION = [2,0,43]; +BOSL_VERSION = [2,0,44]; // Section: BOSL Library Version Functions