@danielsimonjr/mathts-functions 0.43.1 → 0.43.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-K6FSIGFM.js → chunk-UMUT2YEC.js} +6 -106
- package/dist/index.js +6 -36
- package/dist/typed/index.d.ts +0 -1
- package/dist/typed/index.d.ts.map +1 -1
- package/dist/typed/matrix-ops.d.ts.map +1 -1
- package/dist/typed/numeric.d.ts +0 -8
- package/dist/typed/numeric.d.ts.map +1 -1
- package/dist/utils/switch.d.ts +6 -4
- package/dist/utils/switch.d.ts.map +1 -1
- package/dist/wasm/integrity.d.ts +10 -40
- package/dist/wasm/integrity.d.ts.map +1 -1
- package/dist/wasm/resolve.d.ts +22 -52
- package/dist/wasm/resolve.d.ts.map +1 -1
- package/dist/{wasm-bridge-P6BRFY46.js → wasm-bridge-C44GQ3DS.js} +1 -1
- package/package.json +5 -5
|
@@ -5,96 +5,14 @@ var __export = (target, all) => {
|
|
|
5
5
|
};
|
|
6
6
|
|
|
7
7
|
// src/wasm/integrity.ts
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (isNode) {
|
|
14
|
-
const { createHash } = await import("crypto");
|
|
15
|
-
const hash = createHash(ALGO);
|
|
16
|
-
hash.update(bytes);
|
|
17
|
-
digest = new Uint8Array(hash.digest());
|
|
18
|
-
} else {
|
|
19
|
-
const copy = new ArrayBuffer(bytes.byteLength);
|
|
20
|
-
new Uint8Array(copy).set(bytes);
|
|
21
|
-
const out = await crypto.subtle.digest("SHA-384", copy);
|
|
22
|
-
digest = new Uint8Array(out);
|
|
23
|
-
}
|
|
24
|
-
let binary = "";
|
|
25
|
-
for (let i = 0; i < digest.length; i++) binary += String.fromCharCode(digest[i]);
|
|
26
|
-
const b64 = typeof btoa === "function" ? btoa(binary) : Buffer.from(digest).toString("base64");
|
|
27
|
-
return `sha384-${b64}`;
|
|
28
|
-
}
|
|
29
|
-
async function loadWasmManifest(wasmPath) {
|
|
30
|
-
const isNode = typeof process !== "undefined" && process.versions?.node !== void 0;
|
|
31
|
-
const manifestPath = wasmPath.replace(/[^/\\]+$/, "wasm-manifest.json");
|
|
32
|
-
try {
|
|
33
|
-
if (isNode) {
|
|
34
|
-
const fs = await import("fs");
|
|
35
|
-
const { promisify } = await import("util");
|
|
36
|
-
const readFile = promisify(fs.readFile);
|
|
37
|
-
const text = await readFile(manifestPath, "utf8");
|
|
38
|
-
return JSON.parse(text);
|
|
39
|
-
} else {
|
|
40
|
-
const res = await fetch(manifestPath);
|
|
41
|
-
if (!res.ok) return null;
|
|
42
|
-
return await res.json();
|
|
43
|
-
}
|
|
44
|
-
} catch {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
async function verifyWasmIntegrity(buffer, wasmPath, options = {}) {
|
|
49
|
-
const fileName = wasmPath.split(/[/\\]/).pop() || wasmPath;
|
|
50
|
-
const manifest = options.manifest !== void 0 ? options.manifest : await loadWasmManifest(wasmPath);
|
|
51
|
-
if (!manifest) {
|
|
52
|
-
if (options.required) {
|
|
53
|
-
throw new Error(
|
|
54
|
-
`WASM integrity check failed: no manifest at sibling of "${wasmPath}" (required)`
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
if (typeof console !== "undefined") {
|
|
58
|
-
console.warn(
|
|
59
|
-
`[wasm-integrity] no manifest found beside "${wasmPath}"; skipping SHA-384 verification (set options.required=true to fail closed)`
|
|
60
|
-
);
|
|
61
|
-
}
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
const expected = manifest[fileName];
|
|
65
|
-
if (!expected) {
|
|
66
|
-
if (options.required) {
|
|
67
|
-
throw new Error(`WASM integrity check failed: manifest has no entry for "${fileName}"`);
|
|
68
|
-
}
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const actual = await sha384OfBuffer(buffer);
|
|
72
|
-
if (actual !== expected) {
|
|
73
|
-
throw new Error(
|
|
74
|
-
`WASM integrity check failed for "${fileName}": expected ${expected}, got ${actual}`
|
|
75
|
-
);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
8
|
+
import {
|
|
9
|
+
sha384OfBuffer,
|
|
10
|
+
loadWasmManifest,
|
|
11
|
+
verifyWasmIntegrity
|
|
12
|
+
} from "@danielsimonjr/mathts-core/internal";
|
|
78
13
|
|
|
79
14
|
// src/wasm/resolve.ts
|
|
80
|
-
|
|
81
|
-
const isNode = typeof process !== "undefined" && process.versions?.node !== void 0;
|
|
82
|
-
if (!isNode) return null;
|
|
83
|
-
const { fileURLToPath } = await import("url");
|
|
84
|
-
const { dirname, join } = await import("path");
|
|
85
|
-
const { existsSync } = await import("fs");
|
|
86
|
-
let dir = dirname(fileURLToPath(metaUrl));
|
|
87
|
-
for (let depth = 0; depth < 8; depth++) {
|
|
88
|
-
const candidates = [join(dir, "wasm", wasmFile), join(dir, "dist", "wasm", wasmFile)];
|
|
89
|
-
for (const candidate of candidates) {
|
|
90
|
-
if (existsSync(candidate)) return candidate;
|
|
91
|
-
}
|
|
92
|
-
const parent = dirname(dir);
|
|
93
|
-
if (parent === dir) break;
|
|
94
|
-
dir = parent;
|
|
95
|
-
}
|
|
96
|
-
return null;
|
|
97
|
-
}
|
|
15
|
+
import { resolvePackagedWasm, defaultWasmLocation } from "@danielsimonjr/mathts-core/internal";
|
|
98
16
|
async function resolveBrowserWasm(metaUrl, wasmFile) {
|
|
99
17
|
let dir = new URL(".", metaUrl);
|
|
100
18
|
for (let depth = 0; depth < 8; depth++) {
|
|
@@ -112,24 +30,6 @@ async function resolveBrowserWasm(metaUrl, wasmFile) {
|
|
|
112
30
|
}
|
|
113
31
|
return new URL(`./wasm/${wasmFile}`, metaUrl).href;
|
|
114
32
|
}
|
|
115
|
-
async function defaultWasmLocation(metaUrl, wasmFile, opts) {
|
|
116
|
-
if (opts?.browser) {
|
|
117
|
-
return new URL(`./wasm/${wasmFile}`, metaUrl).href;
|
|
118
|
-
}
|
|
119
|
-
const { fileURLToPath } = await import("url");
|
|
120
|
-
const { dirname, join } = await import("path");
|
|
121
|
-
const { existsSync } = await import("fs");
|
|
122
|
-
let dir = dirname(fileURLToPath(metaUrl));
|
|
123
|
-
for (let depth = 0; depth < 8; depth++) {
|
|
124
|
-
if (existsSync(join(dir, "package.json"))) {
|
|
125
|
-
return join(dir, "dist", "wasm", wasmFile);
|
|
126
|
-
}
|
|
127
|
-
const parent = dirname(dir);
|
|
128
|
-
if (parent === dir) break;
|
|
129
|
-
dir = parent;
|
|
130
|
-
}
|
|
131
|
-
return join(dirname(fileURLToPath(metaUrl)), "wasm", wasmFile);
|
|
132
|
-
}
|
|
133
33
|
|
|
134
34
|
// src/wasm/WasmLoader.ts
|
|
135
35
|
var WasmLoader = class _WasmLoader {
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
wasmLoader,
|
|
14
14
|
withAsF64,
|
|
15
15
|
withAsI32
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-UMUT2YEC.js";
|
|
17
17
|
|
|
18
18
|
// src/typed/index.ts
|
|
19
19
|
var typed_exports = {};
|
|
@@ -16589,7 +16589,7 @@ async function mannWhitneyTest(sample1, sample2, opts) {
|
|
|
16589
16589
|
if (nTotal >= WASM_SORT_THRESHOLD) {
|
|
16590
16590
|
const vals = new Float64Array(nTotal);
|
|
16591
16591
|
for (let k = 0; k < nTotal; k++) vals[k] = combined[k].value;
|
|
16592
|
-
const { argsortF64Dispatch: argsortF64Dispatch2 } = await import("./wasm-bridge-
|
|
16592
|
+
const { argsortF64Dispatch: argsortF64Dispatch2 } = await import("./wasm-bridge-C44GQ3DS.js");
|
|
16593
16593
|
const idx = argsortF64Dispatch2(vals);
|
|
16594
16594
|
const sortedCombined = new Array(nTotal);
|
|
16595
16595
|
for (let k = 0; k < nTotal; k++) sortedCombined[k] = combined[idx[k]];
|
|
@@ -17335,6 +17335,7 @@ function hotellingT2(data, mu0) {
|
|
|
17335
17335
|
import {
|
|
17336
17336
|
eig,
|
|
17337
17337
|
svd,
|
|
17338
|
+
cholesky as matrixCholesky,
|
|
17338
17339
|
cond as matrixCond,
|
|
17339
17340
|
norm2 as matrixNorm2,
|
|
17340
17341
|
normFro as matrixNormFro,
|
|
@@ -17493,25 +17494,8 @@ function cholesky(A) {
|
|
|
17493
17494
|
}
|
|
17494
17495
|
}
|
|
17495
17496
|
}
|
|
17496
|
-
const
|
|
17497
|
-
|
|
17498
|
-
for (let j = 0; j <= i; j++) {
|
|
17499
|
-
let sum3 = 0;
|
|
17500
|
-
for (let k = 0; k < j; k++) {
|
|
17501
|
-
sum3 += L[i][k] * L[j][k];
|
|
17502
|
-
}
|
|
17503
|
-
if (i === j) {
|
|
17504
|
-
const diag2 = A[i][i] - sum3;
|
|
17505
|
-
if (diag2 <= 0) {
|
|
17506
|
-
throw new Error("cholesky: matrix is not positive definite");
|
|
17507
|
-
}
|
|
17508
|
-
L[i][j] = Math.sqrt(diag2);
|
|
17509
|
-
} else {
|
|
17510
|
-
L[i][j] = (A[i][j] - sum3) / L[j][j];
|
|
17511
|
-
}
|
|
17512
|
-
}
|
|
17513
|
-
}
|
|
17514
|
-
return { L };
|
|
17497
|
+
const { L } = matrixCholesky(DenseMatrix3.fromArray(A));
|
|
17498
|
+
return { L: L.toArray() };
|
|
17515
17499
|
}
|
|
17516
17500
|
function hessenbergForm(A) {
|
|
17517
17501
|
const n = assertSquare(A, "hessenbergForm");
|
|
@@ -26891,21 +26875,7 @@ var createZpk2tf = /* @__PURE__ */ factory(
|
|
|
26891
26875
|
);
|
|
26892
26876
|
|
|
26893
26877
|
// src/utils/switch.ts
|
|
26894
|
-
|
|
26895
|
-
const rows = mat;
|
|
26896
|
-
const I2 = rows.length;
|
|
26897
|
-
const J = rows[0].length;
|
|
26898
|
-
let i, j;
|
|
26899
|
-
const ret = [];
|
|
26900
|
-
for (j = 0; j < J; j++) {
|
|
26901
|
-
const tmp = [];
|
|
26902
|
-
for (i = 0; i < I2; i++) {
|
|
26903
|
-
tmp.push(rows[i][j]);
|
|
26904
|
-
}
|
|
26905
|
-
ret.push(tmp);
|
|
26906
|
-
}
|
|
26907
|
-
return ret;
|
|
26908
|
-
}
|
|
26878
|
+
import { _switch as _switch2 } from "@danielsimonjr/mathts-core/internal";
|
|
26909
26879
|
|
|
26910
26880
|
// src/statistics/cumsum.ts
|
|
26911
26881
|
import { neumaierCumsum as neumaierCumsum2 } from "@danielsimonjr/mathts-core";
|
package/dist/typed/index.d.ts
CHANGED
|
@@ -44,7 +44,6 @@ export * from './graph.js';
|
|
|
44
44
|
export * from './dist-objects.js';
|
|
45
45
|
export * from './hypothesis.js';
|
|
46
46
|
export * from './matrix-ops.js';
|
|
47
|
-
export { cond } from './matrix-ops.js';
|
|
48
47
|
export * from './gpu.js';
|
|
49
48
|
export { enableGpu, disableGpu, isGpuEnabled, GPU_MIN_ELEMENTS } from '@danielsimonjr/mathts-gpu';
|
|
50
49
|
export { elementwiseChainGpuDispatch, elementwiseChainReduceGpuDispatch, GPU_REDUCE_OPS, type GpuReduceOp, isGpuChainSupported, resetGpuElementwise, GPU_ELEMENTWISE_OPS, type GpuElementwiseOp, type GpuChainOptions, } from '../gpu/elementwise-gpu.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/typed/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAK5C,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,cAAc,eAAe,CAAC;AAG9B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,cAAc,CAAC;AAG7B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,YAAY,CAAC;AAG3B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/typed/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAK5C,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,cAAc,eAAe,CAAC;AAG9B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,cAAc,CAAC;AAG7B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,YAAY,CAAC;AAG3B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,iBAAiB,CAAC;AAchC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,UAAU,CAAC;AAIzB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,EACL,2BAA2B,EAC3B,iCAAiC,EACjC,cAAc,EACd,KAAK,WAAW,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,cAAc,EACd,WAAW,EACX,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAI3B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAsCtC;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matrix-ops.d.ts","sourceRoot":"","sources":["../../src/typed/matrix-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"matrix-ops.d.ts","sourceRoot":"","sources":["../../src/typed/matrix-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA4BH,KAAK,GAAG,GAAG,MAAM,CAAC;AAClB,KAAK,GAAG,GAAG,MAAM,CAAC;AAgGlB;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyB/E;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,GAAE,GAAW,GAAG,MAAM,EAAE,EAAE,CAqDrE;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,GAAE,GAAW,GAAG,GAAG,CAc/D;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,cAAc,CAqBtD;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACd,mEAAmE;IACnE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CACf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,gBAAgB,CAuE9D;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAwB5E;AA8FD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAMlE;AAqJD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACd,sCAAsC;IACtC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CACf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAiB5E;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,kCAAkC;IAClC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACd,2DAA2D;IAC3D,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAwErE;AA+MD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,IAAI,wCASf,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,IAAI,wCAEf,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,KAAK,wCAEhB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,OAAO,wCAElB,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,wCAExB,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,wCAEzB,CAAC;AAMH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,UAAU,wCAQrB,CAAC;AAMH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,wCAQrB,CAAC;AAMH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW,wCAQtB,CAAC"}
|
package/dist/typed/numeric.d.ts
CHANGED
|
@@ -313,14 +313,6 @@ export declare function odeAdaptiveStep(f: (t: f64, y: number[]) => number[], y0
|
|
|
313
313
|
export declare function eventDetection(f: (t: f64, y: number[]) => number[], y0: number[], tspan: [f64, f64], event: (t: f64, y: number[]) => f64): ODESolution & {
|
|
314
314
|
eventTime?: f64;
|
|
315
315
|
};
|
|
316
|
-
/**
|
|
317
|
-
* Condition number of a matrix (ratio of largest to smallest singular value).
|
|
318
|
-
* Uses a simple power iteration estimate.
|
|
319
|
-
*
|
|
320
|
-
* @param A - Square matrix
|
|
321
|
-
* @returns Approximate condition number
|
|
322
|
-
*/
|
|
323
|
-
export declare function cond(A: number[][]): f64;
|
|
324
316
|
/**
|
|
325
317
|
* Numerical rank of a matrix using SVD-like approach.
|
|
326
318
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numeric.d.ts","sourceRoot":"","sources":["../../src/typed/numeric.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"numeric.d.ts","sourceRoot":"","sources":["../../src/typed/numeric.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/switch.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Transpose a
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Transpose a 2D array (private helper). Consolidated onto the canonical
|
|
3
|
+
* `_switch` in `@danielsimonjr/mathts-core` (core/src/switch.ts) as part of the
|
|
4
|
+
* 2026-07 dedup campaign — this file is now a thin re-export so there is a
|
|
5
|
+
* single body (functions depends on core, so no cycle). The former local copy
|
|
6
|
+
* was byte-equivalent 2D-transpose logic.
|
|
5
7
|
* @private
|
|
6
8
|
*/
|
|
7
|
-
export
|
|
9
|
+
export { _switch } from '@danielsimonjr/mathts-core/internal';
|
|
8
10
|
//# sourceMappingURL=switch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../src/utils/switch.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../src/utils/switch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC"}
|
package/dist/wasm/integrity.d.ts
CHANGED
|
@@ -1,46 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WASM integrity verification — SHA-384 manifest check.
|
|
3
3
|
*
|
|
4
|
-
* The
|
|
4
|
+
* The shared runtime logic (`sha384OfBuffer` / `loadWasmManifest` /
|
|
5
|
+
* `verifyWasmIntegrity`) is now consolidated in
|
|
6
|
+
* `@danielsimonjr/mathts-core/internal` (`core/src/wasm-loader.ts`) so `functions`
|
|
7
|
+
* and `matrix` build on ONE copy — see docs/Architecture/duplicate-symbols.json.
|
|
8
|
+
* This module re-exports it (plus the `WasmManifest` type) to preserve the local
|
|
9
|
+
* `./integrity.js` import surface used by WasmLoader.ts.
|
|
5
10
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* }
|
|
10
|
-
*
|
|
11
|
-
* At load time the runtime hashes the freshly read buffer with SHA-384
|
|
12
|
-
* and compares against the manifest. A mismatch throws — preventing
|
|
13
|
-
* silent code-injection if the .wasm artefact is tampered with on disk
|
|
14
|
-
* or in transit (e.g. a CDN/MITM compromise).
|
|
15
|
-
*
|
|
16
|
-
* Browser path uses `crypto.subtle.digest('SHA-384', buf)`.
|
|
17
|
-
* Node path uses `crypto.createHash('sha384').update(buf).digest()`.
|
|
18
|
-
*
|
|
19
|
-
* If the manifest is missing or has no entry for the given file, we
|
|
20
|
-
* emit a console warning and fall through. This keeps existing
|
|
21
|
-
* unsigned builds usable while making signed builds tamper-evident.
|
|
22
|
-
*/
|
|
23
|
-
import type { WasmManifest } from '@danielsimonjr/mathts-core/internal';
|
|
24
|
-
export type { WasmManifest };
|
|
25
|
-
/**
|
|
26
|
-
* Compute the SHA-384 digest of a buffer and return base64 encoding,
|
|
27
|
-
* prefixed with "sha384-" to match SRI conventions.
|
|
28
|
-
*/
|
|
29
|
-
export declare function sha384OfBuffer(buffer: ArrayBuffer | Uint8Array): Promise<string>;
|
|
30
|
-
/**
|
|
31
|
-
* Load the manifest sitting next to the .wasm artefact.
|
|
32
|
-
*
|
|
33
|
-
* @param wasmPath Resolved path or URL to the .wasm file.
|
|
34
|
-
* @returns parsed manifest, or `null` if the manifest cannot be located.
|
|
35
|
-
*/
|
|
36
|
-
export declare function loadWasmManifest(wasmPath: string): Promise<WasmManifest | null>;
|
|
37
|
-
/**
|
|
38
|
-
* Verify a freshly loaded WASM buffer against the manifest.
|
|
39
|
-
*
|
|
40
|
-
* @throws Error if the buffer's SHA-384 differs from the manifest entry.
|
|
11
|
+
* SECURITY INVARIANT (CLAUDE.md #1): the SHA-384 hash-and-compare-before-
|
|
12
|
+
* instantiate is unchanged — it now lives in core, byte-for-byte. Guarded by
|
|
13
|
+
* functions/tests/security/wasm-integrity.test.ts.
|
|
41
14
|
*/
|
|
42
|
-
export
|
|
43
|
-
manifest?: WasmManifest | null;
|
|
44
|
-
required?: boolean;
|
|
45
|
-
}): Promise<void>;
|
|
15
|
+
export { sha384OfBuffer, loadWasmManifest, verifyWasmIntegrity, type WasmManifest, } from '@danielsimonjr/mathts-core/internal';
|
|
46
16
|
//# sourceMappingURL=integrity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integrity.d.ts","sourceRoot":"","sources":["../../src/wasm/integrity.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"integrity.d.ts","sourceRoot":"","sources":["../../src/wasm/integrity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,YAAY,GAClB,MAAM,qCAAqC,CAAC"}
|
package/dist/wasm/resolve.d.ts
CHANGED
|
@@ -1,62 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* layout and the published-package layout (Node only).
|
|
2
|
+
* Packaged `.wasm` artifact resolution.
|
|
4
3
|
*
|
|
5
|
-
*
|
|
6
|
-
* `
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Mirrors matrix/src/backends/wasm/resolve.ts.
|
|
13
|
-
*
|
|
14
|
-
* @returns absolute path to the artifact, or `null` if not found.
|
|
4
|
+
* `resolvePackagedWasm` and `defaultWasmLocation` are consolidated in
|
|
5
|
+
* `@danielsimonjr/mathts-core/internal` (`core/src/wasm-loader.ts`) — shared
|
|
6
|
+
* byte-for-byte with matrix (see docs/Architecture/duplicate-symbols.json). Each
|
|
7
|
+
* caller injects its own `import.meta.url`, so resolution stays relative to this
|
|
8
|
+
* package. `resolveBrowserWasm` is functions-specific (the browser HEAD-probe
|
|
9
|
+
* walk-up) and stays local.
|
|
15
10
|
*/
|
|
16
|
-
export
|
|
11
|
+
export { resolvePackagedWasm, defaultWasmLocation } from '@danielsimonjr/mathts-core/internal';
|
|
17
12
|
/**
|
|
18
|
-
* Browser counterpart to
|
|
19
|
-
*
|
|
20
|
-
*
|
|
13
|
+
* Browser counterpart to `resolvePackagedWasm`: mirrors its Node `existsSync`
|
|
14
|
+
* walk-up, but since browsers have no filesystem, existence is probed with a
|
|
15
|
+
* `fetch(..., { method: 'HEAD' })` at each candidate URL.
|
|
21
16
|
*
|
|
22
|
-
* Root cause (2026-07-13 WASM-dead-in-browser investigation): the browser
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* 404s. `WebAssembly.instantiateStreaming`/`compile` then throws on the
|
|
31
|
-
* non-ok response, and the whole WASM tier silently fell back to JS for every
|
|
32
|
-
* browser consumer (confirmed live: `elementwiseChainDispatch` returned
|
|
33
|
-
* `null` for 65,536 elements, `wasmLoader.load()` rejected with
|
|
34
|
-
* `TypeError: HTTP status code is not ok`).
|
|
17
|
+
* Root cause (2026-07-13 WASM-dead-in-browser investigation): the browser loader
|
|
18
|
+
* previously took a SINGLE relative-URL guess — `./wasm/<file>` next to the
|
|
19
|
+
* running module. That guess is only correct when the executing module and the
|
|
20
|
+
* wasm binary are literal siblings post-bundling (tsup's single-file
|
|
21
|
+
* `dist/index.js` next to `dist/wasm/`). Any other layout — including this repo's
|
|
22
|
+
* own `*.browser.test.ts` harness, which runs directly against unbundled `src/`
|
|
23
|
+
* via Vite — resolves to a URL that 404s, so the whole WASM tier silently fell
|
|
24
|
+
* back to JS for every browser consumer.
|
|
35
25
|
*
|
|
36
26
|
* This walks up from the calling module's URL (same two relative shapes Node
|
|
37
|
-
* checks: `wasm/<file>` and `dist/wasm/<file>`) and returns the first
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* failure still points at the historically-expected location.
|
|
27
|
+
* checks: `wasm/<file>` and `dist/wasm/<file>`) and returns the first candidate
|
|
28
|
+
* that responds ok to a HEAD request. Falls back to the original single-hop guess
|
|
29
|
+
* if nothing is found within 8 levels.
|
|
41
30
|
*/
|
|
42
31
|
export declare function resolveBrowserWasm(metaUrl: string, wasmFile: string): Promise<string>;
|
|
43
|
-
/**
|
|
44
|
-
* Canonical fallback location for the packaged wasm when {@link resolvePackagedWasm}
|
|
45
|
-
* finds nothing: `<packageRoot>/dist/wasm/<wasmFile>`, with the package root found
|
|
46
|
-
* by walking up from `metaUrl` to the nearest `package.json`. This replaces the
|
|
47
|
-
* historical `../../../lib/wasm/<file>` fabrication, which was only correct for the
|
|
48
|
-
* pre-bundling source layout — from a bundled `dist/` it resolved OUTSIDE the repo
|
|
49
|
-
* (the misleading `…/Github/lib/wasm/…` ENOENTs), and `<repo-root>/lib/wasm` no
|
|
50
|
-
* longer exists in any layout (asc outputs to `assembly/build/`; package builds copy
|
|
51
|
-
* to `dist/wasm/`). The returned path is where the binary SHOULD be, so the
|
|
52
|
-
* missing-binary warning tells the user exactly what to build.
|
|
53
|
-
*
|
|
54
|
-
* In browser mode (no filesystem) it returns the bundle-relative `./wasm/<file>`
|
|
55
|
-
* URL — kept as the final fallback of {@link resolveBrowserWasm} for the
|
|
56
|
-
* genuinely-not-built case (so the resulting 404 points at the historically
|
|
57
|
-
* expected, bundle-relative location).
|
|
58
|
-
*/
|
|
59
|
-
export declare function defaultWasmLocation(metaUrl: string, wasmFile: string, opts?: {
|
|
60
|
-
browser?: boolean;
|
|
61
|
-
}): Promise<string>;
|
|
62
32
|
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/wasm/resolve.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/wasm/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/F;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB3F"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@danielsimonjr/mathts-functions",
|
|
3
|
-
"version": "0.43.
|
|
3
|
+
"version": "0.43.2",
|
|
4
4
|
"description": "Mathematical functions for MathTS - arithmetic, algebra, trigonometry, statistics, and more",
|
|
5
5
|
"author": "Daniel Simon Jr.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"build:prod": "tsup src/index.ts --format esm --clean --minify --treeshake"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@danielsimonjr/mathts-core": "^0.
|
|
38
|
-
"@danielsimonjr/mathts-expression": "^0.6.
|
|
37
|
+
"@danielsimonjr/mathts-core": "^0.13.0",
|
|
38
|
+
"@danielsimonjr/mathts-expression": "^0.6.7",
|
|
39
39
|
"@danielsimonjr/mathts-gpu": "^0.2.0",
|
|
40
|
-
"@danielsimonjr/mathts-matrix": "^0.6.
|
|
41
|
-
"@danielsimonjr/mathts-parallel": "^0.6.
|
|
40
|
+
"@danielsimonjr/mathts-matrix": "^0.6.3",
|
|
41
|
+
"@danielsimonjr/mathts-parallel": "^0.6.3",
|
|
42
42
|
"bignumber.js": "^9.1.2",
|
|
43
43
|
"complex.js": "^2.2.5",
|
|
44
44
|
"decimal.js": "^10.4.3",
|