From df8cbba07c7d5e0763b9fd2ee730e93540e8764c Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Sat, 27 Feb 2021 18:38:41 +0800 Subject: [PATCH] add swap --- src/util/swap.scad | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/util/swap.scad diff --git a/src/util/swap.scad b/src/util/swap.scad new file mode 100644 index 00000000..3a3b5238 --- /dev/null +++ b/src/util/swap.scad @@ -0,0 +1,13 @@ +function swap(lt, i, j) = + let( + leng = len(lt), + a = min([i, j]), + b = max([i, j]) + ) + concat( + a == 0 ? [] : [for(idx = [0:a - 1]) lt[idx]], + [lt[b]], + b - a == 1? [] : [for(idx = [a + 1:b - 1]) lt[idx]], + [lt[a]], + b == leng - 1 ? [] : [for(idx = [b + 1:leng - 1]) lt[idx]] + ); \ No newline at end of file