diff --git a/src/util/swap.scad b/src/util/swap.scad index 0ffd2833..1e3bca8c 100644 --- a/src/util/swap.scad +++ b/src/util/swap.scad @@ -5,9 +5,9 @@ * @license https://opensource.org/licenses/lgpl-3.0.html * * @see https://openhome.cc/eGossip/OpenSCAD/lib3x-swap.html -* +* **/ - + function swap(lt, i, j) = i == j ? lt : let( @@ -17,9 +17,8 @@ function swap(lt, i, j) = b = ab[1] ) [ - each [for(idx = 0; idx < a; idx = idx + 1) lt[idx]], - lt[b], - each [for(idx = a + 1; idx < b; idx = idx + 1) lt[idx]], - lt[a], - each [for(idx = b + 1; idx < leng; idx = idx + 1) lt[idx]] + for(i = [0:leng - 1]) + if(i == a) lt[b] + else if(i == b) lt[a] + else lt[i] ]; \ No newline at end of file