UNPKG

@thi.ng/vectors

Version:

Optimized 2d/3d/4d and arbitrary length vector operations, support for memory mapping/layouts

15 lines (14 loc) 437 B
import { setCS3 } from "./setcs.js"; const crossS2 = (a, b, ia = 0, ib = 0, sa = 1, sb = 1) => a[ia] * b[ib + sb] - a[ia + sa] * b[ib]; const crossS3 = (out, a, b, io = 0, ia = 0, ib = 0, so = 1, sa = 1, sb = 1) => setCS3( out || a, a[ia + sa] * b[ib + 2 * sb] - a[ia + 2 * sa] * b[ib + sb], a[ia + 2 * sa] * b[ib] - a[ia] * b[ib + 2 * sb], a[ia] * b[ib + sb] - a[ia + sa] * b[ib], io, so ); export { crossS2, crossS3 };