@thi.ng/vectors
Version:
Optimized 2d/3d/4d and arbitrary length vector operations, support for memory mapping/layouts
29 lines (28 loc) • 974 B
JavaScript
import {} from "@thi.ng/random";
import { SYSTEM as op } from "@thi.ng/random/system";
const randMinMaxS2 = (o, a, b, rnd = op, io = 0, ia = 0, ib = 0, so = 1, sa = 1, sb = 1) => {
!o && (o = a);
o[io] = rnd.minmax(a[ia], b[ib]);
o[io + so] = rnd.minmax(a[ia + sa], b[ib + sb]);
return o;
};
const randMinMaxS3 = (o, a, b, rnd = op, io = 0, ia = 0, ib = 0, so = 1, sa = 1, sb = 1) => {
!o && (o = a);
o[io] = rnd.minmax(a[ia], b[ib]);
o[io + so] = rnd.minmax(a[ia + sa], b[ib + sb]);
o[io + 2 * so] = rnd.minmax(a[ia + 2 * sa], b[ib + 2 * sb]);
return o;
};
const randMinMaxS4 = (o, a, b, rnd = op, io = 0, ia = 0, ib = 0, so = 1, sa = 1, sb = 1) => {
!o && (o = a);
o[io] = rnd.minmax(a[ia], b[ib]);
o[io + so] = rnd.minmax(a[ia + sa], b[ib + sb]);
o[io + 2 * so] = rnd.minmax(a[ia + 2 * sa], b[ib + 2 * sb]);
o[io + 3 * so] = rnd.minmax(a[ia + 3 * sa], b[ib + 3 * sb]);
return o;
};
export {
randMinMaxS2,
randMinMaxS3,
randMinMaxS4
};