@vessel-dsp/runtime 0.3.1 → 0.4.1
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/README.md +7 -3
- package/dist/reference-runtime.d.ts +223 -5
- package/dist/reference-runtime.d.ts.map +1 -1
- package/dist/reference-runtime.js +669 -107
- package/dist/reference-runtime.js.map +1 -1
- package/dist/resample.d.ts +68 -0
- package/dist/resample.d.ts.map +1 -0
- package/dist/resample.js +204 -0
- package/dist/resample.js.map +1 -0
- package/dist/v2-wasm-engine.d.ts +32 -0
- package/dist/v2-wasm-engine.d.ts.map +1 -1
- package/dist/v2-wasm-engine.js +49 -1
- package/dist/v2-wasm-engine.js.map +1 -1
- package/dist/wasm/v2_dsp.cjs +1 -1
- package/dist/wasm/v2_dsp.wasm +0 -0
- package/dist/worklet/v2-audio-worklet.js +720 -101
- package/package.json +2 -2
- package/dist/numeric-pivot.d.ts +0 -4
- package/dist/numeric-pivot.d.ts.map +0 -1
- package/dist/numeric-pivot.js +0 -192
- package/dist/numeric-pivot.js.map +0 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-2x-stage half-band prototype specs as [taps, Kaiser beta], oldest
|
|
3
|
+
* (host-rate) stage first. Taps are 1 mod 4 (center on an even index).
|
|
4
|
+
* Stage 1 keeps the sharp audio-band transition (41 taps, -61 dB stopband);
|
|
5
|
+
* stages 2-3 are sized from their folding analysis (see the module comment).
|
|
6
|
+
*/
|
|
7
|
+
export declare const RESAMPLE_STAGE_SPECS: readonly (readonly [taps: number, beta: number])[];
|
|
8
|
+
/**
|
|
9
|
+
* The spec for 2x stage `index` (0 = host-rate stage). Stages past the table
|
|
10
|
+
* (oversample 16 and above, 768 kHz and up) reuse the last entry: the fold
|
|
11
|
+
* analysis only gets easier as the rate rises, so the leanest stage stays
|
|
12
|
+
* sufficient and any power-of-two factor keeps working.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resampleStageSpec(index: number): readonly [taps: number, beta: number];
|
|
15
|
+
/** Kaiser beta for the default prototype stopband. Exported so tests can deliberately
|
|
16
|
+
* design a worse prototype for the failing control. */
|
|
17
|
+
export declare const RESAMPLE_KAISER_BETA = 8.3;
|
|
18
|
+
/**
|
|
19
|
+
* Half-band lowpass prototype at gain 1: cutoff 0.25 cycles/sample, center
|
|
20
|
+
* tap exactly 0.5, even taps exactly 0, odd taps normalized to sum to 0.5.
|
|
21
|
+
*/
|
|
22
|
+
export declare function designHalfBand2x(taps?: number, beta?: number): Float64Array;
|
|
23
|
+
/**
|
|
24
|
+
* One bidirectional 2x half-band stage. Two instances in series make 4x;
|
|
25
|
+
* three make 8x. The up direction interpolates (gain 2: even outputs are the
|
|
26
|
+
* delayed input, odd outputs use the odd taps at gain 2); the down direction
|
|
27
|
+
* decimates (gain 1). Histories are newest-first; arithmetic order is fixed,
|
|
28
|
+
* so block splits cannot change the output.
|
|
29
|
+
*/
|
|
30
|
+
export declare class HalfBandStage2x {
|
|
31
|
+
private readonly odd;
|
|
32
|
+
/** Input samples of history behind the even (passthrough) output. */
|
|
33
|
+
private readonly upDelay;
|
|
34
|
+
/** Group delay in high-rate samples, each direction. */
|
|
35
|
+
readonly delayHighRate: number;
|
|
36
|
+
private readonly histUp;
|
|
37
|
+
private readonly histDown;
|
|
38
|
+
constructor(prototype: Float64Array);
|
|
39
|
+
/** Zero both histories. */
|
|
40
|
+
reset(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Interpolate one input sample into two: `out[at]` is the delayed input
|
|
43
|
+
* itself (bit-exact, coefficient 1), `out[at+1]` the filtered midpoint.
|
|
44
|
+
*/
|
|
45
|
+
interpolate(x: number, out: Float64Array, at: number): void;
|
|
46
|
+
/**
|
|
47
|
+
* Decimate a consecutive pair (`first` older, `second` newer) to one
|
|
48
|
+
* sample at gain 1.
|
|
49
|
+
*/
|
|
50
|
+
decimate(first: number, second: number): number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Total resampler group delay in host samples for a cascade of `stages`
|
|
54
|
+
* 2x stages (up and down around the solver), using `RESAMPLE_STAGE_SPECS`.
|
|
55
|
+
*
|
|
56
|
+
* Each up-stage delays by exactly C high-rate samples (the even outputs are
|
|
57
|
+
* the input delayed by C/2 input samples = C output samples, and the odd-tap
|
|
58
|
+
* midpoints are symmetric about the same center). Each down-stage delays by
|
|
59
|
+
* C-1 of its own high-rate samples: `decimate(first, second)` consumes the
|
|
60
|
+
* pair with `second` newest, i.e. it decimates the stream advanced by one
|
|
61
|
+
* sample, which pulls the center one sample earlier. So stage s (high rate
|
|
62
|
+
* 2^s per host sample, center C_s) contributes (2C_s-1)/2^s host samples:
|
|
63
|
+
* 19.5 / 26.25 / 28.625 at 2x/4x/8x. Verified against an impulse centroid
|
|
64
|
+
* (os2: 19.5, os4: 26.2, os8: 28.6) and a multi-frequency phase slope, not
|
|
65
|
+
* just derived.
|
|
66
|
+
*/
|
|
67
|
+
export declare function cascadeLatencyHostSamples(stages: number): number;
|
|
68
|
+
//# sourceMappingURL=resample.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resample.d.ts","sourceRoot":"","sources":["../src/resample.ts"],"names":[],"mappings":"AA+BA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAIlF,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAEtF;AAED;uDACuD;AACvD,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAexC;;;GAGG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,GAAE,MAAW,EACjB,IAAI,GAAE,MAA6B,GACjC,YAAY,CA+Bd;AAED;;;;;;GAMG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,wDAAwD;IACxD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;gBAE5B,SAAS,EAAE,YAAY;IAsBnC,2BAA2B;IAC3B,KAAK,IAAI,IAAI;IAKb;;;OAGG;IACH,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAc3D;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;CAY/C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAUhE"}
|
package/dist/resample.js
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
// Band-limited half-band resampling for solver oversampling.
|
|
2
|
+
//
|
|
3
|
+
// The solver integrates trapezoidally, which warps frequency; solving at
|
|
4
|
+
// rate*N reduces the warp, but the old path held each host sample flat across
|
|
5
|
+
// the N sub-samples (zero-order hold) and kept the last sub-sample, leaving the
|
|
6
|
+
// hold's own sinc droop on the way in and most of the aliasing on the way out.
|
|
7
|
+
// These stages replace both ends: polyphase half-band FIR interpolation on the
|
|
8
|
+
// way in and FIR decimation on the way out, one 2x stage each, cascaded for
|
|
9
|
+
// 4x and 8x.
|
|
10
|
+
//
|
|
11
|
+
// Design: windowed-sinc (Kaiser) half-band prototypes with cutoff at a quarter
|
|
12
|
+
// of each stage's high rate, odd length L = 1 mod 4 so the center tap sits on an
|
|
13
|
+
// even index. The window preserves the ideal response's exact even-tap zeros,
|
|
14
|
+
// so the even sub-samples carry the delayed input bit-exactly and only the
|
|
15
|
+
// odd taps do arithmetic. The coefficients are a function of the stage only,
|
|
16
|
+
// never of the circuit: `designHalfBand2x` takes just the tap count and beta,
|
|
17
|
+
// and `RESAMPLE_STAGE_SPECS` fixes one pair per 2x stage. Only the first stage
|
|
18
|
+
// (48 -> 96 kHz) needs the sharp 19.2-28.8 kHz transition; later stages work
|
|
19
|
+
// where the absolute transition is wider (their stopband needs are sized from
|
|
20
|
+
// what folds where: 192 -> 96 kHz folds [48k, 96k] into [0, 48k], and content
|
|
21
|
+
// landing in the host baseband comes from [72k, 96k]; 384 -> 192 kHz folds
|
|
22
|
+
// [96k, 192k] similarly), so far fewer taps suffice there. See
|
|
23
|
+
// docs/spikes/2026-10-09-resampler-latency.md for the measurement that sizes
|
|
24
|
+
// each stage (latency 19.5 / 26.25 / 28.625 host samples at 2x/4x/8x).
|
|
25
|
+
//
|
|
26
|
+
// Streaming and state: each stage owns fixed-size histories; `prepare()` builds
|
|
27
|
+
// fresh stages and `reset()` zeroes the histories, so any block split of
|
|
28
|
+
// `process()` gives bit-identical output to one long call. DC gain is 1 by
|
|
29
|
+
// construction (odd taps normalized to sum exactly 1/2); group delay is
|
|
30
|
+
// exactly (L-1)/2 high-rate samples per direction per stage.
|
|
31
|
+
/**
|
|
32
|
+
* Per-2x-stage half-band prototype specs as [taps, Kaiser beta], oldest
|
|
33
|
+
* (host-rate) stage first. Taps are 1 mod 4 (center on an even index).
|
|
34
|
+
* Stage 1 keeps the sharp audio-band transition (41 taps, -61 dB stopband);
|
|
35
|
+
* stages 2-3 are sized from their folding analysis (see the module comment).
|
|
36
|
+
*/
|
|
37
|
+
export const RESAMPLE_STAGE_SPECS = [
|
|
38
|
+
[41, 6.0],
|
|
39
|
+
[29, 7.0],
|
|
40
|
+
[21, 6.0],
|
|
41
|
+
];
|
|
42
|
+
/**
|
|
43
|
+
* The spec for 2x stage `index` (0 = host-rate stage). Stages past the table
|
|
44
|
+
* (oversample 16 and above, 768 kHz and up) reuse the last entry: the fold
|
|
45
|
+
* analysis only gets easier as the rate rises, so the leanest stage stays
|
|
46
|
+
* sufficient and any power-of-two factor keeps working.
|
|
47
|
+
*/
|
|
48
|
+
export function resampleStageSpec(index) {
|
|
49
|
+
return RESAMPLE_STAGE_SPECS[Math.min(index, RESAMPLE_STAGE_SPECS.length - 1)];
|
|
50
|
+
}
|
|
51
|
+
/** Kaiser beta for the default prototype stopband. Exported so tests can deliberately
|
|
52
|
+
* design a worse prototype for the failing control. */
|
|
53
|
+
export const RESAMPLE_KAISER_BETA = 8.3;
|
|
54
|
+
/** Modified Bessel function I0, needed by the Kaiser window. */
|
|
55
|
+
function besselI0(x) {
|
|
56
|
+
let sum = 1;
|
|
57
|
+
let term = 1;
|
|
58
|
+
const half = (x * x) / 4;
|
|
59
|
+
for (let k = 1; k <= 32; k += 1) {
|
|
60
|
+
term *= half / (k * k);
|
|
61
|
+
sum += term;
|
|
62
|
+
if (term < 1e-17 * sum)
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
return sum;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Half-band lowpass prototype at gain 1: cutoff 0.25 cycles/sample, center
|
|
69
|
+
* tap exactly 0.5, even taps exactly 0, odd taps normalized to sum to 0.5.
|
|
70
|
+
*/
|
|
71
|
+
export function designHalfBand2x(taps = 57, beta = RESAMPLE_KAISER_BETA) {
|
|
72
|
+
if (!Number.isInteger(taps) || taps < 9 || taps % 4 !== 1) {
|
|
73
|
+
throw new Error(`half-band prototype needs an odd tap count of 1 mod 4 (got ${String(taps)})`);
|
|
74
|
+
}
|
|
75
|
+
const center = (taps - 1) / 2;
|
|
76
|
+
const denom = besselI0(beta);
|
|
77
|
+
const out = new Float64Array(taps);
|
|
78
|
+
for (let i = 0; i < taps; i += 1) {
|
|
79
|
+
const d = i - center;
|
|
80
|
+
const r = d / center;
|
|
81
|
+
const window = besselI0(beta * Math.sqrt(Math.max(0, 1 - r * r))) / denom;
|
|
82
|
+
if (d === 0) {
|
|
83
|
+
out[i] = 0.5;
|
|
84
|
+
}
|
|
85
|
+
else if (d % 2 === 0) {
|
|
86
|
+
// The ideal response is exactly zero at even offsets and the
|
|
87
|
+
// window preserves that, so these are exact zeros, not rounded ones.
|
|
88
|
+
out[i] = 0;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
out[i] = (window * Math.sin((Math.PI * d) / 2)) / (Math.PI * d);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// Normalize the odd taps to sum to exactly 1/2, so the full filter sums
|
|
95
|
+
// to exactly 1 (DC gain 1) with the center tap untouched at 0.5.
|
|
96
|
+
let oddSum = 0;
|
|
97
|
+
for (let i = 1; i < taps; i += 2)
|
|
98
|
+
oddSum += out[i];
|
|
99
|
+
const scale = 0.5 / oddSum;
|
|
100
|
+
for (let i = 1; i < taps; i += 2)
|
|
101
|
+
out[i] = out[i] * scale;
|
|
102
|
+
out[center] = 0.5;
|
|
103
|
+
return out;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* One bidirectional 2x half-band stage. Two instances in series make 4x;
|
|
107
|
+
* three make 8x. The up direction interpolates (gain 2: even outputs are the
|
|
108
|
+
* delayed input, odd outputs use the odd taps at gain 2); the down direction
|
|
109
|
+
* decimates (gain 1). Histories are newest-first; arithmetic order is fixed,
|
|
110
|
+
* so block splits cannot change the output.
|
|
111
|
+
*/
|
|
112
|
+
export class HalfBandStage2x {
|
|
113
|
+
odd;
|
|
114
|
+
/** Input samples of history behind the even (passthrough) output. */
|
|
115
|
+
upDelay;
|
|
116
|
+
/** Group delay in high-rate samples, each direction. */
|
|
117
|
+
delayHighRate;
|
|
118
|
+
histUp;
|
|
119
|
+
histDown;
|
|
120
|
+
constructor(prototype) {
|
|
121
|
+
const taps = prototype.length;
|
|
122
|
+
if (taps % 4 !== 1 || taps < 9) {
|
|
123
|
+
throw new Error(`half-band stage needs a 1-mod-4 prototype (got ${taps})`);
|
|
124
|
+
}
|
|
125
|
+
const center = (taps - 1) / 2;
|
|
126
|
+
if (prototype[center] !== 0.5) {
|
|
127
|
+
throw new Error("half-band prototype center tap must be exactly 0.5");
|
|
128
|
+
}
|
|
129
|
+
const oddCount = (taps - 1) / 2;
|
|
130
|
+
const odd = new Float64Array(oddCount);
|
|
131
|
+
for (let j = 0; j < oddCount; j += 1)
|
|
132
|
+
odd[j] = prototype[2 * j + 1];
|
|
133
|
+
this.odd = odd;
|
|
134
|
+
this.upDelay = center / 2;
|
|
135
|
+
this.delayHighRate = center;
|
|
136
|
+
this.histUp = new Float64Array(oddCount);
|
|
137
|
+
this.histDown = new Float64Array(taps);
|
|
138
|
+
}
|
|
139
|
+
/** Zero both histories. */
|
|
140
|
+
reset() {
|
|
141
|
+
this.histUp.fill(0);
|
|
142
|
+
this.histDown.fill(0);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Interpolate one input sample into two: `out[at]` is the delayed input
|
|
146
|
+
* itself (bit-exact, coefficient 1), `out[at+1]` the filtered midpoint.
|
|
147
|
+
*/
|
|
148
|
+
interpolate(x, out, at) {
|
|
149
|
+
this.histUp.copyWithin(1, 0, this.histUp.length - 1);
|
|
150
|
+
this.histUp[0] = x;
|
|
151
|
+
out[at] = this.histUp[this.upDelay];
|
|
152
|
+
// Gain 2 compensates the zero-stuff: odd taps sum to 1/2, so this
|
|
153
|
+
// sums to 1 on DC.
|
|
154
|
+
let mid = 0;
|
|
155
|
+
const odd = this.odd;
|
|
156
|
+
for (let j = 0; j < odd.length; j += 1) {
|
|
157
|
+
mid += odd[j] * this.histUp[j];
|
|
158
|
+
}
|
|
159
|
+
out[at + 1] = 2 * mid;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Decimate a consecutive pair (`first` older, `second` newer) to one
|
|
163
|
+
* sample at gain 1.
|
|
164
|
+
*/
|
|
165
|
+
decimate(first, second) {
|
|
166
|
+
this.histDown.copyWithin(2, 0, this.histDown.length - 2);
|
|
167
|
+
this.histDown[0] = second;
|
|
168
|
+
this.histDown[1] = first;
|
|
169
|
+
// Even taps are exact zeros except the center at 0.5.
|
|
170
|
+
let acc = 0.5 * this.histDown[this.delayHighRate];
|
|
171
|
+
const odd = this.odd;
|
|
172
|
+
for (let j = 0; j < odd.length; j += 1) {
|
|
173
|
+
acc += odd[j] * this.histDown[2 * j + 1];
|
|
174
|
+
}
|
|
175
|
+
return acc;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Total resampler group delay in host samples for a cascade of `stages`
|
|
180
|
+
* 2x stages (up and down around the solver), using `RESAMPLE_STAGE_SPECS`.
|
|
181
|
+
*
|
|
182
|
+
* Each up-stage delays by exactly C high-rate samples (the even outputs are
|
|
183
|
+
* the input delayed by C/2 input samples = C output samples, and the odd-tap
|
|
184
|
+
* midpoints are symmetric about the same center). Each down-stage delays by
|
|
185
|
+
* C-1 of its own high-rate samples: `decimate(first, second)` consumes the
|
|
186
|
+
* pair with `second` newest, i.e. it decimates the stream advanced by one
|
|
187
|
+
* sample, which pulls the center one sample earlier. So stage s (high rate
|
|
188
|
+
* 2^s per host sample, center C_s) contributes (2C_s-1)/2^s host samples:
|
|
189
|
+
* 19.5 / 26.25 / 28.625 at 2x/4x/8x. Verified against an impulse centroid
|
|
190
|
+
* (os2: 19.5, os4: 26.2, os8: 28.6) and a multi-frequency phase slope, not
|
|
191
|
+
* just derived.
|
|
192
|
+
*/
|
|
193
|
+
export function cascadeLatencyHostSamples(stages) {
|
|
194
|
+
if (!Number.isInteger(stages) || stages < 1) {
|
|
195
|
+
throw new Error(`resampler cascade needs a positive integer stage count (got ${String(stages)})`);
|
|
196
|
+
}
|
|
197
|
+
let total = 0;
|
|
198
|
+
for (let s = 0; s < stages; s += 1) {
|
|
199
|
+
const center = (resampleStageSpec(s)[0] - 1) / 2;
|
|
200
|
+
total += (2 * center - 1) / 2 ** (s + 1);
|
|
201
|
+
}
|
|
202
|
+
return total;
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=resample.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resample.js","sourceRoot":"","sources":["../src/resample.ts"],"names":[],"mappings":"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"}
|
package/dist/v2-wasm-engine.d.ts
CHANGED
|
@@ -31,7 +31,22 @@ export declare class V2WasmEngine {
|
|
|
31
31
|
sampleRate?: number;
|
|
32
32
|
maxNewtonIterations?: number;
|
|
33
33
|
inputSourceOhms?: number;
|
|
34
|
+
oversample?: number;
|
|
34
35
|
}): void;
|
|
36
|
+
/**
|
|
37
|
+
* The rate `prepare` was called with (the host rate), as opposed to the
|
|
38
|
+
* solver's sub-sample rate -- the same name and semantics as
|
|
39
|
+
* `ReferenceRuntime.hostSampleRate()`, including `null` before
|
|
40
|
+
* `prepare()`.
|
|
41
|
+
*/
|
|
42
|
+
hostSampleRate(): number | null;
|
|
43
|
+
/**
|
|
44
|
+
* The resampler's total group delay in **host** samples -- the same name
|
|
45
|
+
* and semantics as `ReferenceRuntime.oversampleLatency()`, including
|
|
46
|
+
* `null` before `prepare()` and 0 on the held path (factor 1 or a factor
|
|
47
|
+
* that is not a power of two).
|
|
48
|
+
*/
|
|
49
|
+
oversampleLatency(): number | null;
|
|
35
50
|
reset(): void;
|
|
36
51
|
setControl(controlId: string, position: number): void;
|
|
37
52
|
getControl(controlId: string): number;
|
|
@@ -79,6 +94,23 @@ export declare class V2WasmEngine {
|
|
|
79
94
|
* A healthy packet reads `fallbacks === 0` and `abandonedBlocks === 0`. Anything else is a
|
|
80
95
|
* cost defect even though the audio is correct.
|
|
81
96
|
*/
|
|
97
|
+
/**
|
|
98
|
+
* Newton start predictor telemetry, the console-side mirror of the reference's
|
|
99
|
+
* `newtonStartHistory` decisions: `seedsUsed` counts standard-pass solves that started
|
|
100
|
+
* from an extrapolated solution (order > 0), `oneIterationSolves` those that converged in
|
|
101
|
+
* exactly one iteration -- the saving itself, attributable on the shipping console.
|
|
102
|
+
* Counted since `prepare()`/`reset()`; both stay 0 at `oversample` 1, where the predictor
|
|
103
|
+
* does not run. `predictorOrder(blockIdx)` reads the order the
|
|
104
|
+
* block's next solve will seed from (0 = previous solution, 1 = linear, 2 = quadratic;
|
|
105
|
+
* -1 for a bad index), so a decision can be compared against the reference per sample.
|
|
106
|
+
*/
|
|
107
|
+
getPredictorTelemetry(): {
|
|
108
|
+
readonly seedsUsed: number;
|
|
109
|
+
readonly oneIterationSolves: number;
|
|
110
|
+
/** Newton iterations over every block solve since prepare/reset (the reference's `totalIterations`). */
|
|
111
|
+
readonly totalIterations: number;
|
|
112
|
+
};
|
|
113
|
+
getPredictorOrder(blockIdx: number): number;
|
|
82
114
|
getScheduleTelemetry(): {
|
|
83
115
|
readonly solves: number;
|
|
84
116
|
readonly fallbacks: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-wasm-engine.d.ts","sourceRoot":"","sources":["../src/v2-wasm-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAK1D,wBAAsB,eAAe,iBAQpC;AAED,qBAAa,YAAY;IAExB,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,eAAe,CAA6B;IACpD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO;IAKP;;;;;OAKG;WAEiB,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAaxE,OAAO,IAAI,IAAI;IAOf,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAiBnC,OAAO,
|
|
1
|
+
{"version":3,"file":"v2-wasm-engine.d.ts","sourceRoot":"","sources":["../src/v2-wasm-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAK1D,wBAAsB,eAAe,iBAQpC;AAED,qBAAa,YAAY;IAExB,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,eAAe,CAA6B;IACpD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAwB;IAEvC,OAAO;IAKP;;;;;OAKG;WAEiB,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC;IAaxE,OAAO,IAAI,IAAI;IAOf,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAiBnC,OAAO,CACb,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAChH,IAAI;IAmBP;;;;;OAKG;IACI,cAAc,IAAI,MAAM,GAAG,IAAI;IAKtC;;;;;OAKG;IACI,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAKlC,KAAK,IAAI,IAAI;IAIb,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQrD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAS5C;;;;;;OAMG;IACI,WAAW,IAAI,SAAS,UAAU,EAAE;IAmB3C;;;;;;;;;;;OAWG;IACI,SAAS,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IA+FvF,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIpC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAsB7D,qBAAqB,IAAI,MAAM;IAI/B,gBAAgB,IAAI,OAAO;IAI3B,gBAAgB,IAAI,MAAM;IAI1B,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAI7D,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIzD,YAAY,IAAI,MAAM;IAK7B;;;;;;;;;;;;;;OAcG;IACH;;;;;;;;;OASG;IACI,qBAAqB,IAAI;QAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;QACpC,wGAAwG;QACxG,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;KACjC;IAQM,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI3C,oBAAoB,IAAI;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;KAC/B;CAUD"}
|
package/dist/v2-wasm-engine.js
CHANGED
|
@@ -80,7 +80,35 @@ export class V2WasmEngine {
|
|
|
80
80
|
// here made every bun-hosted probe cap-conditioned against the shipping console.
|
|
81
81
|
const maxIters = options.maxNewtonIterations ?? DEFAULT_NEWTON_MAX_ITERATIONS;
|
|
82
82
|
const inputOhms = options.inputSourceOhms ?? 0.0;
|
|
83
|
-
|
|
83
|
+
// The oversample factor is a property of the host: validated exactly
|
|
84
|
+
// like `ReferenceRuntime.prepare` (floor, floor of 1, non-finite
|
|
85
|
+
// refused with the same message), then passed to the native `prepare`
|
|
86
|
+
// whose signature takes it explicitly -- there is no second export.
|
|
87
|
+
const oversample = Math.max(1, Math.floor(options.oversample ?? 1));
|
|
88
|
+
if (!Number.isFinite(oversample)) {
|
|
89
|
+
throw new RuntimeError(`oversample must be a finite integer of at least 1, got ${String(options.oversample)}`);
|
|
90
|
+
}
|
|
91
|
+
this.mod._v2_engine_prepare(this.handle, sr, maxIters, inputOhms, oversample);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The rate `prepare` was called with (the host rate), as opposed to the
|
|
95
|
+
* solver's sub-sample rate -- the same name and semantics as
|
|
96
|
+
* `ReferenceRuntime.hostSampleRate()`, including `null` before
|
|
97
|
+
* `prepare()`.
|
|
98
|
+
*/
|
|
99
|
+
hostSampleRate() {
|
|
100
|
+
const value = this.mod._v2_engine_get_host_sample_rate(this.handle);
|
|
101
|
+
return value < 0 ? null : value;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* The resampler's total group delay in **host** samples -- the same name
|
|
105
|
+
* and semantics as `ReferenceRuntime.oversampleLatency()`, including
|
|
106
|
+
* `null` before `prepare()` and 0 on the held path (factor 1 or a factor
|
|
107
|
+
* that is not a power of two).
|
|
108
|
+
*/
|
|
109
|
+
oversampleLatency() {
|
|
110
|
+
const value = this.mod._v2_engine_get_oversample_latency(this.handle);
|
|
111
|
+
return value < 0 ? null : value;
|
|
84
112
|
}
|
|
85
113
|
reset() {
|
|
86
114
|
this.mod._v2_engine_reset(this.handle);
|
|
@@ -284,6 +312,26 @@ export class V2WasmEngine {
|
|
|
284
312
|
* A healthy packet reads `fallbacks === 0` and `abandonedBlocks === 0`. Anything else is a
|
|
285
313
|
* cost defect even though the audio is correct.
|
|
286
314
|
*/
|
|
315
|
+
/**
|
|
316
|
+
* Newton start predictor telemetry, the console-side mirror of the reference's
|
|
317
|
+
* `newtonStartHistory` decisions: `seedsUsed` counts standard-pass solves that started
|
|
318
|
+
* from an extrapolated solution (order > 0), `oneIterationSolves` those that converged in
|
|
319
|
+
* exactly one iteration -- the saving itself, attributable on the shipping console.
|
|
320
|
+
* Counted since `prepare()`/`reset()`; both stay 0 at `oversample` 1, where the predictor
|
|
321
|
+
* does not run. `predictorOrder(blockIdx)` reads the order the
|
|
322
|
+
* block's next solve will seed from (0 = previous solution, 1 = linear, 2 = quadratic;
|
|
323
|
+
* -1 for a bad index), so a decision can be compared against the reference per sample.
|
|
324
|
+
*/
|
|
325
|
+
getPredictorTelemetry() {
|
|
326
|
+
return {
|
|
327
|
+
seedsUsed: this.mod._v2_engine_get_predictor_seeds(this.handle),
|
|
328
|
+
oneIterationSolves: this.mod._v2_engine_get_one_iteration_solves(this.handle),
|
|
329
|
+
totalIterations: this.mod._v2_engine_get_total_iterations(this.handle),
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
getPredictorOrder(blockIdx) {
|
|
333
|
+
return this.mod._v2_engine_get_predictor_order(this.handle, blockIdx);
|
|
334
|
+
}
|
|
287
335
|
getScheduleTelemetry() {
|
|
288
336
|
return {
|
|
289
337
|
solves: this.mod._v2_engine_get_schedule_solves(this.handle),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2-wasm-engine.js","sourceRoot":"","sources":["../src/v2-wasm-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"v2-wasm-engine.js","sourceRoot":"","sources":["../src/v2-wasm-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/wasm/v2_dsp.cjs
CHANGED
|
@@ -6,7 +6,7 @@ var createV2DspModule = (() => {
|
|
|
6
6
|
function(moduleArg = {}) {
|
|
7
7
|
var moduleRtn;
|
|
8
8
|
|
|
9
|
-
var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";if(runtimeInitialized){___trap()}var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="v2_dsp.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["d"];updateMemoryViews();addOnInit(wasmExports["e"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);receiveInstantiationResult(result);return result}catch(e){readyPromiseReject(e);return}}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var __abort_js=()=>abort("");var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var wasmImports={a:__abort_js,c:__emscripten_memcpy_js,b:_emscripten_resize_heap};var wasmExports;createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["e"])();var _v2_engine_create=Module["_v2_engine_create"]=()=>(_v2_engine_create=Module["_v2_engine_create"]=wasmExports["g"])();var _v2_engine_destroy=Module["_v2_engine_destroy"]=a0=>(_v2_engine_destroy=Module["_v2_engine_destroy"]=wasmExports["h"])(a0);var _v2_engine_load_json=Module["_v2_engine_load_json"]=(a0,a1)=>(_v2_engine_load_json=Module["_v2_engine_load_json"]=wasmExports["i"])(a0,a1);var _v2_engine_prepare=Module["_v2_engine_prepare"]=(a0,a1,a2,a3)=>(_v2_engine_prepare=Module["_v2_engine_prepare"]=wasmExports["j"])(a0,a1,a2,a3);var _v2_engine_reset=Module["_v2_engine_reset"]=a0=>(_v2_engine_reset=Module["_v2_engine_reset"]=wasmExports["k"])(a0);var _v2_engine_set_control=Module["_v2_engine_set_control"]=(a0,a1,a2)=>(_v2_engine_set_control=Module["_v2_engine_set_control"]=wasmExports["l"])(a0,a1,a2);var _v2_engine_get_control=Module["_v2_engine_get_control"]=(a0,a1)=>(_v2_engine_get_control=Module["_v2_engine_get_control"]=wasmExports["m"])(a0,a1);var _v2_engine_set_supply=Module["_v2_engine_set_supply"]=(a0,a1,a2,a3,a4)=>(_v2_engine_set_supply=Module["_v2_engine_set_supply"]=wasmExports["n"])(a0,a1,a2,a3,a4);var _v2_engine_process_sample=Module["_v2_engine_process_sample"]=(a0,a1)=>(_v2_engine_process_sample=Module["_v2_engine_process_sample"]=wasmExports["o"])(a0,a1);var _v2_engine_process_block=Module["_v2_engine_process_block"]=(a0,a1,a2,a3)=>(_v2_engine_process_block=Module["_v2_engine_process_block"]=wasmExports["p"])(a0,a1,a2,a3);var _v2_engine_get_input_buffer=Module["_v2_engine_get_input_buffer"]=(a0,a1)=>(_v2_engine_get_input_buffer=Module["_v2_engine_get_input_buffer"]=wasmExports["q"])(a0,a1);var _v2_engine_get_output_buffer=Module["_v2_engine_get_output_buffer"]=(a0,a1)=>(_v2_engine_get_output_buffer=Module["_v2_engine_get_output_buffer"]=wasmExports["r"])(a0,a1);var _v2_engine_process_internal=Module["_v2_engine_process_internal"]=(a0,a1)=>(_v2_engine_process_internal=Module["_v2_engine_process_internal"]=wasmExports["s"])(a0,a1);var _v2_engine_get_last_iteration_count=Module["_v2_engine_get_last_iteration_count"]=a0=>(_v2_engine_get_last_iteration_count=Module["_v2_engine_get_last_iteration_count"]=wasmExports["t"])(a0);var _v2_engine_get_last_converged=Module["_v2_engine_get_last_converged"]=a0=>(_v2_engine_get_last_converged=Module["_v2_engine_get_last_converged"]=wasmExports["u"])(a0);var _v2_engine_get_max_iterations=Module["_v2_engine_get_max_iterations"]=a0=>(_v2_engine_get_max_iterations=Module["_v2_engine_get_max_iterations"]=wasmExports["v"])(a0);var _v2_engine_get_operating_point=Module["_v2_engine_get_operating_point"]=(a0,a1,a2)=>(_v2_engine_get_operating_point=Module["_v2_engine_get_operating_point"]=wasmExports["w"])(a0,a1,a2);var _v2_engine_get_state=Module["_v2_engine_get_state"]=(a0,a1,a2)=>(_v2_engine_get_state=Module["_v2_engine_get_state"]=wasmExports["x"])(a0,a1,a2);var _v2_engine_get_last_error=Module["_v2_engine_get_last_error"]=a0=>(_v2_engine_get_last_error=Module["_v2_engine_get_last_error"]=wasmExports["y"])(a0);var _v2_engine_get_schedule_solves=Module["_v2_engine_get_schedule_solves"]=a0=>(_v2_engine_get_schedule_solves=Module["_v2_engine_get_schedule_solves"]=wasmExports["z"])(a0);var _v2_engine_get_schedule_fallbacks=Module["_v2_engine_get_schedule_fallbacks"]=a0=>(_v2_engine_get_schedule_fallbacks=Module["_v2_engine_get_schedule_fallbacks"]=wasmExports["A"])(a0);var _v2_engine_get_kernel_solves=Module["_v2_engine_get_kernel_solves"]=a0=>(_v2_engine_get_kernel_solves=Module["_v2_engine_get_kernel_solves"]=wasmExports["B"])(a0);var _v2_engine_get_repivoted_schedule_blocks=Module["_v2_engine_get_repivoted_schedule_blocks"]=a0=>(_v2_engine_get_repivoted_schedule_blocks=Module["_v2_engine_get_repivoted_schedule_blocks"]=wasmExports["C"])(a0);var _v2_engine_get_abandoned_schedule_blocks=Module["_v2_engine_get_abandoned_schedule_blocks"]=a0=>(_v2_engine_get_abandoned_schedule_blocks=Module["_v2_engine_get_abandoned_schedule_blocks"]=wasmExports["D"])(a0);var _v2_engine_get_dropped_schedule_blocks=Module["_v2_engine_get_dropped_schedule_blocks"]=a0=>(_v2_engine_get_dropped_schedule_blocks=Module["_v2_engine_get_dropped_schedule_blocks"]=wasmExports["E"])(a0);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["F"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["G"])(a0);var ___trap=()=>(___trap=wasmExports["H"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["I"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["J"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["K"])();Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();moduleRtn=readyPromise;
|
|
9
|
+
var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename);return ret};readAsync=async(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):filename;var ret=fs.readFileSync(filename,binary?undefined:"utf8");return ret};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{if(isFileURI(url)){return new Promise((resolve,reject)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response);return}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";if(runtimeInitialized){___trap()}var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function findWasmBinary(){var f="v2_dsp.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){return{a:wasmImports}}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["d"];updateMemoryViews();addOnInit(wasmExports["e"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}var info=getWasmImports();if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}wasmBinaryFile??=findWasmBinary();try{var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);receiveInstantiationResult(result);return result}catch(e){readyPromiseReject(e);return}}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function getValue(ptr,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":return HEAP8[ptr];case"i8":return HEAP8[ptr];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];case"*":return HEAPU32[ptr>>2];default:abort(`invalid type for getValue: ${type}`)}}var noExitRuntime=Module["noExitRuntime"]||true;function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr]=value;break;case"i8":HEAP8[ptr]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort(`invalid type for setValue: ${type}`)}}var __abort_js=()=>abort("");var __emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var getHeapMax=()=>2147483648;var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var stackAlloc=sz=>__emscripten_stack_alloc(sz);var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func(...cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var cwrap=(ident,returnType,argTypes,opts)=>{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return(...args)=>ccall(ident,returnType,argTypes,args,opts)};var wasmImports={a:__abort_js,c:__emscripten_memcpy_js,b:_emscripten_resize_heap};var wasmExports;createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["e"])();var _v2_engine_create=Module["_v2_engine_create"]=()=>(_v2_engine_create=Module["_v2_engine_create"]=wasmExports["g"])();var _v2_engine_destroy=Module["_v2_engine_destroy"]=a0=>(_v2_engine_destroy=Module["_v2_engine_destroy"]=wasmExports["h"])(a0);var _v2_engine_load_json=Module["_v2_engine_load_json"]=(a0,a1)=>(_v2_engine_load_json=Module["_v2_engine_load_json"]=wasmExports["i"])(a0,a1);var _v2_engine_prepare=Module["_v2_engine_prepare"]=(a0,a1,a2,a3,a4)=>(_v2_engine_prepare=Module["_v2_engine_prepare"]=wasmExports["j"])(a0,a1,a2,a3,a4);var _v2_engine_get_host_sample_rate=Module["_v2_engine_get_host_sample_rate"]=a0=>(_v2_engine_get_host_sample_rate=Module["_v2_engine_get_host_sample_rate"]=wasmExports["k"])(a0);var _v2_engine_get_oversample_latency=Module["_v2_engine_get_oversample_latency"]=a0=>(_v2_engine_get_oversample_latency=Module["_v2_engine_get_oversample_latency"]=wasmExports["l"])(a0);var _v2_resample_stage_count=Module["_v2_resample_stage_count"]=()=>(_v2_resample_stage_count=Module["_v2_resample_stage_count"]=wasmExports["m"])();var _v2_resample_prototype_length=Module["_v2_resample_prototype_length"]=a0=>(_v2_resample_prototype_length=Module["_v2_resample_prototype_length"]=wasmExports["n"])(a0);var _v2_resample_prototype_tap=Module["_v2_resample_prototype_tap"]=(a0,a1)=>(_v2_resample_prototype_tap=Module["_v2_resample_prototype_tap"]=wasmExports["o"])(a0,a1);var _v2_testonly_resample_create=Module["_v2_testonly_resample_create"]=a0=>(_v2_testonly_resample_create=Module["_v2_testonly_resample_create"]=wasmExports["p"])(a0);var _v2_testonly_resample_reset=Module["_v2_testonly_resample_reset"]=a0=>(_v2_testonly_resample_reset=Module["_v2_testonly_resample_reset"]=wasmExports["q"])(a0);var _v2_testonly_resample_process=Module["_v2_testonly_resample_process"]=(a0,a1)=>(_v2_testonly_resample_process=Module["_v2_testonly_resample_process"]=wasmExports["r"])(a0,a1);var _v2_testonly_resample_destroy=Module["_v2_testonly_resample_destroy"]=a0=>(_v2_testonly_resample_destroy=Module["_v2_testonly_resample_destroy"]=wasmExports["s"])(a0);var _v2_engine_reset=Module["_v2_engine_reset"]=a0=>(_v2_engine_reset=Module["_v2_engine_reset"]=wasmExports["t"])(a0);var _v2_engine_set_control=Module["_v2_engine_set_control"]=(a0,a1,a2)=>(_v2_engine_set_control=Module["_v2_engine_set_control"]=wasmExports["u"])(a0,a1,a2);var _v2_engine_get_control=Module["_v2_engine_get_control"]=(a0,a1)=>(_v2_engine_get_control=Module["_v2_engine_get_control"]=wasmExports["v"])(a0,a1);var _v2_engine_set_supply=Module["_v2_engine_set_supply"]=(a0,a1,a2,a3,a4)=>(_v2_engine_set_supply=Module["_v2_engine_set_supply"]=wasmExports["w"])(a0,a1,a2,a3,a4);var _v2_engine_process_sample=Module["_v2_engine_process_sample"]=(a0,a1)=>(_v2_engine_process_sample=Module["_v2_engine_process_sample"]=wasmExports["x"])(a0,a1);var _v2_engine_process_block=Module["_v2_engine_process_block"]=(a0,a1,a2,a3)=>(_v2_engine_process_block=Module["_v2_engine_process_block"]=wasmExports["y"])(a0,a1,a2,a3);var _v2_engine_get_input_buffer=Module["_v2_engine_get_input_buffer"]=(a0,a1)=>(_v2_engine_get_input_buffer=Module["_v2_engine_get_input_buffer"]=wasmExports["z"])(a0,a1);var _v2_engine_get_output_buffer=Module["_v2_engine_get_output_buffer"]=(a0,a1)=>(_v2_engine_get_output_buffer=Module["_v2_engine_get_output_buffer"]=wasmExports["A"])(a0,a1);var _v2_engine_process_internal=Module["_v2_engine_process_internal"]=(a0,a1)=>(_v2_engine_process_internal=Module["_v2_engine_process_internal"]=wasmExports["B"])(a0,a1);var _v2_engine_get_last_iteration_count=Module["_v2_engine_get_last_iteration_count"]=a0=>(_v2_engine_get_last_iteration_count=Module["_v2_engine_get_last_iteration_count"]=wasmExports["C"])(a0);var _v2_engine_get_last_converged=Module["_v2_engine_get_last_converged"]=a0=>(_v2_engine_get_last_converged=Module["_v2_engine_get_last_converged"]=wasmExports["D"])(a0);var _v2_engine_get_max_iterations=Module["_v2_engine_get_max_iterations"]=a0=>(_v2_engine_get_max_iterations=Module["_v2_engine_get_max_iterations"]=wasmExports["E"])(a0);var _v2_engine_get_operating_point=Module["_v2_engine_get_operating_point"]=(a0,a1,a2)=>(_v2_engine_get_operating_point=Module["_v2_engine_get_operating_point"]=wasmExports["F"])(a0,a1,a2);var _v2_engine_get_state=Module["_v2_engine_get_state"]=(a0,a1,a2)=>(_v2_engine_get_state=Module["_v2_engine_get_state"]=wasmExports["G"])(a0,a1,a2);var _v2_engine_get_last_error=Module["_v2_engine_get_last_error"]=a0=>(_v2_engine_get_last_error=Module["_v2_engine_get_last_error"]=wasmExports["H"])(a0);var _v2_engine_get_schedule_solves=Module["_v2_engine_get_schedule_solves"]=a0=>(_v2_engine_get_schedule_solves=Module["_v2_engine_get_schedule_solves"]=wasmExports["I"])(a0);var _v2_engine_get_schedule_fallbacks=Module["_v2_engine_get_schedule_fallbacks"]=a0=>(_v2_engine_get_schedule_fallbacks=Module["_v2_engine_get_schedule_fallbacks"]=wasmExports["J"])(a0);var _v2_engine_get_predictor_seeds=Module["_v2_engine_get_predictor_seeds"]=a0=>(_v2_engine_get_predictor_seeds=Module["_v2_engine_get_predictor_seeds"]=wasmExports["K"])(a0);var _v2_engine_get_one_iteration_solves=Module["_v2_engine_get_one_iteration_solves"]=a0=>(_v2_engine_get_one_iteration_solves=Module["_v2_engine_get_one_iteration_solves"]=wasmExports["L"])(a0);var _v2_engine_get_total_iterations=Module["_v2_engine_get_total_iterations"]=a0=>(_v2_engine_get_total_iterations=Module["_v2_engine_get_total_iterations"]=wasmExports["M"])(a0);var _v2_engine_get_predictor_order=Module["_v2_engine_get_predictor_order"]=(a0,a1)=>(_v2_engine_get_predictor_order=Module["_v2_engine_get_predictor_order"]=wasmExports["N"])(a0,a1);var _v2_engine_get_kernel_solves=Module["_v2_engine_get_kernel_solves"]=a0=>(_v2_engine_get_kernel_solves=Module["_v2_engine_get_kernel_solves"]=wasmExports["O"])(a0);var _v2_engine_get_repivoted_schedule_blocks=Module["_v2_engine_get_repivoted_schedule_blocks"]=a0=>(_v2_engine_get_repivoted_schedule_blocks=Module["_v2_engine_get_repivoted_schedule_blocks"]=wasmExports["P"])(a0);var _v2_engine_get_abandoned_schedule_blocks=Module["_v2_engine_get_abandoned_schedule_blocks"]=a0=>(_v2_engine_get_abandoned_schedule_blocks=Module["_v2_engine_get_abandoned_schedule_blocks"]=wasmExports["Q"])(a0);var _v2_engine_get_dropped_schedule_blocks=Module["_v2_engine_get_dropped_schedule_blocks"]=a0=>(_v2_engine_get_dropped_schedule_blocks=Module["_v2_engine_get_dropped_schedule_blocks"]=wasmExports["R"])(a0);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["S"])(a0);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["T"])(a0);var ___trap=()=>(___trap=wasmExports["U"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["V"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["W"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["X"])();Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["setValue"]=setValue;Module["getValue"]=getValue;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();moduleRtn=readyPromise;
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
return moduleRtn;
|
package/dist/wasm/v2_dsp.wasm
CHANGED
|
Binary file
|