UNPKG

@thi.ng/vectors

Version:

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

25 lines (24 loc) 635 B
import { vop } from "./vop.js"; const { abs, max } = Math; const distChebyshev2 = (a, b) => max(abs(a[0] - b[0]), abs(a[1] - b[1])); const distChebyshev3 = (a, b) => max(abs(a[0] - b[0]), abs(a[1] - b[1]), abs(a[2] - b[2])); const distChebyshev4 = (a, b) => max(abs(a[0] - b[0]), abs(a[1] - b[1]), abs(a[2] - b[2]), abs(a[3] - b[3])); const distChebyshev = vop( 0, (a, b) => { let d = 0; for (let i = a.length; i-- > 0; ) { d = max(d, abs(a[i] - b[i])); } return d; }, distChebyshev2, distChebyshev3, distChebyshev4 ); export { distChebyshev, distChebyshev2, distChebyshev3, distChebyshev4 };