1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-13 18:24:28 +02:00
This commit is contained in:
Justin Lin
2022-03-12 22:28:38 +08:00
parent e048056057
commit 951ed2daf2

View File

@@ -12,13 +12,14 @@ function swap(lt, i, j) =
i == j ? lt : i == j ? lt :
let( let(
leng = len(lt), leng = len(lt),
a = min([i, j]), ab = i < j ? [i, j] : [j, i],
b = max([i, j]) a = ab[0],
) b = ab[1]
)
[ [
if(a != 0) each [for(idx = [0:a - 1]) lt[idx]], each [for(idx = 0; idx < a; idx = idx + 1) lt[idx]],
lt[b], lt[b],
if(b - a != 1) each [for(idx = [a + 1:b - 1]) lt[idx]], each [for(idx = a + 1; idx < b; idx = idx + 1) lt[idx]],
lt[a], lt[a],
if(b != leng - 1) each [for(idx = [b + 1:leng - 1]) lt[idx]] each [for(idx = b + 1; idx < leng; idx = idx + 1) lt[idx]]
]; ];