UNPKG

@thi.ng/vectors

Version:

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

35 lines (34 loc) 900 B
import {} from "@thi.ng/random"; import { SYSTEM as op } from "@thi.ng/random/system"; const randomS2 = (a, n = -1, m = 1, rnd = op, ia = 0, sa = 1) => { !a && (a = []); a[ia] = rnd.minmax(n, m); a[ia + sa] = rnd.minmax(n, m); return a; }; const randomS3 = (a, n = -1, m = 1, rnd = op, ia = 0, sa = 1) => { !a && (a = []); a[ia] = rnd.minmax(n, m); a[ia + sa] = rnd.minmax(n, m); a[ia + 2 * sa] = rnd.minmax(n, m); return a; }; const randomS4 = (a, n = -1, m = 1, rnd = op, ia = 0, sa = 1) => { !a && (a = []); a[ia] = rnd.minmax(n, m); a[ia + sa] = rnd.minmax(n, m); a[ia + 2 * sa] = rnd.minmax(n, m); a[ia + 3 * sa] = rnd.minmax(n, m); return a; }; const randomS = (a, num, n = -1, m = 1, rnd = op, ia = 0, sa = 1) => { !a && (a = []); while (num-- > 0) a[ia + num * sa] = rnd.minmax(n, m); return a; }; export { randomS, randomS2, randomS3, randomS4 };