@thi.ng/geom-accel
Version:
n-D spatial indexing data structures with a shared ES6 Map/Set-like API
27 lines (26 loc) • 602 B
JavaScript
import { assert } from "@thi.ng/errors/assert";
const CMP = (a, b) => b[0] - a[0];
const __addResults = (fn, sel, acc) => {
for (let n = sel.sort(CMP).length; n-- > 0; ) {
const s = sel[n][1];
s && acc.push(fn(s));
}
return acc;
};
const __into = (map, pairs, eps) => {
let ok = true;
for (let p of pairs) {
ok = map.set(p[0], p[1], eps) && ok;
}
return ok;
};
const __ensureRes = (res, min = 1) => {
for (let i = res.length; i-- > 0; )
assert(res[i] >= min, `invalid grid res: ${res}, require min=${min}`);
};
export {
CMP,
__addResults,
__ensureRes,
__into
};