diff --git a/src/noise/_impl/_nz_cell_impl.scad b/src/noise/_impl/_nz_cell_impl.scad index f9bec4f4..f2788126 100644 --- a/src/noise/_impl/_nz_cell_impl.scad +++ b/src/noise/_impl/_nz_cell_impl.scad @@ -23,7 +23,7 @@ function _nz_cell_border(cells, p) = [each cell, norm(cell - p)] ], idx = len(cells[0]), - sorted_dists = sorted(dists, cmp = function(a, b) a[idx] - b[idx]), + sorted_dists = sorted(dists, key = function(elem) elem[idx]), sorted0 = sorted_dists[0], sorted1 = sorted_dists[1], a = [for(i = [0:idx - 1]) sorted0[i]], diff --git a/src/noise/_impl/_nz_worley2_impl.scad b/src/noise/_impl/_nz_worley2_impl.scad index 27e32a09..4d57ef67 100644 --- a/src/noise/_impl/_nz_worley2_impl.scad +++ b/src/noise/_impl/_nz_worley2_impl.scad @@ -1,7 +1,7 @@ use <_nz_worley_comm.scad>; use <../../util/sorted.scad>; -_cmp = function(a, b) a[2] - b[2]; +_key = function(elem) elem[2]; function _neighbors(fcord, seed, grid_w) = let(range = [-1:1]) @@ -25,7 +25,7 @@ function _nz_worley2_classic(p, nbrs, dist) = dist == "chebyshev" ? [for(nbr = nbrs) [each nbr, _chebyshev(nbr, p)]] : assert("Unknown distance option") ) - sorted(cells, _cmp)[0]; + sorted(cells, key = _key)[0]; function _nz_worley2_border(p, nbrs) = let( @@ -33,7 +33,7 @@ function _nz_worley2_border(p, nbrs) = for(nbr = nbrs) [each nbr, norm(nbr - p)] ], - sorted_cells = sorted(cells, _cmp), + sorted_cells = sorted(cells, key = _key), a = [sorted_cells[0].x, sorted_cells[0].y], m = (a + [sorted_cells[1].x, sorted_cells[1].y]) / 2 ) diff --git a/src/noise/_impl/_nz_worley3_impl.scad b/src/noise/_impl/_nz_worley3_impl.scad index 548b9257..77ec6352 100644 --- a/src/noise/_impl/_nz_worley3_impl.scad +++ b/src/noise/_impl/_nz_worley3_impl.scad @@ -1,7 +1,7 @@ use <_nz_worley_comm.scad>; use <../../util/sorted.scad>; -_cmp = function(a, b) a[3] - b[3]; +_key = function(elem) elem[3]; function _neighbors(fcord, seed, grid_w) = let(range = [-1:1]) @@ -27,7 +27,7 @@ function _nz_worley3_classic(p, nbrs, dist) = dist == "chebyshev" ? [for(nbr = nbrs) [each nbr, _chebyshev(nbr, p)]] : assert("Unknown distance option") ) - sorted(cells, _cmp)[0]; + sorted(cells, key = _key)[0]; function _nz_worley3_border(p, nbrs) = let( @@ -35,7 +35,7 @@ function _nz_worley3_border(p, nbrs) = for(nbr = nbrs) [each nbr, norm(nbr - p)] ], - sorted_cells = sorted(cells, _cmp), + sorted_cells = sorted(cells, key = _key), a = [sorted_cells[0].x, sorted_cells[0].y, sorted_cells[0].z], m = (a + [sorted_cells[1].x, sorted_cells[1].y, sorted_cells[1].z]) / 2 )