@thi.ng/vectors
Version:
Optimized 2d/3d/4d and arbitrary length vector operations, support for memory mapping/layouts
22 lines (21 loc) • 434 B
JavaScript
import { vop } from "./vop.js";
const magSq2 = (a) => a[0] * a[0] + a[1] * a[1];
const magSq3 = (a) => a[0] * a[0] + a[1] * a[1] + a[2] * a[2];
const magSq4 = (a) => a[0] * a[0] + a[1] * a[1] + a[2] * a[2] + a[3] * a[3];
const magSq = vop(
0,
(a) => {
let sum = 0;
for (let i = a.length; i-- > 0; ) sum += a[i] * a[i];
return sum;
},
magSq2,
magSq3,
magSq4
);
export {
magSq,
magSq2,
magSq3,
magSq4
};