@danielsimonjr/mathts-matrix 0.7.4 → 0.7.5
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/backends/WASMBackend.d.ts +1 -0
- package/dist/backends/WASMBackend.d.ts.map +1 -1
- package/dist/backends/WasmLoader.d.ts +26 -10
- package/dist/backends/WasmLoader.d.ts.map +1 -1
- package/dist/index.js +98 -41
- package/dist/wasm/mathts-as.wasm +0 -0
- package/dist/wasm/wasm-manifest.json +1 -1
- package/package.json +6 -6
|
@@ -77,6 +77,7 @@ export declare class WASMBackend implements MatrixBackend {
|
|
|
77
77
|
private initPromise;
|
|
78
78
|
/** Pooled allocations — see `AsAllocCache` for rationale. */
|
|
79
79
|
private allocCache;
|
|
80
|
+
private int32Cache;
|
|
80
81
|
constructor(config?: WASMBackendConfig);
|
|
81
82
|
isAvailable(): boolean;
|
|
82
83
|
initialize(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WASMBackend.d.ts","sourceRoot":"","sources":["../../src/backends/WASMBackend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"WASMBackend.d.ts","sourceRoot":"","sources":["../../src/backends/WASMBackend.ts"],"names":[],"mappings":"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"}
|
|
@@ -160,7 +160,7 @@ export interface WasmModule {
|
|
|
160
160
|
rightArithShift_i32_array?: (a: Int32Array, b: Int32Array, result: Int32Array) => void;
|
|
161
161
|
rightLogShift_i32_array?: (a: Int32Array, b: Int32Array, result: Int32Array) => void;
|
|
162
162
|
matrix_lu_decompose?: (aHdr: number, n: number, lOutHdr: number, uOutHdr: number, permOutHdr: number) => number;
|
|
163
|
-
matrix_qr_decompose?: (aHdr: number, m: number, n: number, qOutHdr: number, rOutHdr: number) => number;
|
|
163
|
+
matrix_qr_decompose?: (aHdr: number, m: number, n: number, qOutHdr: number, rOutHdr: number, vWorkHdr?: number) => number;
|
|
164
164
|
matrix_cholesky?: (aHdr: number, n: number, lOutHdr: number) => number;
|
|
165
165
|
matrix_inverse?: (aHdr: number, n: number, resultHdr: number, workHdr: number) => number;
|
|
166
166
|
matrix_determinant?: (aHdr: number, n: number, workHdr: number) => number;
|
|
@@ -268,7 +268,8 @@ export declare class WasmLoader {
|
|
|
268
268
|
*/
|
|
269
269
|
readReturnedFloat64Array(headerPtr: number): Float64Array;
|
|
270
270
|
/**
|
|
271
|
-
* Allocate
|
|
271
|
+
* Allocate a zero-filled Float64Array (for output buffers). Zeroed explicitly,
|
|
272
|
+
* since a recycled pool block still holds its previous contents.
|
|
272
273
|
*/
|
|
273
274
|
allocateFloat64ArrayEmpty(length: number): Allocation<Float64Array>;
|
|
274
275
|
/**
|
|
@@ -276,29 +277,44 @@ export declare class WasmLoader {
|
|
|
276
277
|
*/
|
|
277
278
|
allocateInt32Array(data: number[] | Int32Array): Allocation<Int32Array>;
|
|
278
279
|
/**
|
|
279
|
-
* Allocate
|
|
280
|
+
* Allocate a zero-filled Int32Array (for output buffers). Zeroed explicitly,
|
|
281
|
+
* since a recycled pool block still holds its previous contents.
|
|
280
282
|
*/
|
|
281
283
|
allocateInt32ArrayEmpty(length: number): Allocation<Int32Array>;
|
|
282
284
|
private allocateAsFloat64;
|
|
283
285
|
private allocateAsInt32;
|
|
284
286
|
private makeAsFloat64;
|
|
285
287
|
private makeAsInt32;
|
|
288
|
+
/** Record a new in-use allocation so it can be recycled once released. */
|
|
289
|
+
private track;
|
|
286
290
|
/**
|
|
287
|
-
* Find a pool entry whose data region is large enough
|
|
288
|
-
*
|
|
291
|
+
* Find a released pool entry whose data region is large enough (best fit,
|
|
292
|
+
* at most 2x the request); returns null when none is available. The entry's
|
|
293
|
+
* header `byteLength` is rewritten to the requested size, because kernels read
|
|
294
|
+
* their length from the header: a recycled larger block would otherwise make
|
|
295
|
+
* them process trailing elements the caller never wrote.
|
|
289
296
|
*/
|
|
290
297
|
private acquireFromAsPool;
|
|
298
|
+
/** The pool entry for a header pointer, searching both pools. */
|
|
299
|
+
private findEntry;
|
|
300
|
+
/** Unpin an allocation's header and its separately pinned data buffer. */
|
|
301
|
+
private unpinAllocation;
|
|
302
|
+
/** Data pointer recorded in an AS typed-array header (`dataStart`). */
|
|
303
|
+
private headerDataPtr;
|
|
291
304
|
/**
|
|
292
305
|
* Return an allocation to the pool for reuse.
|
|
293
306
|
*
|
|
294
|
-
* `isFloat64`
|
|
295
|
-
*
|
|
296
|
-
*
|
|
297
|
-
*
|
|
307
|
+
* Both pools are searched, so `isFloat64` is only a hint kept for backwards
|
|
308
|
+
* compatibility. An allocation above `poolSizeThreshold` is not pooled; it is
|
|
309
|
+
* unpinned instead (header and data buffer), which under the stub runtime
|
|
310
|
+
* leaves it allocated but at least unpinned for a GC runtime.
|
|
298
311
|
*/
|
|
299
312
|
release(ptr: number, isFloat64?: boolean): void;
|
|
300
313
|
/**
|
|
301
|
-
*
|
|
314
|
+
* Release an allocation the caller is done with. A pooled block goes back to
|
|
315
|
+
* the pool, because the stub runtime cannot reclaim it and recycling is the
|
|
316
|
+
* only way to reuse the memory; a larger block is unpinned. Same as
|
|
317
|
+
* `release()`.
|
|
302
318
|
*/
|
|
303
319
|
free(ptr: number): void;
|
|
304
320
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WasmLoader.d.ts","sourceRoot":"","sources":["../../src/backends/WasmLoader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WasmLoader.d.ts","sourceRoot":"","sources":["../../src/backends/WasmLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IAEzB,aAAa,EAAE,CACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,KACd,IAAI,CAAC;IACV,iBAAiB,EAAE,CACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,KACd,IAAI,CAAC;IACV,cAAc,EAAE,CACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,KACd,IAAI,CAAC;IACV,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpF,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChF,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAGjE,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACtE,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACzE,KAAK,EAAE,CACL,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC;IACZ,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzF,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAGrE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5D,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACtD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9D,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE,MAAM,EAAE,CACN,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,KACV,MAAM,CAAC;IACZ,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACzD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/F,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAG/E,aAAa,EAAE,CACb,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC;IACZ,cAAc,EAAE,CACd,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,KACd,MAAM,CAAC;IACZ,cAAc,EAAE,CACd,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,KACd,MAAM,CAAC;IACZ,gBAAgB,EAAE,CAChB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,KACd,MAAM,CAAC;IAGZ,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9F,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjF,cAAc,EAAE,CACd,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;IACV,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,WAAW,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,kBAAkB,EAAE,MAAM,EAC1B,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,KACd,MAAM,CAAC;IACZ,gBAAgB,EAAE,CAChB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;IAGV,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACnF,SAAS,EAAE,CACT,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;IACV,KAAK,EAAE,CACL,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,CAAC,EAAE,MAAM,KACN,IAAI,CAAC;IAGV,KAAK,EAAE,CACL,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC;IACZ,iBAAiB,EAAE,CACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,KACd,MAAM,CAAC;IACZ,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAG5F,QAAQ,EAAE,CACR,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC;IACZ,kBAAkB,EAAE,CAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,KACT,IAAI,CAAC;IACV,mBAAmB,EAAE,CACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,KACT,IAAI,CAAC;IACV,aAAa,EAAE,CACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;IAGV,UAAU,EAAE,CACV,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,KACZ,MAAM,CAAC;IACZ,eAAe,EAAE,CACf,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;IACV,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9F,YAAY,EAAE,CACZ,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;IAGV,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjG,aAAa,EAAE,CACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;IAEV,gBAAgB,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;IAGV,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACnE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5D,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACtD,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACtD,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACxE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACnE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpF,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,aAAa,EAAE,CACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,KACN,IAAI,CAAC;IAGV,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAGtD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAGlE,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAGpF,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IACvE,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/F,gBAAgB,EAAE,CAChB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,KACd,IAAI,CAAC;IACV,wBAAwB,EAAE,CACxB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,KACd,IAAI,CAAC;IACV,qBAAqB,EAAE,CACrB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,KACP,MAAM,CAAC;IAGZ,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpE,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAGjF,KAAK,EAAE,CACL,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,KACb,IAAI,CAAC;IACV,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9E,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAClG,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/D,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAGlC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9E,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAClF,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD,qBAAqB,EAAE,CACrB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,KACb,MAAM,CAAC;IACZ,QAAQ,EAAE,CACR,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,KACd,IAAI,CAAC;IACV,QAAQ,EAAE,CACR,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,KACd,IAAI,CAAC;IAQV,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtF,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtF,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5E,wBAAwB,CAAC,EAAE,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,KACX,IAAI,CAAC;IACV,8BAA8B,CAAC,EAAE,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,KACX,IAAI,CAAC;IACV,4BAA4B,CAAC,EAAE,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,KACX,IAAI,CAAC;IACV,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9E,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7E,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9E,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC/D,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACjF,yBAAyB,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACvF,uBAAuB,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IASrF,mBAAmB,CAAC,EAAE,CACpB,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,KACf,MAAM,CAAC;IACZ,mBAAmB,CAAC,EAAE,CACpB,IAAI,EAAE,MAAM,EACZ,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,KACd,MAAM,CAAC;IACZ,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACvE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACzF,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAQ1E,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;CAC5B;AAYD;;;;;;GAMG;AACH,MAAM,WAAW,UAAU,CAAC,MAAM,SAAS,YAAY,GAAG,UAAU;IAClE,gDAAgD;IAChD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAsBD;;;;;;GAMG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAClD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,WAAW,CAA+B;IAGlD,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAe;IAEjD,OAAO,eAEN;IAED,OAAc,WAAW,IAAI,UAAU,CAKtC;IAED;;OAEG;IACU,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAwBxD;IAED;;;OAGG;IACU,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCxD;YAEa,UAAU;IAyBxB;;;;;;;;;OASG;YACW,kBAAkB;YAkBlB,YAAY;YAiCZ,eAAe;IAkD7B,OAAO,CAAC,UAAU;IAclB;;OAEG;IACI,SAAS,IAAI,UAAU,GAAG,IAAI,CAEpC;IAED;;OAEG;IACI,iBAAiB,IAAI,WAAW,CAAC,MAAM,GAAG,IAAI,CAEpD;IAED;;OAEG;IACI,QAAQ,IAAI,OAAO,CAEzB;IAED;;OAEG;IACI,aAAa,IAAI,OAAO,CAE9B;IAED;;OAEG;IACI,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAEhD;IASD;;;OAGG;IACI,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAQnF;IAED;;;;;;;;;;OAUG;IACI,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,CAS/D;IAED;;;OAGG;IACI,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,YAAY,CAAC,CAOzE;IAED;;OAEG;IACI,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,CAQ7E;IAED;;;OAGG;IACI,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAOrE;IAID,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,WAAW;IAcnB,0EAA0E;IAC1E,OAAO,CAAC,KAAK;IAMb;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAuBzB,iEAAiE;IACjE,OAAO,CAAC,SAAS;IAIjB,0EAA0E;IAC1E,OAAO,CAAC,eAAe;IAMvB,uEAAuE;IACvE,OAAO,CAAC,aAAa;IAIrB;;;;;;;OAOG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,GAAG,IAAI,CAU3D;IAED;;;;;OAKG;IACI,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE7B;IAED;;OAEG;IACI,SAAS,IAAI,IAAI,CAYvB;IAED;;OAEG;IACI,YAAY,IAAI;QACrB,OAAO,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9D,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;KAC7D,CAkBA;IAED;;OAEG;IACI,OAAO,IAAI,IAAI,CAMrB;IAED;;OAEG;IACI,KAAK,IAAI,IAAI,CAMnB;CACF;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,YAA2B,CAAC;AAEnD;;GAEG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAErE"}
|
package/dist/index.js
CHANGED
|
@@ -2444,10 +2444,22 @@ function readAsInt32Array(module, alloc) {
|
|
|
2444
2444
|
const view = new Int32Array(module.memory.buffer, alloc.bufferPtr, alloc.length);
|
|
2445
2445
|
return new Int32Array(view);
|
|
2446
2446
|
}
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
module
|
|
2450
|
-
|
|
2447
|
+
var AsInt32Cache = class {
|
|
2448
|
+
free = /* @__PURE__ */ new Map();
|
|
2449
|
+
acquire(module, length) {
|
|
2450
|
+
const alloc = this.free.get(length)?.pop();
|
|
2451
|
+
if (alloc) {
|
|
2452
|
+
alloc.view = new Int32Array(module.memory.buffer, alloc.bufferPtr, length);
|
|
2453
|
+
return alloc;
|
|
2454
|
+
}
|
|
2455
|
+
return allocAsInt32Array(module, length);
|
|
2456
|
+
}
|
|
2457
|
+
release(alloc) {
|
|
2458
|
+
const pool = this.free.get(alloc.length);
|
|
2459
|
+
if (pool) pool.push(alloc);
|
|
2460
|
+
else this.free.set(alloc.length, [alloc]);
|
|
2461
|
+
}
|
|
2462
|
+
};
|
|
2451
2463
|
var DEFAULT_CONFIG = {
|
|
2452
2464
|
minElements: 100,
|
|
2453
2465
|
wasmPath: "",
|
|
@@ -2461,6 +2473,7 @@ var WASMBackend = class {
|
|
|
2461
2473
|
initPromise = null;
|
|
2462
2474
|
/** Pooled allocations — see `AsAllocCache` for rationale. */
|
|
2463
2475
|
allocCache = new AsAllocCache();
|
|
2476
|
+
int32Cache = new AsInt32Cache();
|
|
2464
2477
|
constructor(config = {}) {
|
|
2465
2478
|
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
2466
2479
|
}
|
|
@@ -2661,7 +2674,7 @@ var WASMBackend = class {
|
|
|
2661
2674
|
const aAlloc = writeAsFloat64Array(this.allocCache, mod, a.toFloat64Array());
|
|
2662
2675
|
const lAlloc = allocAsFloat64Array(this.allocCache, mod, n * n);
|
|
2663
2676
|
const uAlloc = allocAsFloat64Array(this.allocCache, mod, n * n);
|
|
2664
|
-
const permAlloc =
|
|
2677
|
+
const permAlloc = this.int32Cache.acquire(mod, n);
|
|
2665
2678
|
try {
|
|
2666
2679
|
const status = mod.matrix_lu_decompose(
|
|
2667
2680
|
aAlloc.headerPtr,
|
|
@@ -2691,7 +2704,7 @@ var WASMBackend = class {
|
|
|
2691
2704
|
this.allocCache.release(aAlloc);
|
|
2692
2705
|
this.allocCache.release(lAlloc);
|
|
2693
2706
|
this.allocCache.release(uAlloc);
|
|
2694
|
-
|
|
2707
|
+
this.int32Cache.release(permAlloc);
|
|
2695
2708
|
}
|
|
2696
2709
|
}
|
|
2697
2710
|
luDecompositionJS(a) {
|
|
@@ -2746,8 +2759,16 @@ var WASMBackend = class {
|
|
|
2746
2759
|
const aAlloc = writeAsFloat64Array(this.allocCache, mod, a.toFloat64Array());
|
|
2747
2760
|
const qAlloc = allocAsFloat64Array(this.allocCache, mod, m * m);
|
|
2748
2761
|
const rAlloc = allocAsFloat64Array(this.allocCache, mod, m * n);
|
|
2762
|
+
const vAlloc = allocAsFloat64Array(this.allocCache, mod, m);
|
|
2749
2763
|
try {
|
|
2750
|
-
mod.matrix_qr_decompose(
|
|
2764
|
+
mod.matrix_qr_decompose(
|
|
2765
|
+
aAlloc.headerPtr,
|
|
2766
|
+
m,
|
|
2767
|
+
n,
|
|
2768
|
+
qAlloc.headerPtr,
|
|
2769
|
+
rAlloc.headerPtr,
|
|
2770
|
+
vAlloc.headerPtr
|
|
2771
|
+
);
|
|
2751
2772
|
const qFlat = readAsFloat64Array(mod, qAlloc);
|
|
2752
2773
|
const rFlat = readAsFloat64Array(mod, rAlloc);
|
|
2753
2774
|
return {
|
|
@@ -2758,6 +2779,7 @@ var WASMBackend = class {
|
|
|
2758
2779
|
this.allocCache.release(aAlloc);
|
|
2759
2780
|
this.allocCache.release(qAlloc);
|
|
2760
2781
|
this.allocCache.release(rAlloc);
|
|
2782
|
+
this.allocCache.release(vAlloc);
|
|
2761
2783
|
}
|
|
2762
2784
|
}
|
|
2763
2785
|
qrDecompositionJS(a) {
|
|
@@ -2816,7 +2838,7 @@ var WASMBackend = class {
|
|
|
2816
2838
|
}
|
|
2817
2839
|
const aAlloc = writeAsFloat64Array(this.allocCache, mod, a.toFloat64Array());
|
|
2818
2840
|
const resultAlloc = allocAsFloat64Array(this.allocCache, mod, n * n);
|
|
2819
|
-
const workAlloc = allocAsFloat64Array(this.allocCache, mod, n * n);
|
|
2841
|
+
const workAlloc = allocAsFloat64Array(this.allocCache, mod, n * n + n);
|
|
2820
2842
|
try {
|
|
2821
2843
|
const status = mod.matrix_inverse(
|
|
2822
2844
|
aAlloc.headerPtr,
|
|
@@ -4278,7 +4300,14 @@ var WasmLoader = class _WasmLoader {
|
|
|
4278
4300
|
return this.loading;
|
|
4279
4301
|
}
|
|
4280
4302
|
this.loading = this.loadModule(wasmPath);
|
|
4281
|
-
|
|
4303
|
+
try {
|
|
4304
|
+
this.wasmModule = await this.loading;
|
|
4305
|
+
} catch (error) {
|
|
4306
|
+
this.compiledModule = null;
|
|
4307
|
+
throw error;
|
|
4308
|
+
} finally {
|
|
4309
|
+
this.loading = null;
|
|
4310
|
+
}
|
|
4282
4311
|
return this.wasmModule;
|
|
4283
4312
|
}
|
|
4284
4313
|
/**
|
|
@@ -4504,12 +4533,15 @@ var WasmLoader = class _WasmLoader {
|
|
|
4504
4533
|
return new Float64Array(view);
|
|
4505
4534
|
}
|
|
4506
4535
|
/**
|
|
4507
|
-
* Allocate
|
|
4536
|
+
* Allocate a zero-filled Float64Array (for output buffers). Zeroed explicitly,
|
|
4537
|
+
* since a recycled pool block still holds its previous contents.
|
|
4508
4538
|
*/
|
|
4509
4539
|
allocateFloat64ArrayEmpty(length) {
|
|
4510
4540
|
const module = this.wasmModule;
|
|
4511
4541
|
if (!module) throw new Error("WASM module not loaded");
|
|
4512
|
-
|
|
4542
|
+
const alloc = this.allocateAsFloat64(module, length);
|
|
4543
|
+
alloc.array.fill(0);
|
|
4544
|
+
return alloc;
|
|
4513
4545
|
}
|
|
4514
4546
|
/**
|
|
4515
4547
|
* Allocate Int32Array in WASM memory and copy `data` into it.
|
|
@@ -4523,18 +4555,21 @@ var WasmLoader = class _WasmLoader {
|
|
|
4523
4555
|
return alloc;
|
|
4524
4556
|
}
|
|
4525
4557
|
/**
|
|
4526
|
-
* Allocate
|
|
4558
|
+
* Allocate a zero-filled Int32Array (for output buffers). Zeroed explicitly,
|
|
4559
|
+
* since a recycled pool block still holds its previous contents.
|
|
4527
4560
|
*/
|
|
4528
4561
|
allocateInt32ArrayEmpty(length) {
|
|
4529
4562
|
const module = this.wasmModule;
|
|
4530
4563
|
if (!module) throw new Error("WASM module not loaded");
|
|
4531
|
-
|
|
4564
|
+
const alloc = this.allocateAsInt32(module, length);
|
|
4565
|
+
alloc.array.fill(0);
|
|
4566
|
+
return alloc;
|
|
4532
4567
|
}
|
|
4533
4568
|
// ---- AS managed runtime (header pointers) ------------------------------
|
|
4534
4569
|
allocateAsFloat64(module, length) {
|
|
4535
4570
|
const byteLength = length * 8;
|
|
4536
4571
|
if (byteLength <= this.poolSizeThreshold) {
|
|
4537
|
-
const recycled = this.acquireFromAsPool(this.float64Pool, byteLength);
|
|
4572
|
+
const recycled = this.acquireFromAsPool(module, this.float64Pool, byteLength);
|
|
4538
4573
|
if (recycled) {
|
|
4539
4574
|
const array = new Float64Array(module.memory.buffer, recycled.dataPtr, length);
|
|
4540
4575
|
return {
|
|
@@ -4550,7 +4585,7 @@ var WasmLoader = class _WasmLoader {
|
|
|
4550
4585
|
allocateAsInt32(module, length) {
|
|
4551
4586
|
const byteLength = length * 4;
|
|
4552
4587
|
if (byteLength <= this.poolSizeThreshold) {
|
|
4553
|
-
const recycled = this.acquireFromAsPool(this.int32Pool, byteLength);
|
|
4588
|
+
const recycled = this.acquireFromAsPool(module, this.int32Pool, byteLength);
|
|
4554
4589
|
if (recycled) {
|
|
4555
4590
|
const array = new Int32Array(module.memory.buffer, recycled.dataPtr, length);
|
|
4556
4591
|
return {
|
|
@@ -4573,6 +4608,7 @@ var WasmLoader = class _WasmLoader {
|
|
|
4573
4608
|
dv.setUint32(headerPtr + 4, bufferPtr, true);
|
|
4574
4609
|
dv.setUint32(headerPtr + 8, byteLength, true);
|
|
4575
4610
|
const array = new Float64Array(module.memory.buffer, bufferPtr, length);
|
|
4611
|
+
this.track(this.float64Pool, headerPtr, bufferPtr, byteLength);
|
|
4576
4612
|
return { ptr: headerPtr, dataPtr: bufferPtr, array, length };
|
|
4577
4613
|
}
|
|
4578
4614
|
makeAsInt32(module, length) {
|
|
@@ -4585,13 +4621,23 @@ var WasmLoader = class _WasmLoader {
|
|
|
4585
4621
|
dv.setUint32(headerPtr + 4, bufferPtr, true);
|
|
4586
4622
|
dv.setUint32(headerPtr + 8, byteLength, true);
|
|
4587
4623
|
const array = new Int32Array(module.memory.buffer, bufferPtr, length);
|
|
4624
|
+
this.track(this.int32Pool, headerPtr, bufferPtr, byteLength);
|
|
4588
4625
|
return { ptr: headerPtr, dataPtr: bufferPtr, array, length };
|
|
4589
4626
|
}
|
|
4627
|
+
/** Record a new in-use allocation so it can be recycled once released. */
|
|
4628
|
+
track(pool, ptr, dataPtr, size2) {
|
|
4629
|
+
if (size2 <= this.poolSizeThreshold) {
|
|
4630
|
+
pool.push({ ptr, dataPtr, size: size2, inUse: true });
|
|
4631
|
+
}
|
|
4632
|
+
}
|
|
4590
4633
|
/**
|
|
4591
|
-
* Find a pool entry whose data region is large enough
|
|
4592
|
-
*
|
|
4634
|
+
* Find a released pool entry whose data region is large enough (best fit,
|
|
4635
|
+
* at most 2x the request); returns null when none is available. The entry's
|
|
4636
|
+
* header `byteLength` is rewritten to the requested size, because kernels read
|
|
4637
|
+
* their length from the header: a recycled larger block would otherwise make
|
|
4638
|
+
* them process trailing elements the caller never wrote.
|
|
4593
4639
|
*/
|
|
4594
|
-
acquireFromAsPool(pool, requestedSize) {
|
|
4640
|
+
acquireFromAsPool(module, pool, requestedSize) {
|
|
4595
4641
|
let bestFit = null;
|
|
4596
4642
|
let bestFitWaste = Infinity;
|
|
4597
4643
|
for (const entry of pool) {
|
|
@@ -4603,37 +4649,53 @@ var WasmLoader = class _WasmLoader {
|
|
|
4603
4649
|
}
|
|
4604
4650
|
}
|
|
4605
4651
|
}
|
|
4606
|
-
if (bestFit)
|
|
4652
|
+
if (bestFit) {
|
|
4653
|
+
bestFit.inUse = true;
|
|
4654
|
+
new DataView(module.memory.buffer).setUint32(bestFit.ptr + 8, requestedSize, true);
|
|
4655
|
+
}
|
|
4607
4656
|
return bestFit;
|
|
4608
4657
|
}
|
|
4658
|
+
/** The pool entry for a header pointer, searching both pools. */
|
|
4659
|
+
findEntry(ptr) {
|
|
4660
|
+
return this.float64Pool.find((e) => e.ptr === ptr) ?? this.int32Pool.find((e) => e.ptr === ptr);
|
|
4661
|
+
}
|
|
4662
|
+
/** Unpin an allocation's header and its separately pinned data buffer. */
|
|
4663
|
+
unpinAllocation(module, ptr, dataPtr) {
|
|
4664
|
+
if (typeof module.__unpin !== "function") return;
|
|
4665
|
+
module.__unpin(ptr);
|
|
4666
|
+
if (dataPtr !== void 0) module.__unpin(dataPtr);
|
|
4667
|
+
}
|
|
4668
|
+
/** Data pointer recorded in an AS typed-array header (`dataStart`). */
|
|
4669
|
+
headerDataPtr(module, ptr) {
|
|
4670
|
+
return new DataView(module.memory.buffer).getUint32(ptr + 4, true);
|
|
4671
|
+
}
|
|
4609
4672
|
/**
|
|
4610
4673
|
* Return an allocation to the pool for reuse.
|
|
4611
4674
|
*
|
|
4612
|
-
* `isFloat64`
|
|
4613
|
-
*
|
|
4614
|
-
*
|
|
4615
|
-
*
|
|
4675
|
+
* Both pools are searched, so `isFloat64` is only a hint kept for backwards
|
|
4676
|
+
* compatibility. An allocation above `poolSizeThreshold` is not pooled; it is
|
|
4677
|
+
* unpinned instead (header and data buffer), which under the stub runtime
|
|
4678
|
+
* leaves it allocated but at least unpinned for a GC runtime.
|
|
4616
4679
|
*/
|
|
4617
4680
|
release(ptr, isFloat64 = true) {
|
|
4618
|
-
|
|
4619
|
-
const entry =
|
|
4681
|
+
void isFloat64;
|
|
4682
|
+
const entry = this.findEntry(ptr);
|
|
4620
4683
|
if (entry) {
|
|
4621
4684
|
entry.inUse = false;
|
|
4622
4685
|
return;
|
|
4623
4686
|
}
|
|
4624
|
-
this.
|
|
4687
|
+
const module = this.wasmModule;
|
|
4688
|
+
if (!module) return;
|
|
4689
|
+
this.unpinAllocation(module, ptr, this.headerDataPtr(module, ptr));
|
|
4625
4690
|
}
|
|
4626
4691
|
/**
|
|
4627
|
-
*
|
|
4692
|
+
* Release an allocation the caller is done with. A pooled block goes back to
|
|
4693
|
+
* the pool, because the stub runtime cannot reclaim it and recycling is the
|
|
4694
|
+
* only way to reuse the memory; a larger block is unpinned. Same as
|
|
4695
|
+
* `release()`.
|
|
4628
4696
|
*/
|
|
4629
4697
|
free(ptr) {
|
|
4630
|
-
|
|
4631
|
-
if (!module) return;
|
|
4632
|
-
this.float64Pool = this.float64Pool.filter((e) => e.ptr !== ptr);
|
|
4633
|
-
this.int32Pool = this.int32Pool.filter((e) => e.ptr !== ptr);
|
|
4634
|
-
if (typeof module.__unpin === "function") {
|
|
4635
|
-
module.__unpin(ptr);
|
|
4636
|
-
}
|
|
4698
|
+
this.release(ptr);
|
|
4637
4699
|
}
|
|
4638
4700
|
/**
|
|
4639
4701
|
* Clear the memory pool
|
|
@@ -4641,13 +4703,8 @@ var WasmLoader = class _WasmLoader {
|
|
|
4641
4703
|
clearPool() {
|
|
4642
4704
|
const module = this.wasmModule;
|
|
4643
4705
|
if (!module) return;
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
module.__unpin(entry.ptr);
|
|
4647
|
-
}
|
|
4648
|
-
for (const entry of this.int32Pool) {
|
|
4649
|
-
module.__unpin(entry.ptr);
|
|
4650
|
-
}
|
|
4706
|
+
for (const entry of [...this.float64Pool, ...this.int32Pool]) {
|
|
4707
|
+
if (!entry.inUse) this.unpinAllocation(module, entry.ptr, entry.dataPtr);
|
|
4651
4708
|
}
|
|
4652
4709
|
this.float64Pool = [];
|
|
4653
4710
|
this.int32Pool = [];
|
package/dist/wasm/mathts-as.wasm
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@danielsimonjr/mathts-matrix",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.5",
|
|
4
4
|
"description": "Matrix operations for MathTS with WASM/WebGPU backend support",
|
|
5
5
|
"author": "Daniel Simon Jr.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,20 +21,20 @@
|
|
|
21
21
|
"scripts": {
|
|
22
22
|
"build": "tsup src/index.ts --format esm --clean && tsc -p tsconfig.dts.json && node scripts/copy-wasm.mjs",
|
|
23
23
|
"copy:wasm": "node scripts/copy-wasm.mjs",
|
|
24
|
-
"dev": "tsup src/index.ts --format esm --
|
|
24
|
+
"dev": "tsup src/index.ts --format esm --watch --onSuccess \"tsc -p tsconfig.dts.json && node scripts/copy-wasm.mjs\"",
|
|
25
25
|
"test": "bun test --isolate --timeout 30000",
|
|
26
26
|
"test:watch": "vitest",
|
|
27
27
|
"test:coverage": "bun test --isolate --timeout 30000 --coverage",
|
|
28
|
-
"typecheck": "tsc --noEmit",
|
|
28
|
+
"typecheck": "tsc --noEmit && tsc -p tsconfig.test.json",
|
|
29
29
|
"lint": "oxlint src",
|
|
30
30
|
"lint:fix": "oxlint src --fix",
|
|
31
31
|
"clean": "rm -rf dist",
|
|
32
|
-
"build:prod": "tsup src/index.ts --format esm --
|
|
32
|
+
"build:prod": "tsup src/index.ts --format esm --clean --minify --treeshake && tsc -p tsconfig.dts.json && node scripts/copy-wasm.mjs"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@danielsimonjr/mathts-core": "^0.15.
|
|
35
|
+
"@danielsimonjr/mathts-core": "^0.15.5",
|
|
36
36
|
"@danielsimonjr/mathts-gpu": "^0.2.1",
|
|
37
|
-
"@danielsimonjr/mathts-parallel": "^0.6.
|
|
37
|
+
"@danielsimonjr/mathts-parallel": "^0.6.7"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^26.4.0",
|