@thi.ng/vectors
Advanced tools
Comparing version 0.5.0 to 0.5.1
import { NumericArray } from "@thi.ng/api/api"; | ||
export declare type Vec = NumericArray; | ||
export declare type ReadonlyVec = ArrayLike<number>; | ||
export declare type ReadonlyVec = ArrayLike<number> & Iterable<number>; | ||
export declare type Mat = NumericArray; | ||
export declare type ReadonlyMat = ArrayLike<number>; | ||
export declare type ReadonlyMat = ArrayLike<number> & Iterable<number>; | ||
/** | ||
@@ -7,0 +7,0 @@ * A vector operation involving only a single vector. The vector might |
@@ -6,2 +6,10 @@ # Change Log | ||
<a name="0.5.1"></a> | ||
## [0.5.1](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@0.5.0...@thi.ng/vectors@0.5.1) (2018-08-31) | ||
**Note:** Version bump only for package @thi.ng/vectors | ||
<a name="0.5.0"></a> | ||
@@ -8,0 +16,0 @@ # [0.5.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/vectors@0.4.0...@thi.ng/vectors@0.5.0) (2018-08-30) |
@@ -1,6 +0,6 @@ | ||
import { VecOp2 } from "./api"; | ||
export declare const x: (v: ArrayLike<number>, i?: number, _?: number) => number; | ||
export declare const y: (v: ArrayLike<number>, i?: number, s?: number) => number; | ||
export declare const z: (v: ArrayLike<number>, i?: number, s?: number) => number; | ||
export declare const w: (v: ArrayLike<number>, i?: number, s?: number) => number; | ||
import { ReadonlyVec, VecOp2 } from "./api"; | ||
export declare const x: (v: ReadonlyVec, i?: number, _?: number) => number; | ||
export declare const y: (v: ReadonlyVec, i?: number, s?: number) => number; | ||
export declare const z: (v: ReadonlyVec, i?: number, s?: number) => number; | ||
export declare const w: (v: ReadonlyVec, i?: number, s?: number) => number; | ||
/** | ||
@@ -31,3 +31,3 @@ * Applies vector op `fn` to all raw vectors in array `a`, using raw | ||
*/ | ||
export declare const transformVectors1: (fn: VecOp2<any>, a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, num: number, ia: number, ib: number, csa: number, csb: number, esa: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const transformVectors1: (fn: VecOp2<any>, a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, num: number, ia: number, ib: number, csa: number, csb: number, esa: number) => import("@thi.ng/api/api").NumericArray; | ||
/** | ||
@@ -45,5 +45,5 @@ * @param fn | ||
*/ | ||
export declare const transformVectors2: (fn: VecOp2<any>, a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, n: number, ia: number, ib: number, csa: number, csb: number, esa: number, esb: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const equiv: (a: ArrayLike<number>, b: ArrayLike<number>, n: number, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const eqDelta: (a: ArrayLike<number>, b: ArrayLike<number>, n: number, eps?: number, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const transformVectors2: (fn: VecOp2<any>, a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, n: number, ia: number, ib: number, csa: number, csb: number, esa: number, esb: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const equiv: (a: ReadonlyVec, b: ReadonlyVec, n: number, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const eqDelta: (a: ReadonlyVec, b: ReadonlyVec, n: number, eps?: number, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const declareIndices: (proto: any, indices: number[]) => void; |
import { ICopy, IEqualsDelta, IEquiv, ILength } from "@thi.ng/api/api"; | ||
import { IVec, Vec } from "./api"; | ||
import { IVec, ReadonlyVec, Vec } from "./api"; | ||
export declare const opg1: (fn: (x: number) => number, a: import("@thi.ng/api/api").NumericArray, num?: number, i?: number, s?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const opg2: (fn: (x: number, y: number) => number, a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const opg3: (fn: (x: number, y: number, z: number) => number, a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, c: ArrayLike<number>, num?: number, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const get: (a: ArrayLike<number>, num?: number, i?: number, s?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const opg2: (fn: (x: number, y: number) => number, a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const opg3: (fn: (x: number, y: number, z: number) => number, a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, c: ReadonlyVec, num?: number, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const get: (a: ReadonlyVec, num?: number, i?: number, s?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const setN: (a: import("@thi.ng/api/api").NumericArray, n: number, num?: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const add: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const sub: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mul: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const div: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const add: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const sub: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mul: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const div: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const addN: (a: import("@thi.ng/api/api").NumericArray, n: number, num?: number, i?: number, s?: number) => import("@thi.ng/api/api").NumericArray; | ||
@@ -17,11 +17,11 @@ export declare const subN: (a: import("@thi.ng/api/api").NumericArray, n: number, num?: number, i?: number, s?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const divN: (a: import("@thi.ng/api/api").NumericArray, n: number, num?: number, i?: number, s?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const dot: (a: ArrayLike<number>, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const madd: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, c: ArrayLike<number>, num?: number, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const maddN: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, n: number, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mix: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, c: ArrayLike<number>, num?: number, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mixN: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, n: number, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const magSq: (a: ArrayLike<number>, num?: number, i?: number, s?: number) => number; | ||
export declare const mag: (a: ArrayLike<number>, num?: number, i?: number, s?: number) => number; | ||
export declare const distSq: (a: ArrayLike<number>, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const dist: (a: ArrayLike<number>, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const dot: (a: ReadonlyVec, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const madd: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, c: ReadonlyVec, num?: number, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const maddN: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, n: number, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mix: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, c: ReadonlyVec, num?: number, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mixN: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, n: number, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const magSq: (a: ReadonlyVec, num?: number, i?: number, s?: number) => number; | ||
export declare const mag: (a: ReadonlyVec, num?: number, i?: number, s?: number) => number; | ||
export declare const distSq: (a: ReadonlyVec, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const dist: (a: ReadonlyVec, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const normalize: (a: import("@thi.ng/api/api").NumericArray, num?: number, len?: number, i?: number, s?: number) => import("@thi.ng/api/api").NumericArray; | ||
@@ -37,9 +37,9 @@ export declare const neg: (a: import("@thi.ng/api/api").NumericArray, num?: number, i?: number, s?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const sqrt: (a: import("@thi.ng/api/api").NumericArray, num?: number, i?: number, s?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const pow: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const pow: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const powN: (a: import("@thi.ng/api/api").NumericArray, n: number, num?: number, i?: number, s?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const min: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const max: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const clamp: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, c: ArrayLike<number>, num?: number, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const step: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const smoothStep: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, c: ArrayLike<number>, num?: number, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const min: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const max: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const clamp: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, c: ReadonlyVec, num?: number, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const step: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, num?: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const smoothStep: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, c: ReadonlyVec, num?: number, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const gvec: (...coords: number[]) => GVec; | ||
@@ -46,0 +46,0 @@ export declare class GVec implements ICopy<GVec>, IEqualsDelta<GVec>, IEquiv, ILength, Iterable<number>, IVec { |
import { ICopy, IEqualsDelta } from "@thi.ng/api/api"; | ||
import { Mat } from "./api"; | ||
import { Mat, ReadonlyVec } from "./api"; | ||
import { Vec2 } from "./vec2"; | ||
export declare const get23: (a: import("@thi.ng/api/api").NumericArray, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set23: (a: import("@thi.ng/api/api").NumericArray, b: import("@thi.ng/api/api").NumericArray, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set23: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
/** | ||
@@ -24,8 +24,8 @@ * ``` | ||
export declare const rotation23: (m: import("@thi.ng/api/api").NumericArray, theta: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const rotationAroundPoint23: (m: import("@thi.ng/api/api").NumericArray, p: import("@thi.ng/api/api").NumericArray, theta: number, im?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const rotationAroundPoint23: (m: import("@thi.ng/api/api").NumericArray, p: ReadonlyVec, theta: number, im?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleV23: (m: import("@thi.ng/api/api").NumericArray, v: import("@thi.ng/api/api").NumericArray, i?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleN23: (m: import("@thi.ng/api/api").NumericArray, n: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleS23: (m: import("@thi.ng/api/api").NumericArray, sx: number, sy: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleWithCenter23: (m: import("@thi.ng/api/api").NumericArray, p: import("@thi.ng/api/api").NumericArray, sx: number, sy: number, im?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const translationV23: (m: import("@thi.ng/api/api").NumericArray, v: import("@thi.ng/api/api").NumericArray, i?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleWithCenter23: (m: import("@thi.ng/api/api").NumericArray, p: ReadonlyVec, sx: number, sy: number, im?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const translationV23: (m: import("@thi.ng/api/api").NumericArray, v: ReadonlyVec, i?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const translationS23: (m: import("@thi.ng/api/api").NumericArray, x: number, y: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
@@ -36,15 +36,15 @@ export declare const shearX23: (m: import("@thi.ng/api/api").NumericArray, x: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const skewY23: (m: import("@thi.ng/api/api").NumericArray, theta: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mul23: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const concat23: (a: import("@thi.ng/api/api").NumericArray, ia: number, ...xs: (ArrayLike<number> | [ArrayLike<number>, number])[]) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mulV23: (m: ArrayLike<number>, v: import("@thi.ng/api/api").NumericArray, im?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const det23: (m: ArrayLike<number>, i?: number) => number; | ||
export declare const mul23: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const concat23: (a: import("@thi.ng/api/api").NumericArray, ia: number, ...xs: (ReadonlyVec | [ReadonlyVec, number])[]) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mulV23: (v: import("@thi.ng/api/api").NumericArray, m: ReadonlyVec, iv?: number, im?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const det23: (m: ReadonlyVec, i?: number) => number; | ||
export declare const invert23: (m: import("@thi.ng/api/api").NumericArray, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare class Mat23 implements ICopy<Mat23>, IEqualsDelta<Mat23> { | ||
static rotation(theta: number): Mat23; | ||
static rotationAroundPoint(p: Vec2, theta: number): Mat23; | ||
static rotationAroundPoint(p: Readonly<Vec2>, theta: number): Mat23; | ||
static scale(v: Vec2): Mat23; | ||
static scale(n: number): Mat23; | ||
static scale(x: number, y: number): Mat23; | ||
static scaleWithCenter(p: Vec2, sx: number, sy?: number): Mat23; | ||
static translation(v: Vec2): Mat23; | ||
static scaleWithCenter(p: Readonly<Vec2>, sx: number, sy?: number): Mat23; | ||
static translation(v: Readonly<Vec2>): Mat23; | ||
static translation(x: number, y: number): Mat23; | ||
@@ -51,0 +51,0 @@ static skewX(x: number): Mat23; |
@@ -7,3 +7,3 @@ "use strict"; | ||
const vec2_1 = require("./vec2"); | ||
exports.get23 = (a, i = 0) => exports.set23(new (a.constructor)(6), a, 0, i); | ||
exports.get23 = (a, i = 0) => a.slice(i, i + 6); | ||
exports.set23 = (a, b, ia = 0, ib = 0) => (a[ia] = b[ib], | ||
@@ -59,3 +59,3 @@ a[ia + 1] = b[ib + 1], | ||
exports.mul23(acc, x, ia), a); | ||
exports.mulV23 = (m, v, im = 0, iv = 0, sv = 1) => vec2_1.setS2(v, vec2_1.dot2(m, v, im, iv, 2, sv) + m[im + 4], vec2_1.dot2(m, v, im + 1, iv, 2, sv) + m[im + 5], iv, sv); | ||
exports.mulV23 = (v, m, iv = 0, im = 0, sv = 1) => vec2_1.setS2(v, vec2_1.dot2(m, v, im, iv, 2, sv) + m[im + 4], vec2_1.dot2(m, v, im + 1, iv, 2, sv) + m[im + 5], iv, sv); | ||
exports.det23 = (m, i = 0) => vec2_1.cross2(m, m, i, i + 1, 2, 2); | ||
@@ -139,3 +139,3 @@ exports.invert23 = (m, i = 0) => { | ||
mulV(v) { | ||
exports.mulV23(this.buf, v.buf, this.i, v.i, v.s); | ||
exports.mulV23(v.buf, this.buf, v.i, this.i, v.s); | ||
return v; | ||
@@ -142,0 +142,0 @@ } |
import { ICopy, IEqualsDelta } from "@thi.ng/api/api"; | ||
import { Mat } from "./api"; | ||
import { Mat, ReadonlyVec } from "./api"; | ||
import { Vec3 } from "./vec3"; | ||
export declare const get33: (a: import("@thi.ng/api/api").NumericArray, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set33: (a: import("@thi.ng/api/api").NumericArray, b: import("@thi.ng/api/api").NumericArray, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set33: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
/** | ||
@@ -30,12 +30,12 @@ * ``` | ||
export declare const rotationZ33: (m: import("@thi.ng/api/api").NumericArray, theta: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleV33: (m: import("@thi.ng/api/api").NumericArray, v: import("@thi.ng/api/api").NumericArray, i?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleV33: (m: import("@thi.ng/api/api").NumericArray, v: ReadonlyVec, i?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleN33: (m: import("@thi.ng/api/api").NumericArray, n: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleS33: (m: import("@thi.ng/api/api").NumericArray, sx: number, sy: number, sz: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mul33: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const concat33: (a: import("@thi.ng/api/api").NumericArray, ia: number, ...xs: (ArrayLike<number> | [ArrayLike<number>, number])[]) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mulV33: (m: ArrayLike<number>, v: import("@thi.ng/api/api").NumericArray, im?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const det33: (m: ArrayLike<number>, i?: number) => number; | ||
export declare const mul33: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const concat33: (a: import("@thi.ng/api/api").NumericArray, ia: number, ...xs: (ReadonlyVec | [ReadonlyVec, number])[]) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mulV33: (v: import("@thi.ng/api/api").NumericArray, m: ReadonlyVec, iv?: number, im?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const det33: (m: ReadonlyVec, i?: number) => number; | ||
export declare const invert33: (m: import("@thi.ng/api/api").NumericArray, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const transpose33: (m: import("@thi.ng/api/api").NumericArray, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mat33to44: (m44: import("@thi.ng/api/api").NumericArray, m33: import("@thi.ng/api/api").NumericArray, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mat33to44: (m44: import("@thi.ng/api/api").NumericArray, m33: ReadonlyVec, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare class Mat33 implements ICopy<Mat33>, IEqualsDelta<Mat33> { | ||
@@ -45,3 +45,3 @@ static rotationX(theta: number): Mat33; | ||
static rotationZ(theta: number): Mat33; | ||
static scale(v: Vec3): Mat33; | ||
static scale(v: Readonly<Vec3>): Mat33; | ||
static scale(n: number): Mat33; | ||
@@ -48,0 +48,0 @@ static scale(x: number, y: number, z: number): Mat33; |
@@ -8,3 +8,3 @@ "use strict"; | ||
const vec4_1 = require("./vec4"); | ||
exports.get33 = (a, i = 0) => exports.set33(new (a.constructor)(9), a, 0, i); | ||
exports.get33 = (a, i = 0) => a.slice(i, i + 9); | ||
exports.set33 = (a, b, ia = 0, ib = 0) => (a[ia] = b[ib], | ||
@@ -72,3 +72,3 @@ a[ia + 1] = b[ib + 1], | ||
exports.mul33(acc, x, ia), a); | ||
exports.mulV33 = (m, v, im = 0, iv = 0, sv = 1) => vec3_1.setS3(v, vec3_1.dot3(m, v, im, iv, 3, sv), vec3_1.dot3(m, v, im + 1, iv, 3, sv), vec3_1.dot3(m, v, im + 2, iv, 3, sv), iv, sv); | ||
exports.mulV33 = (v, m, iv = 0, im = 0, sv = 1) => vec3_1.setS3(v, vec3_1.dot3(m, v, im, iv, 3, sv), vec3_1.dot3(m, v, im + 1, iv, 3, sv), vec3_1.dot3(m, v, im + 2, iv, 3, sv), iv, sv); | ||
exports.det33 = (m, i = 0) => { | ||
@@ -162,3 +162,3 @@ const m00 = m[i]; | ||
mulV(v) { | ||
exports.mulV33(this.buf, v.buf, this.i, v.i, v.s); | ||
exports.mulV33(v.buf, this.buf, v.i, this.i, v.s); | ||
return v; | ||
@@ -165,0 +165,0 @@ } |
import { ICopy, IEqualsDelta } from "@thi.ng/api/api"; | ||
import { Mat } from "./api"; | ||
import { Mat, ReadonlyVec } from "./api"; | ||
import { Mat33 } from "./mat33"; | ||
@@ -7,3 +7,3 @@ import { Vec3 } from "./vec3"; | ||
export declare const get44: (a: import("@thi.ng/api/api").NumericArray, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set44: (a: import("@thi.ng/api/api").NumericArray, b: import("@thi.ng/api/api").NumericArray, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set44: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
/** | ||
@@ -22,7 +22,7 @@ * ``` | ||
export declare const rotationZ44: (m: import("@thi.ng/api/api").NumericArray, theta: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleV44: (m: import("@thi.ng/api/api").NumericArray, v: import("@thi.ng/api/api").NumericArray, i?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleV44: (m: import("@thi.ng/api/api").NumericArray, v: ReadonlyVec, i?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleN44: (m: import("@thi.ng/api/api").NumericArray, n: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleS44: (m: import("@thi.ng/api/api").NumericArray, sx: number, sy: number, sz: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleWithCenter44: (m: import("@thi.ng/api/api").NumericArray, p: import("@thi.ng/api/api").NumericArray, sx: number, sy: number, sz: number, im?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const translationV44: (m: import("@thi.ng/api/api").NumericArray, v: import("@thi.ng/api/api").NumericArray, i?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const scaleWithCenter44: (m: import("@thi.ng/api/api").NumericArray, p: ReadonlyVec, sx: number, sy: number, sz: number, im?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const translationV44: (m: import("@thi.ng/api/api").NumericArray, v: ReadonlyVec, i?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const translationS44: (m: import("@thi.ng/api/api").NumericArray, x: number, y: number, z: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
@@ -40,12 +40,12 @@ export declare const frustum: (m: import("@thi.ng/api/api").NumericArray, left: number, right: number, bottom: number, top: number, near: number, far: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const ortho: (m: import("@thi.ng/api/api").NumericArray, left: number, right: number, bottom: number, top: number, near: number, far: number, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const lookAt: (m: import("@thi.ng/api/api").NumericArray, eye: import("@thi.ng/api/api").NumericArray, target: import("@thi.ng/api/api").NumericArray, up: import("@thi.ng/api/api").NumericArray, im?: number, ie?: number, it?: number, iu?: number, se?: number, st?: number, su?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mul44: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const concat44: (a: import("@thi.ng/api/api").NumericArray, ia: number, ...xs: (ArrayLike<number> | [ArrayLike<number>, number])[]) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mulV344: (m: ArrayLike<number>, v: import("@thi.ng/api/api").NumericArray, im?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mulV44: (m: ArrayLike<number>, v: import("@thi.ng/api/api").NumericArray, im?: number, iv?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const det44: (m: import("@thi.ng/api/api").NumericArray, i?: number) => number; | ||
export declare const lookAt: (m: import("@thi.ng/api/api").NumericArray, eye: ReadonlyVec, target: ReadonlyVec, up: ReadonlyVec, im?: number, ie?: number, it?: number, iu?: number, se?: number, st?: number, su?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mul44: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const concat44: (a: import("@thi.ng/api/api").NumericArray, ia: number, ...xs: (ReadonlyVec | [ReadonlyVec, number])[]) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mulV344: (v: import("@thi.ng/api/api").NumericArray, m: ReadonlyVec, iv?: number, im?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mulV44: (v: import("@thi.ng/api/api").NumericArray, m: ReadonlyVec, iv?: number, im?: number, sv?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const det44: (m: ReadonlyVec, i?: number) => number; | ||
export declare const invert44: (m: import("@thi.ng/api/api").NumericArray, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const transpose44: (m: import("@thi.ng/api/api").NumericArray, i?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const normal44: (a: import("@thi.ng/api/api").NumericArray, b: import("@thi.ng/api/api").NumericArray, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mat44to33: (m33: import("@thi.ng/api/api").NumericArray, m44: import("@thi.ng/api/api").NumericArray, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const normal44: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mat44to33: (m33: import("@thi.ng/api/api").NumericArray, m44: ReadonlyVec, ia?: number, ib?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare class Mat44 implements ICopy<Mat44>, IEqualsDelta<Mat44> { | ||
@@ -55,8 +55,12 @@ static rotationX(theta: number): Mat44; | ||
static rotationZ(theta: number): Mat44; | ||
static scale(v: Vec3): Mat44; | ||
static scale(v: Readonly<Vec3>): Mat44; | ||
static scale(n: number): Mat44; | ||
static scale(x: number, y: number, z: number): Mat44; | ||
static scaleWithCenter(p: Vec3, sx: number, sy?: number, sz?: number): Mat44; | ||
static translation(v: Vec3): Mat44; | ||
static scaleWithCenter(p: Readonly<Vec3>, sx: number, sy?: number, sz?: number): Mat44; | ||
static translation(v: Readonly<Vec3>): Mat44; | ||
static translation(x: number, y: number, z: number): Mat44; | ||
static perspective(fov: number, aspect: number, near: number, far: number): Mat44; | ||
static ortho(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat44; | ||
static frustum(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat44; | ||
static lookAt(eye: Readonly<Vec3>, target: Readonly<Vec3>, up: Readonly<Vec3>): Mat44; | ||
static concat(m: Mat44, ...xs: Readonly<Mat44>[]): Mat44; | ||
@@ -63,0 +67,0 @@ buf: Mat; |
33
mat44.js
@@ -9,3 +9,3 @@ "use strict"; | ||
const vec4_1 = require("./vec4"); | ||
exports.get44 = (a, i = 0) => exports.set44(new (a.constructor)(16), a, 0, i); | ||
exports.get44 = (a, i = 0) => a.slice(i, i + 16); | ||
exports.set44 = (a, b, ia = 0, ib = 0) => { | ||
@@ -93,9 +93,6 @@ for (let i = 0; i < 16; i++) { | ||
exports.lookAt = (m, eye, target, up, im = 0, ie = 0, it = 0, iu = 0, se = 1, st = 1, su = 1) => { | ||
eye = vec3_1.get3(eye, ie, se); | ||
target = vec3_1.get3(target, it, st); | ||
up = vec3_1.get3(up, iu, su); | ||
const z = vec3_1.normalize3(vec3_1.sub3([...eye], target)); | ||
const x = vec3_1.normalize3(vec3_1.cross3(up, z)); | ||
const z = vec3_1.normalize3(vec3_1.sub3(vec3_1.get3(eye, ie, se), vec3_1.get3(target, it, st))); | ||
const x = vec3_1.normalize3(vec3_1.cross3(vec3_1.get3(up, iu, su), z)); | ||
const y = vec3_1.normalize3(vec3_1.cross3([...z], x)); | ||
return exports.setS44(m || [], x[0], y[0], z[0], 0, x[1], y[1], z[1], 0, x[2], y[2], z[2], 0, -vec3_1.dot3(eye, x), -vec3_1.dot3(eye, y), -vec3_1.dot3(eye, z), 1, im); | ||
return exports.setS44(m || [], x[0], y[0], z[0], 0, x[1], y[1], z[1], 0, x[2], y[2], z[2], 0, -vec3_1.dot3(eye, x, ie, 0, se), -vec3_1.dot3(eye, y, ie, 0, se), -vec3_1.dot3(eye, z, ie, 0, se), 1, im); | ||
}; | ||
@@ -106,4 +103,4 @@ exports.mul44 = (a, b, ia = 0, ib = 0) => exports.setS44(a, vec4_1.dot4(a, b, ia, ib, 4), vec4_1.dot4(a, b, ia + 1, ib, 4), vec4_1.dot4(a, b, ia + 2, ib, 4), vec4_1.dot4(a, b, ia + 3, ib, 4), vec4_1.dot4(a, b, ia, ib + 4, 4), vec4_1.dot4(a, b, ia + 1, ib + 4, 4), vec4_1.dot4(a, b, ia + 2, ib + 4, 4), vec4_1.dot4(a, b, ia + 3, ib + 4, 4), vec4_1.dot4(a, b, ia, ib + 8, 4), vec4_1.dot4(a, b, ia + 1, ib + 8, 4), vec4_1.dot4(a, b, ia + 2, ib + 8, 4), vec4_1.dot4(a, b, ia + 3, ib + 8, 4), vec4_1.dot4(a, b, ia, ib + 12, 4), vec4_1.dot4(a, b, ia + 1, ib + 12, 4), vec4_1.dot4(a, b, ia + 2, ib + 12, 4), vec4_1.dot4(a, b, ia + 3, ib + 12, 4), ia); | ||
exports.mul44(acc, x, ia), a); | ||
exports.mulV344 = (m, v, im = 0, iv = 0, sv = 1) => vec3_1.setS3(v, vec3_1.dot3(m, v, im, iv, 4, sv) + m[12], vec3_1.dot3(m, v, im + 1, iv, 4, sv) + m[13], vec3_1.dot3(m, v, im + 2, iv, 4, sv) + m[14], iv, sv); | ||
exports.mulV44 = (m, v, im = 0, iv = 0, sv = 1) => vec4_1.setS4(v, vec4_1.dot4(m, v, im, iv, 4, sv), vec4_1.dot4(m, v, im + 1, iv, 4, sv), vec4_1.dot4(m, v, im + 2, iv, 4, sv), vec4_1.dot4(m, v, im + 3, iv, 4, sv), iv, sv); | ||
exports.mulV344 = (v, m, iv = 0, im = 0, sv = 1) => vec3_1.setS3(v, vec3_1.dot3(m, v, im, iv, 4, sv) + m[12], vec3_1.dot3(m, v, im + 1, iv, 4, sv) + m[13], vec3_1.dot3(m, v, im + 2, iv, 4, sv) + m[14], iv, sv); | ||
exports.mulV44 = (v, m, iv = 0, im = 0, sv = 1) => vec4_1.setS4(v, vec4_1.dot4(m, v, im, iv, 4, sv), vec4_1.dot4(m, v, im + 1, iv, 4, sv), vec4_1.dot4(m, v, im + 2, iv, 4, sv), vec4_1.dot4(m, v, im + 3, iv, 4, sv), iv, sv); | ||
const detCoeffs44 = (m, i = 0) => { | ||
@@ -240,2 +237,14 @@ const m00 = m[i]; | ||
} | ||
static perspective(fov, aspect, near, far) { | ||
return new Mat44(exports.perspective([], fov, aspect, near, far)); | ||
} | ||
static ortho(left, right, bottom, top, near, far) { | ||
return new Mat44(exports.ortho([], left, right, bottom, top, near, far)); | ||
} | ||
static frustum(left, right, bottom, top, near, far) { | ||
return new Mat44(exports.frustum([], left, right, bottom, top, near, far)); | ||
} | ||
static lookAt(eye, target, up) { | ||
return new Mat44(exports.lookAt([], eye.buf, target.buf, up.buf, 0, eye.i, target.i, up.i, eye.s, target.s, up.s)); | ||
} | ||
static concat(m, ...xs) { | ||
@@ -272,7 +281,7 @@ exports.concat44.apply(null, [m.buf, m.i, ...xs.map((x) => [x.buf, x.i])]); | ||
mulV3(v) { | ||
exports.mulV344(this.buf, v.buf, this.i, v.i, v.s); | ||
exports.mulV344(v.buf, this.buf, v.i, this.i, v.s); | ||
return v; | ||
} | ||
mulV(v) { | ||
exports.mulV44(this.buf, v.buf, this.i, v.i, v.s); | ||
exports.mulV44(v.buf, this.buf, v.i, this.i, v.s); | ||
return v; | ||
@@ -302,4 +311,4 @@ } | ||
toString() { | ||
const b = this.buf; | ||
const i = this.i; | ||
const b = [...this.buf.slice(i, i + 16)].map((x) => x.toFixed(4)); | ||
return `${b[i]} ${b[i + 4]} ${b[i + 8]} ${b[i + 12]}\n${b[i + 1]} ${b[i + 5]} ${b[i + 9]} ${b[i + 13]}\n${b[i + 2]} ${b[i + 6]} ${b[i + 10]} ${b[i + 14]}\n${b[i + 3]} ${b[i + 7]} ${b[i + 11]} ${b[i + 15]}`; | ||
@@ -306,0 +315,0 @@ } |
{ | ||
"name": "@thi.ng/vectors", | ||
"version": "0.5.0", | ||
"version": "0.5.1", | ||
"description": "Vector algebra for fixed & variable sizes, memory mapped, flexible layouts", | ||
@@ -5,0 +5,0 @@ "main": "./index.js", |
import { ICopy, IEqualsDelta, IEquiv, ILength } from "@thi.ng/api/api"; | ||
import { IVec, Vec } from "./api"; | ||
import { IVec, ReadonlyVec, Vec } from "./api"; | ||
export declare const op2: (fn: (x: number) => number, a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const op22: (fn: (a: number, b: number) => number, a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const get2: (a: ArrayLike<number>, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const op22: (fn: (a: number, b: number) => number, a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const get2: (a: ReadonlyVec, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const setN2: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const setS2: (a: import("@thi.ng/api/api").NumericArray, x: number, y: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const swizzle2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, x: number, y: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const swizzle2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, x: number, y: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const swap2: (a: import("@thi.ng/api/api").NumericArray, b: import("@thi.ng/api/api").NumericArray, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const equiv2: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const eqDelta2: (a: ArrayLike<number>, b: ArrayLike<number>, eps?: number, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const add2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mul2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const sub2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const div2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const equiv2: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const eqDelta2: (a: ReadonlyVec, b: ReadonlyVec, eps?: number, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const add2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mul2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const sub2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const div2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const addN2: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
@@ -30,31 +30,31 @@ export declare const subN2: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const sqrt2: (a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const pow2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const pow2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const powN2: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const madd2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, c: ArrayLike<number>, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const maddN2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, c: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const dot2: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const cross2: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const mix2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, t: ArrayLike<number>, ia?: number, ib?: number, it?: number, sa?: number, sb?: number, st?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mixN2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, t: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const min2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const max2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const clamp2: (a: import("@thi.ng/api/api").NumericArray, min: ArrayLike<number>, max: ArrayLike<number>, ia?: number, imin?: number, imax?: number, sa?: number, smin?: number, smax?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const step2: (a: import("@thi.ng/api/api").NumericArray, e: ArrayLike<number>, ia?: number, ie?: number, sa?: number, stridee?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const smoothStep2: (a: import("@thi.ng/api/api").NumericArray, e1: ArrayLike<number>, e2: ArrayLike<number>, ia?: number, ie1?: number, ie2?: number, sa?: number, se1?: number, se2?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const magSq2: (a: ArrayLike<number>, ia?: number, sa?: number) => number; | ||
export declare const mag2: (a: ArrayLike<number>, ia?: number, sa?: number) => number; | ||
export declare const distSq2: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const dist2: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const distManhattan2: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const distChebyshev2: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const madd2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, c: ReadonlyVec, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const maddN2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, c: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const dot2: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const cross2: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const mix2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, t: ReadonlyVec, ia?: number, ib?: number, it?: number, sa?: number, sb?: number, st?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mixN2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, t: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const min2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const max2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const clamp2: (a: import("@thi.ng/api/api").NumericArray, min: ReadonlyVec, max: ReadonlyVec, ia?: number, imin?: number, imax?: number, sa?: number, smin?: number, smax?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const step2: (a: import("@thi.ng/api/api").NumericArray, e: ReadonlyVec, ia?: number, ie?: number, sa?: number, stridee?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const smoothStep2: (a: import("@thi.ng/api/api").NumericArray, e1: ReadonlyVec, e2: ReadonlyVec, ia?: number, ie1?: number, ie2?: number, sa?: number, se1?: number, se2?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const magSq2: (a: ReadonlyVec, ia?: number, sa?: number) => number; | ||
export declare const mag2: (a: ReadonlyVec, ia?: number, sa?: number) => number; | ||
export declare const distSq2: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const dist2: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const distManhattan2: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const distChebyshev2: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const normalize2: (a: import("@thi.ng/api/api").NumericArray, n?: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const limit2: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const reflect2: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const reflect2: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const rotate2: (a: import("@thi.ng/api/api").NumericArray, theta: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const rotateAroundPoint2: (a: import("@thi.ng/api/api").NumericArray, b: import("@thi.ng/api/api").NumericArray, theta: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const heading2: (a: ArrayLike<number>, ia?: number, sa?: number) => number; | ||
export declare const angleBetween2: (a: ArrayLike<number>, b: ArrayLike<number>, normalize?: boolean, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const bisect2: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const heading2: (a: ReadonlyVec, ia?: number, sa?: number) => number; | ||
export declare const angleBetween2: (a: ReadonlyVec, b: ReadonlyVec, normalize?: boolean, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const bisect2: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const toPolar2: (a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const toCartesian2: (a: import("@thi.ng/api/api").NumericArray, b?: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const toCartesian2: (a: import("@thi.ng/api/api").NumericArray, b?: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const minorAxis2: (a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => 1 | 0; | ||
@@ -61,0 +61,0 @@ export declare const majorAxis2: (a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => 1 | 0; |
import { ICopy, IEqualsDelta, IEquiv, ILength } from "@thi.ng/api/api"; | ||
import { IVec, Vec } from "./api"; | ||
import { IVec, ReadonlyVec, Vec } from "./api"; | ||
export declare const op3: (fn: (x: number) => number, a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const op32: (fn: (a: number, b: number) => number, a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const get3: (a: ArrayLike<number>, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const op32: (fn: (a: number, b: number) => number, a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const get3: (a: ReadonlyVec, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const setN3: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const setS3: (a: import("@thi.ng/api/api").NumericArray, x: number, y: number, z: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const swizzle3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, x: number, y: number, z: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const swizzle3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, x: number, y: number, z: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const swap3: (a: import("@thi.ng/api/api").NumericArray, b: import("@thi.ng/api/api").NumericArray, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const equiv3: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const eqDelta3: (a: ArrayLike<number>, b: ArrayLike<number>, eps?: number, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const add3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mul3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const sub3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const div3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const equiv3: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const eqDelta3: (a: ReadonlyVec, b: ReadonlyVec, eps?: number, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const add3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mul3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const sub3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const div3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const addN3: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
@@ -30,25 +30,25 @@ export declare const subN3: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const sqrt3: (a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const pow3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const pow3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const powN3: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const madd3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, c: ArrayLike<number>, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const maddN3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, c: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const dot3: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const cross3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const madd3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, c: ReadonlyVec, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const maddN3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, c: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const dot3: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const cross3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const orthoNormal3: (a: import("@thi.ng/api/api").NumericArray, b: import("@thi.ng/api/api").NumericArray, c: import("@thi.ng/api/api").NumericArray, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mix3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, t: ArrayLike<number>, ia?: number, ib?: number, it?: number, sa?: number, sb?: number, st?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mixN3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, t: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const min3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const max3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const clamp3: (a: import("@thi.ng/api/api").NumericArray, min: ArrayLike<number>, max: ArrayLike<number>, ia?: number, imin?: number, imax?: number, sa?: number, smin?: number, smax?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const step3: (a: import("@thi.ng/api/api").NumericArray, e: ArrayLike<number>, ia?: number, ie?: number, sa?: number, se?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const smoothStep3: (a: import("@thi.ng/api/api").NumericArray, e1: ArrayLike<number>, e2: ArrayLike<number>, ia?: number, ie1?: number, ie2?: number, sa?: number, se1?: number, se2?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const magSq3: (a: ArrayLike<number>, ia?: number, sa?: number) => number; | ||
export declare const mag3: (a: ArrayLike<number>, ia?: number, sa?: number) => number; | ||
export declare const distSq3: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const dist3: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const distManhattan3: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const distChebyshev3: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const mix3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, t: ReadonlyVec, ia?: number, ib?: number, it?: number, sa?: number, sb?: number, st?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mixN3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, t: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const min3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const max3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const clamp3: (a: import("@thi.ng/api/api").NumericArray, min: ReadonlyVec, max: ReadonlyVec, ia?: number, imin?: number, imax?: number, sa?: number, smin?: number, smax?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const step3: (a: import("@thi.ng/api/api").NumericArray, e: ReadonlyVec, ia?: number, ie?: number, sa?: number, se?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const smoothStep3: (a: import("@thi.ng/api/api").NumericArray, e1: ReadonlyVec, e2: ReadonlyVec, ia?: number, ie1?: number, ie2?: number, sa?: number, se1?: number, se2?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const magSq3: (a: ReadonlyVec, ia?: number, sa?: number) => number; | ||
export declare const mag3: (a: ReadonlyVec, ia?: number, sa?: number) => number; | ||
export declare const distSq3: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const dist3: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const distManhattan3: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const distChebyshev3: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const normalize3: (a: import("@thi.ng/api/api").NumericArray, n?: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const limit3: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const reflect3: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const reflect3: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const rotateX3: (a: import("@thi.ng/api/api").NumericArray, theta: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
@@ -58,10 +58,10 @@ export declare const rotateY3: (a: import("@thi.ng/api/api").NumericArray, theta: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const rotateAroundAxis3: (v: import("@thi.ng/api/api").NumericArray, axis: import("@thi.ng/api/api").NumericArray, theta: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const headingXY3: (a: ArrayLike<number>, ia?: number, sa?: number) => number; | ||
export declare const headingXZ3: (a: ArrayLike<number>, ia?: number, sa?: number) => number; | ||
export declare const headingYZ3: (a: ArrayLike<number>, ia?: number, sa?: number) => number; | ||
export declare const angleBetween3: (a: ArrayLike<number>, b: ArrayLike<number>, normalize?: boolean, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const headingXY3: (a: ReadonlyVec, ia?: number, sa?: number) => number; | ||
export declare const headingXZ3: (a: ReadonlyVec, ia?: number, sa?: number) => number; | ||
export declare const headingYZ3: (a: ReadonlyVec, ia?: number, sa?: number) => number; | ||
export declare const angleBetween3: (a: ReadonlyVec, b: ReadonlyVec, normalize?: boolean, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const toSpherical3: (a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const toCartesian3: (a: import("@thi.ng/api/api").NumericArray, b?: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const toCartesian3: (a: import("@thi.ng/api/api").NumericArray, b?: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const toCylindrical3: (a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const fromCylindrical3: (a: import("@thi.ng/api/api").NumericArray, b?: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const fromCylindrical3: (a: import("@thi.ng/api/api").NumericArray, b?: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const minorAxis3: (a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => 1 | 0 | 2; | ||
@@ -68,0 +68,0 @@ export declare const majorAxis3: (a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => 1 | 0 | 2; |
import { ICopy, IEqualsDelta, IEquiv, ILength } from "@thi.ng/api/api"; | ||
import { IVec, Vec } from "./api"; | ||
import { IVec, ReadonlyVec, Vec } from "./api"; | ||
export declare const op4: (fn: (x: number) => number, a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const op42: (fn: (a: number, b: number) => number, a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const get4: (a: ArrayLike<number>, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const op42: (fn: (a: number, b: number) => number, a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const get4: (a: ReadonlyVec, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const set4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const setN4: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const setS4: (a: import("@thi.ng/api/api").NumericArray, x: number, y: number, z: number, w: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const swizzle4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, x: number, y: number, z: number, w: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const swizzle4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, x: number, y: number, z: number, w: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const swap4: (a: import("@thi.ng/api/api").NumericArray, b: import("@thi.ng/api/api").NumericArray, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const equiv4: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const eqDelta4: (a: ArrayLike<number>, b: ArrayLike<number>, eps?: number, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const add4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mul4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const sub4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const div4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const equiv4: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const eqDelta4: (a: ReadonlyVec, b: ReadonlyVec, eps?: number, ia?: number, ib?: number, sa?: number, sb?: number) => boolean; | ||
export declare const add4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mul4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const sub4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const div4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const addN4: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
@@ -30,23 +30,23 @@ export declare const subN4: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const sqrt4: (a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const pow4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const pow4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const powN4: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const madd4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, c: ArrayLike<number>, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const maddN4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, c: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const dot4: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const mix4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, t: ArrayLike<number>, ia?: number, ib?: number, it?: number, sa?: number, sb?: number, st?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mixN4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, t: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const min4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const max4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const clamp4: (a: import("@thi.ng/api/api").NumericArray, min: ArrayLike<number>, max: ArrayLike<number>, ia?: number, imin?: number, imax?: number, sa?: number, smin?: number, smax?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const step4: (a: import("@thi.ng/api/api").NumericArray, e: ArrayLike<number>, ia?: number, ie?: number, sa?: number, se?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const smoothStep4: (a: import("@thi.ng/api/api").NumericArray, e1: ArrayLike<number>, e2: ArrayLike<number>, ia?: number, ie1?: number, ie2?: number, sa?: number, se1?: number, se2?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const magSq4: (a: ArrayLike<number>, ia?: number, sa?: number) => number; | ||
export declare const mag4: (a: ArrayLike<number>, ia?: number, sa?: number) => number; | ||
export declare const distSq4: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const dist4: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const distManhattan4: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const distChebyshev4: (a: ArrayLike<number>, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const madd4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, c: ReadonlyVec, ia?: number, ib?: number, ic?: number, sa?: number, sb?: number, sc?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const maddN4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, c: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const dot4: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const mix4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, t: ReadonlyVec, ia?: number, ib?: number, it?: number, sa?: number, sb?: number, st?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const mixN4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, t: number, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const min4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const max4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const clamp4: (a: import("@thi.ng/api/api").NumericArray, min: ReadonlyVec, max: ReadonlyVec, ia?: number, imin?: number, imax?: number, sa?: number, smin?: number, smax?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const step4: (a: import("@thi.ng/api/api").NumericArray, e: ReadonlyVec, ia?: number, ie?: number, sa?: number, se?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const smoothStep4: (a: import("@thi.ng/api/api").NumericArray, e1: ReadonlyVec, e2: ReadonlyVec, ia?: number, ie1?: number, ie2?: number, sa?: number, se1?: number, se2?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const magSq4: (a: ReadonlyVec, ia?: number, sa?: number) => number; | ||
export declare const mag4: (a: ReadonlyVec, ia?: number, sa?: number) => number; | ||
export declare const distSq4: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const dist4: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const distManhattan4: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const distChebyshev4: (a: ReadonlyVec, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => number; | ||
export declare const normalize4: (a: import("@thi.ng/api/api").NumericArray, n?: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const limit4: (a: import("@thi.ng/api/api").NumericArray, n: number, ia?: number, sa?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const reflect4: (a: import("@thi.ng/api/api").NumericArray, b: ArrayLike<number>, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const reflect4: (a: import("@thi.ng/api/api").NumericArray, b: ReadonlyVec, ia?: number, ib?: number, sa?: number, sb?: number) => import("@thi.ng/api/api").NumericArray; | ||
export declare const minorAxis4: (a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => 1 | 0 | 2 | 3; | ||
@@ -53,0 +53,0 @@ export declare const majorAxis4: (a: import("@thi.ng/api/api").NumericArray, ia?: number, sa?: number) => 1 | 0 | 2 | 3; |
3442
194526