@thi.ng/vectors
Version:
Optimized 2d/3d/4d and arbitrary length vector operations, support for memory mapping/layouts
19 lines (18 loc) • 638 B
JavaScript
const setC2 = (out, x, y) => (!out && (out = []), out[0] = x, out[1] = y, out);
const setC3 = (out, x, y, z) => (!out && (out = []), out[0] = x, out[1] = y, out[2] = z, out);
const setC4 = (out, x, y, z, w) => (!out && (out = []), out[0] = x, out[1] = y, out[2] = z, out[3] = w, out);
const setC6 = (out, a, b, c, d, e, f) => (!out && (out = []), out[0] = a, out[1] = b, out[2] = c, out[3] = d, out[4] = e, out[5] = f, out);
const setC = (out, ...values) => {
if (!out) return values;
for (let i = 0, n = values.length; i < n; i++) {
out[i] = values[i];
}
return out;
};
export {
setC,
setC2,
setC3,
setC4,
setC6
};