wickra-wasm 0.4.6 → 0.5.0

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/wickra_wasm_bg.js CHANGED
@@ -682,6 +682,74 @@ export class AbandonedBaby {
682
682
  }
683
683
  if (Symbol.dispose) AbandonedBaby.prototype[Symbol.dispose] = AbandonedBaby.prototype.free;
684
684
 
685
+ export class AbsoluteBreadthIndex {
686
+ __destroy_into_raw() {
687
+ const ptr = this.__wbg_ptr;
688
+ this.__wbg_ptr = 0;
689
+ AbsoluteBreadthIndexFinalization.unregister(this);
690
+ return ptr;
691
+ }
692
+ free() {
693
+ const ptr = this.__destroy_into_raw();
694
+ wasm.__wbg_absolutebreadthindex_free(ptr, 0);
695
+ }
696
+ /**
697
+ * @returns {boolean}
698
+ */
699
+ isReady() {
700
+ const ret = wasm.absolutebreadthindex_isReady(this.__wbg_ptr);
701
+ return ret !== 0;
702
+ }
703
+ constructor() {
704
+ const ret = wasm.absolutebreadthindex_new();
705
+ this.__wbg_ptr = ret;
706
+ AbsoluteBreadthIndexFinalization.register(this, this.__wbg_ptr, this);
707
+ return this;
708
+ }
709
+ reset() {
710
+ wasm.absolutebreadthindex_reset(this.__wbg_ptr);
711
+ }
712
+ /**
713
+ * @param {Float64Array} change
714
+ * @param {Float64Array} volume
715
+ * @param {Float64Array} new_high
716
+ * @param {Float64Array} new_low
717
+ * @returns {number | undefined}
718
+ */
719
+ update(change, volume, new_high, new_low) {
720
+ try {
721
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
722
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
723
+ const len0 = WASM_VECTOR_LEN;
724
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
725
+ const len1 = WASM_VECTOR_LEN;
726
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
727
+ const len2 = WASM_VECTOR_LEN;
728
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
729
+ const len3 = WASM_VECTOR_LEN;
730
+ wasm.absolutebreadthindex_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
731
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
732
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
733
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
734
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
735
+ if (r5) {
736
+ throw takeObject(r4);
737
+ }
738
+ return r0 === 0 ? undefined : r2;
739
+ } finally {
740
+ wasm.__wbindgen_add_to_stack_pointer(32);
741
+ }
742
+ }
743
+ /**
744
+ * @returns {number}
745
+ */
746
+ warmupPeriod() {
747
+ const ret = wasm.absolutebreadthindex_warmupPeriod(this.__wbg_ptr);
748
+ return ret >>> 0;
749
+ }
750
+ }
751
+ if (Symbol.dispose) AbsoluteBreadthIndex.prototype[Symbol.dispose] = AbsoluteBreadthIndex.prototype.free;
752
+
685
753
  export class AccelerationBands {
686
754
  __destroy_into_raw() {
687
755
  const ptr = this.__wbg_ptr;
@@ -867,6 +935,74 @@ export class AcceleratorOscillator {
867
935
  }
868
936
  if (Symbol.dispose) AcceleratorOscillator.prototype[Symbol.dispose] = AcceleratorOscillator.prototype.free;
869
937
 
938
+ export class AdVolumeLine {
939
+ __destroy_into_raw() {
940
+ const ptr = this.__wbg_ptr;
941
+ this.__wbg_ptr = 0;
942
+ AdVolumeLineFinalization.unregister(this);
943
+ return ptr;
944
+ }
945
+ free() {
946
+ const ptr = this.__destroy_into_raw();
947
+ wasm.__wbg_advolumeline_free(ptr, 0);
948
+ }
949
+ /**
950
+ * @returns {boolean}
951
+ */
952
+ isReady() {
953
+ const ret = wasm.advolumeline_isReady(this.__wbg_ptr);
954
+ return ret !== 0;
955
+ }
956
+ constructor() {
957
+ const ret = wasm.advolumeline_new();
958
+ this.__wbg_ptr = ret;
959
+ AdVolumeLineFinalization.register(this, this.__wbg_ptr, this);
960
+ return this;
961
+ }
962
+ reset() {
963
+ wasm.advolumeline_reset(this.__wbg_ptr);
964
+ }
965
+ /**
966
+ * @param {Float64Array} change
967
+ * @param {Float64Array} volume
968
+ * @param {Float64Array} new_high
969
+ * @param {Float64Array} new_low
970
+ * @returns {number | undefined}
971
+ */
972
+ update(change, volume, new_high, new_low) {
973
+ try {
974
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
975
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
976
+ const len0 = WASM_VECTOR_LEN;
977
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
978
+ const len1 = WASM_VECTOR_LEN;
979
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
980
+ const len2 = WASM_VECTOR_LEN;
981
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
982
+ const len3 = WASM_VECTOR_LEN;
983
+ wasm.advolumeline_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
984
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
985
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
986
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
987
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
988
+ if (r5) {
989
+ throw takeObject(r4);
990
+ }
991
+ return r0 === 0 ? undefined : r2;
992
+ } finally {
993
+ wasm.__wbindgen_add_to_stack_pointer(32);
994
+ }
995
+ }
996
+ /**
997
+ * @returns {number}
998
+ */
999
+ warmupPeriod() {
1000
+ const ret = wasm.advolumeline_warmupPeriod(this.__wbg_ptr);
1001
+ return ret >>> 0;
1002
+ }
1003
+ }
1004
+ if (Symbol.dispose) AdVolumeLine.prototype[Symbol.dispose] = AdVolumeLine.prototype.free;
1005
+
870
1006
  export class AdaptiveCycle {
871
1007
  __destroy_into_raw() {
872
1008
  const ptr = this.__wbg_ptr;
@@ -1019,6 +1155,142 @@ export class AdvanceBlock {
1019
1155
  }
1020
1156
  if (Symbol.dispose) AdvanceBlock.prototype[Symbol.dispose] = AdvanceBlock.prototype.free;
1021
1157
 
1158
+ export class AdvanceDecline {
1159
+ __destroy_into_raw() {
1160
+ const ptr = this.__wbg_ptr;
1161
+ this.__wbg_ptr = 0;
1162
+ AdvanceDeclineFinalization.unregister(this);
1163
+ return ptr;
1164
+ }
1165
+ free() {
1166
+ const ptr = this.__destroy_into_raw();
1167
+ wasm.__wbg_advancedecline_free(ptr, 0);
1168
+ }
1169
+ /**
1170
+ * @returns {boolean}
1171
+ */
1172
+ isReady() {
1173
+ const ret = wasm.advancedecline_isReady(this.__wbg_ptr);
1174
+ return ret !== 0;
1175
+ }
1176
+ constructor() {
1177
+ const ret = wasm.advancedecline_new();
1178
+ this.__wbg_ptr = ret;
1179
+ AdvanceDeclineFinalization.register(this, this.__wbg_ptr, this);
1180
+ return this;
1181
+ }
1182
+ reset() {
1183
+ wasm.advancedecline_reset(this.__wbg_ptr);
1184
+ }
1185
+ /**
1186
+ * @param {Float64Array} change
1187
+ * @param {Float64Array} volume
1188
+ * @param {Float64Array} new_high
1189
+ * @param {Float64Array} new_low
1190
+ * @returns {number | undefined}
1191
+ */
1192
+ update(change, volume, new_high, new_low) {
1193
+ try {
1194
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
1195
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
1196
+ const len0 = WASM_VECTOR_LEN;
1197
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
1198
+ const len1 = WASM_VECTOR_LEN;
1199
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
1200
+ const len2 = WASM_VECTOR_LEN;
1201
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
1202
+ const len3 = WASM_VECTOR_LEN;
1203
+ wasm.advancedecline_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
1204
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1205
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
1206
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
1207
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
1208
+ if (r5) {
1209
+ throw takeObject(r4);
1210
+ }
1211
+ return r0 === 0 ? undefined : r2;
1212
+ } finally {
1213
+ wasm.__wbindgen_add_to_stack_pointer(32);
1214
+ }
1215
+ }
1216
+ /**
1217
+ * @returns {number}
1218
+ */
1219
+ warmupPeriod() {
1220
+ const ret = wasm.advancedecline_warmupPeriod(this.__wbg_ptr);
1221
+ return ret >>> 0;
1222
+ }
1223
+ }
1224
+ if (Symbol.dispose) AdvanceDecline.prototype[Symbol.dispose] = AdvanceDecline.prototype.free;
1225
+
1226
+ export class AdvanceDeclineRatio {
1227
+ __destroy_into_raw() {
1228
+ const ptr = this.__wbg_ptr;
1229
+ this.__wbg_ptr = 0;
1230
+ AdvanceDeclineRatioFinalization.unregister(this);
1231
+ return ptr;
1232
+ }
1233
+ free() {
1234
+ const ptr = this.__destroy_into_raw();
1235
+ wasm.__wbg_advancedeclineratio_free(ptr, 0);
1236
+ }
1237
+ /**
1238
+ * @returns {boolean}
1239
+ */
1240
+ isReady() {
1241
+ const ret = wasm.advancedeclineratio_isReady(this.__wbg_ptr);
1242
+ return ret !== 0;
1243
+ }
1244
+ constructor() {
1245
+ const ret = wasm.advancedeclineratio_new();
1246
+ this.__wbg_ptr = ret;
1247
+ AdvanceDeclineRatioFinalization.register(this, this.__wbg_ptr, this);
1248
+ return this;
1249
+ }
1250
+ reset() {
1251
+ wasm.advancedeclineratio_reset(this.__wbg_ptr);
1252
+ }
1253
+ /**
1254
+ * @param {Float64Array} change
1255
+ * @param {Float64Array} volume
1256
+ * @param {Float64Array} new_high
1257
+ * @param {Float64Array} new_low
1258
+ * @returns {number | undefined}
1259
+ */
1260
+ update(change, volume, new_high, new_low) {
1261
+ try {
1262
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
1263
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
1264
+ const len0 = WASM_VECTOR_LEN;
1265
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
1266
+ const len1 = WASM_VECTOR_LEN;
1267
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
1268
+ const len2 = WASM_VECTOR_LEN;
1269
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
1270
+ const len3 = WASM_VECTOR_LEN;
1271
+ wasm.advancedeclineratio_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
1272
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1273
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
1274
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
1275
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
1276
+ if (r5) {
1277
+ throw takeObject(r4);
1278
+ }
1279
+ return r0 === 0 ? undefined : r2;
1280
+ } finally {
1281
+ wasm.__wbindgen_add_to_stack_pointer(32);
1282
+ }
1283
+ }
1284
+ /**
1285
+ * @returns {number}
1286
+ */
1287
+ warmupPeriod() {
1288
+ const ret = wasm.advancedeclineratio_warmupPeriod(this.__wbg_ptr);
1289
+ return ret >>> 0;
1290
+ }
1291
+ }
1292
+ if (Symbol.dispose) AdvanceDeclineRatio.prototype[Symbol.dispose] = AdvanceDeclineRatio.prototype.free;
1293
+
1022
1294
  export class Alligator {
1023
1295
  __destroy_into_raw() {
1024
1296
  const ptr = this.__wbg_ptr;
@@ -2232,18 +2504,111 @@ export class BeltHold {
2232
2504
  return ret >>> 0;
2233
2505
  }
2234
2506
  }
2235
- if (Symbol.dispose) BeltHold.prototype[Symbol.dispose] = BeltHold.prototype.free;
2507
+ if (Symbol.dispose) BeltHold.prototype[Symbol.dispose] = BeltHold.prototype.free;
2508
+
2509
+ export class Beta {
2510
+ __destroy_into_raw() {
2511
+ const ptr = this.__wbg_ptr;
2512
+ this.__wbg_ptr = 0;
2513
+ BetaFinalization.unregister(this);
2514
+ return ptr;
2515
+ }
2516
+ free() {
2517
+ const ptr = this.__destroy_into_raw();
2518
+ wasm.__wbg_beta_free(ptr, 0);
2519
+ }
2520
+ /**
2521
+ * Batch over two equally-sized arrays. Returns one `f64` per
2522
+ * input position (`NaN` during warmup).
2523
+ * @param {Float64Array} x
2524
+ * @param {Float64Array} y
2525
+ * @returns {Float64Array}
2526
+ */
2527
+ batch(x, y) {
2528
+ try {
2529
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2530
+ const ptr0 = passArrayF64ToWasm0(x, wasm.__wbindgen_export3);
2531
+ const len0 = WASM_VECTOR_LEN;
2532
+ const ptr1 = passArrayF64ToWasm0(y, wasm.__wbindgen_export3);
2533
+ const len1 = WASM_VECTOR_LEN;
2534
+ wasm.beta_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
2535
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2536
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2537
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2538
+ if (r2) {
2539
+ throw takeObject(r1);
2540
+ }
2541
+ return takeObject(r0);
2542
+ } finally {
2543
+ wasm.__wbindgen_add_to_stack_pointer(16);
2544
+ }
2545
+ }
2546
+ /**
2547
+ * @returns {boolean}
2548
+ */
2549
+ isReady() {
2550
+ const ret = wasm.beta_isReady(this.__wbg_ptr);
2551
+ return ret !== 0;
2552
+ }
2553
+ /**
2554
+ * @param {number} period
2555
+ */
2556
+ constructor(period) {
2557
+ try {
2558
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2559
+ wasm.beta_new(retptr, period);
2560
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2561
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2562
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2563
+ if (r2) {
2564
+ throw takeObject(r1);
2565
+ }
2566
+ this.__wbg_ptr = r0;
2567
+ BetaFinalization.register(this, this.__wbg_ptr, this);
2568
+ return this;
2569
+ } finally {
2570
+ wasm.__wbindgen_add_to_stack_pointer(16);
2571
+ }
2572
+ }
2573
+ reset() {
2574
+ wasm.beta_reset(this.__wbg_ptr);
2575
+ }
2576
+ /**
2577
+ * @param {number} x
2578
+ * @param {number} y
2579
+ * @returns {number | undefined}
2580
+ */
2581
+ update(x, y) {
2582
+ try {
2583
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2584
+ wasm.beta_update(retptr, this.__wbg_ptr, x, y);
2585
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2586
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
2587
+ return r0 === 0 ? undefined : r2;
2588
+ } finally {
2589
+ wasm.__wbindgen_add_to_stack_pointer(16);
2590
+ }
2591
+ }
2592
+ /**
2593
+ * @returns {number}
2594
+ */
2595
+ warmupPeriod() {
2596
+ const ret = wasm.beta_warmupPeriod(this.__wbg_ptr);
2597
+ return ret >>> 0;
2598
+ }
2599
+ }
2600
+ if (Symbol.dispose) Beta.prototype[Symbol.dispose] = Beta.prototype.free;
2236
2601
 
2237
- export class Beta {
2602
+ export class BetaNeutralSpread {
2238
2603
  __destroy_into_raw() {
2239
2604
  const ptr = this.__wbg_ptr;
2240
2605
  this.__wbg_ptr = 0;
2241
- BetaFinalization.unregister(this);
2606
+ BetaNeutralSpreadFinalization.unregister(this);
2242
2607
  return ptr;
2243
2608
  }
2244
2609
  free() {
2245
2610
  const ptr = this.__destroy_into_raw();
2246
- wasm.__wbg_beta_free(ptr, 0);
2611
+ wasm.__wbg_betaneutralspread_free(ptr, 0);
2247
2612
  }
2248
2613
  /**
2249
2614
  * Batch over two equally-sized arrays. Returns one `f64` per
@@ -2259,7 +2624,7 @@ export class Beta {
2259
2624
  const len0 = WASM_VECTOR_LEN;
2260
2625
  const ptr1 = passArrayF64ToWasm0(y, wasm.__wbindgen_export3);
2261
2626
  const len1 = WASM_VECTOR_LEN;
2262
- wasm.beta_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
2627
+ wasm.betaneutralspread_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
2263
2628
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2264
2629
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2265
2630
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -2275,7 +2640,7 @@ export class Beta {
2275
2640
  * @returns {boolean}
2276
2641
  */
2277
2642
  isReady() {
2278
- const ret = wasm.beta_isReady(this.__wbg_ptr);
2643
+ const ret = wasm.betaneutralspread_isReady(this.__wbg_ptr);
2279
2644
  return ret !== 0;
2280
2645
  }
2281
2646
  /**
@@ -2284,7 +2649,7 @@ export class Beta {
2284
2649
  constructor(period) {
2285
2650
  try {
2286
2651
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2287
- wasm.beta_new(retptr, period);
2652
+ wasm.betaneutralspread_new(retptr, period);
2288
2653
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2289
2654
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2290
2655
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -2292,14 +2657,14 @@ export class Beta {
2292
2657
  throw takeObject(r1);
2293
2658
  }
2294
2659
  this.__wbg_ptr = r0;
2295
- BetaFinalization.register(this, this.__wbg_ptr, this);
2660
+ BetaNeutralSpreadFinalization.register(this, this.__wbg_ptr, this);
2296
2661
  return this;
2297
2662
  } finally {
2298
2663
  wasm.__wbindgen_add_to_stack_pointer(16);
2299
2664
  }
2300
2665
  }
2301
2666
  reset() {
2302
- wasm.beta_reset(this.__wbg_ptr);
2667
+ wasm.betaneutralspread_reset(this.__wbg_ptr);
2303
2668
  }
2304
2669
  /**
2305
2670
  * @param {number} x
@@ -2309,7 +2674,7 @@ export class Beta {
2309
2674
  update(x, y) {
2310
2675
  try {
2311
2676
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2312
- wasm.beta_update(retptr, this.__wbg_ptr, x, y);
2677
+ wasm.betaneutralspread_update(retptr, this.__wbg_ptr, x, y);
2313
2678
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2314
2679
  var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
2315
2680
  return r0 === 0 ? undefined : r2;
@@ -2321,11 +2686,11 @@ export class Beta {
2321
2686
  * @returns {number}
2322
2687
  */
2323
2688
  warmupPeriod() {
2324
- const ret = wasm.beta_warmupPeriod(this.__wbg_ptr);
2689
+ const ret = wasm.betaneutralspread_warmupPeriod(this.__wbg_ptr);
2325
2690
  return ret >>> 0;
2326
2691
  }
2327
2692
  }
2328
- if (Symbol.dispose) Beta.prototype[Symbol.dispose] = Beta.prototype.free;
2693
+ if (Symbol.dispose) BetaNeutralSpread.prototype[Symbol.dispose] = BetaNeutralSpread.prototype.free;
2329
2694
 
2330
2695
  export class BollingerBands {
2331
2696
  __destroy_into_raw() {
@@ -2461,6 +2826,88 @@ export class BollingerBandwidth {
2461
2826
  }
2462
2827
  if (Symbol.dispose) BollingerBandwidth.prototype[Symbol.dispose] = BollingerBandwidth.prototype.free;
2463
2828
 
2829
+ export class BreadthThrust {
2830
+ __destroy_into_raw() {
2831
+ const ptr = this.__wbg_ptr;
2832
+ this.__wbg_ptr = 0;
2833
+ BreadthThrustFinalization.unregister(this);
2834
+ return ptr;
2835
+ }
2836
+ free() {
2837
+ const ptr = this.__destroy_into_raw();
2838
+ wasm.__wbg_breadththrust_free(ptr, 0);
2839
+ }
2840
+ /**
2841
+ * @returns {boolean}
2842
+ */
2843
+ isReady() {
2844
+ const ret = wasm.breadththrust_isReady(this.__wbg_ptr);
2845
+ return ret !== 0;
2846
+ }
2847
+ /**
2848
+ * @param {number} period
2849
+ */
2850
+ constructor(period) {
2851
+ try {
2852
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2853
+ wasm.breadththrust_new(retptr, period);
2854
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2855
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2856
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2857
+ if (r2) {
2858
+ throw takeObject(r1);
2859
+ }
2860
+ this.__wbg_ptr = r0;
2861
+ BreadthThrustFinalization.register(this, this.__wbg_ptr, this);
2862
+ return this;
2863
+ } finally {
2864
+ wasm.__wbindgen_add_to_stack_pointer(16);
2865
+ }
2866
+ }
2867
+ reset() {
2868
+ wasm.breadththrust_reset(this.__wbg_ptr);
2869
+ }
2870
+ /**
2871
+ * @param {Float64Array} change
2872
+ * @param {Float64Array} volume
2873
+ * @param {Float64Array} new_high
2874
+ * @param {Float64Array} new_low
2875
+ * @returns {number | undefined}
2876
+ */
2877
+ update(change, volume, new_high, new_low) {
2878
+ try {
2879
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
2880
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
2881
+ const len0 = WASM_VECTOR_LEN;
2882
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
2883
+ const len1 = WASM_VECTOR_LEN;
2884
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
2885
+ const len2 = WASM_VECTOR_LEN;
2886
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
2887
+ const len3 = WASM_VECTOR_LEN;
2888
+ wasm.breadththrust_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
2889
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2890
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
2891
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
2892
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
2893
+ if (r5) {
2894
+ throw takeObject(r4);
2895
+ }
2896
+ return r0 === 0 ? undefined : r2;
2897
+ } finally {
2898
+ wasm.__wbindgen_add_to_stack_pointer(32);
2899
+ }
2900
+ }
2901
+ /**
2902
+ * @returns {number}
2903
+ */
2904
+ warmupPeriod() {
2905
+ const ret = wasm.breadththrust_warmupPeriod(this.__wbg_ptr);
2906
+ return ret >>> 0;
2907
+ }
2908
+ }
2909
+ if (Symbol.dispose) BreadthThrust.prototype[Symbol.dispose] = BreadthThrust.prototype.free;
2910
+
2464
2911
  export class Breakaway {
2465
2912
  __destroy_into_raw() {
2466
2913
  const ptr = this.__wbg_ptr;
@@ -2551,6 +2998,77 @@ export class Breakaway {
2551
2998
  }
2552
2999
  if (Symbol.dispose) Breakaway.prototype[Symbol.dispose] = Breakaway.prototype.free;
2553
3000
 
3001
+ export class BullishPercentIndex {
3002
+ __destroy_into_raw() {
3003
+ const ptr = this.__wbg_ptr;
3004
+ this.__wbg_ptr = 0;
3005
+ BullishPercentIndexFinalization.unregister(this);
3006
+ return ptr;
3007
+ }
3008
+ free() {
3009
+ const ptr = this.__destroy_into_raw();
3010
+ wasm.__wbg_bullishpercentindex_free(ptr, 0);
3011
+ }
3012
+ /**
3013
+ * @returns {boolean}
3014
+ */
3015
+ isReady() {
3016
+ const ret = wasm.bullishpercentindex_isReady(this.__wbg_ptr);
3017
+ return ret !== 0;
3018
+ }
3019
+ constructor() {
3020
+ const ret = wasm.bullishpercentindex_new();
3021
+ this.__wbg_ptr = ret;
3022
+ BullishPercentIndexFinalization.register(this, this.__wbg_ptr, this);
3023
+ return this;
3024
+ }
3025
+ reset() {
3026
+ wasm.bullishpercentindex_reset(this.__wbg_ptr);
3027
+ }
3028
+ /**
3029
+ * @param {Float64Array} change
3030
+ * @param {Float64Array} volume
3031
+ * @param {Float64Array} new_high
3032
+ * @param {Float64Array} new_low
3033
+ * @param {Float64Array} on_buy_signal
3034
+ * @returns {number | undefined}
3035
+ */
3036
+ update(change, volume, new_high, new_low, on_buy_signal) {
3037
+ try {
3038
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
3039
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
3040
+ const len0 = WASM_VECTOR_LEN;
3041
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
3042
+ const len1 = WASM_VECTOR_LEN;
3043
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
3044
+ const len2 = WASM_VECTOR_LEN;
3045
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
3046
+ const len3 = WASM_VECTOR_LEN;
3047
+ const ptr4 = passArrayF64ToWasm0(on_buy_signal, wasm.__wbindgen_export3);
3048
+ const len4 = WASM_VECTOR_LEN;
3049
+ wasm.bullishpercentindex_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4);
3050
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3051
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
3052
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
3053
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
3054
+ if (r5) {
3055
+ throw takeObject(r4);
3056
+ }
3057
+ return r0 === 0 ? undefined : r2;
3058
+ } finally {
3059
+ wasm.__wbindgen_add_to_stack_pointer(32);
3060
+ }
3061
+ }
3062
+ /**
3063
+ * @returns {number}
3064
+ */
3065
+ warmupPeriod() {
3066
+ const ret = wasm.bullishpercentindex_warmupPeriod(this.__wbg_ptr);
3067
+ return ret >>> 0;
3068
+ }
3069
+ }
3070
+ if (Symbol.dispose) BullishPercentIndex.prototype[Symbol.dispose] = BullishPercentIndex.prototype.free;
3071
+
2554
3072
  export class CCI {
2555
3073
  __destroy_into_raw() {
2556
3074
  const ptr = this.__wbg_ptr;
@@ -4436,6 +4954,74 @@ export class CumulativeVolumeDelta {
4436
4954
  }
4437
4955
  if (Symbol.dispose) CumulativeVolumeDelta.prototype[Symbol.dispose] = CumulativeVolumeDelta.prototype.free;
4438
4956
 
4957
+ export class CumulativeVolumeIndex {
4958
+ __destroy_into_raw() {
4959
+ const ptr = this.__wbg_ptr;
4960
+ this.__wbg_ptr = 0;
4961
+ CumulativeVolumeIndexFinalization.unregister(this);
4962
+ return ptr;
4963
+ }
4964
+ free() {
4965
+ const ptr = this.__destroy_into_raw();
4966
+ wasm.__wbg_cumulativevolumeindex_free(ptr, 0);
4967
+ }
4968
+ /**
4969
+ * @returns {boolean}
4970
+ */
4971
+ isReady() {
4972
+ const ret = wasm.cumulativevolumeindex_isReady(this.__wbg_ptr);
4973
+ return ret !== 0;
4974
+ }
4975
+ constructor() {
4976
+ const ret = wasm.cumulativevolumeindex_new();
4977
+ this.__wbg_ptr = ret;
4978
+ CumulativeVolumeIndexFinalization.register(this, this.__wbg_ptr, this);
4979
+ return this;
4980
+ }
4981
+ reset() {
4982
+ wasm.cumulativevolumeindex_reset(this.__wbg_ptr);
4983
+ }
4984
+ /**
4985
+ * @param {Float64Array} change
4986
+ * @param {Float64Array} volume
4987
+ * @param {Float64Array} new_high
4988
+ * @param {Float64Array} new_low
4989
+ * @returns {number | undefined}
4990
+ */
4991
+ update(change, volume, new_high, new_low) {
4992
+ try {
4993
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
4994
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
4995
+ const len0 = WASM_VECTOR_LEN;
4996
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
4997
+ const len1 = WASM_VECTOR_LEN;
4998
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
4999
+ const len2 = WASM_VECTOR_LEN;
5000
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
5001
+ const len3 = WASM_VECTOR_LEN;
5002
+ wasm.cumulativevolumeindex_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
5003
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
5004
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
5005
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
5006
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
5007
+ if (r5) {
5008
+ throw takeObject(r4);
5009
+ }
5010
+ return r0 === 0 ? undefined : r2;
5011
+ } finally {
5012
+ wasm.__wbindgen_add_to_stack_pointer(32);
5013
+ }
5014
+ }
5015
+ /**
5016
+ * @returns {number}
5017
+ */
5018
+ warmupPeriod() {
5019
+ const ret = wasm.cumulativevolumeindex_warmupPeriod(this.__wbg_ptr);
5020
+ return ret >>> 0;
5021
+ }
5022
+ }
5023
+ if (Symbol.dispose) CumulativeVolumeIndex.prototype[Symbol.dispose] = CumulativeVolumeIndex.prototype.free;
5024
+
4439
5025
  export class CyberneticCycle {
4440
5026
  __destroy_into_raw() {
4441
5027
  const ptr = this.__wbg_ptr;
@@ -5137,45 +5723,137 @@ export class DepthSlope {
5137
5723
  }
5138
5724
  return r0 === 0 ? undefined : r2;
5139
5725
  } finally {
5140
- wasm.__wbindgen_add_to_stack_pointer(32);
5726
+ wasm.__wbindgen_add_to_stack_pointer(32);
5727
+ }
5728
+ }
5729
+ /**
5730
+ * @returns {number}
5731
+ */
5732
+ warmupPeriod() {
5733
+ const ret = wasm.depthslope_warmupPeriod(this.__wbg_ptr);
5734
+ return ret >>> 0;
5735
+ }
5736
+ }
5737
+ if (Symbol.dispose) DepthSlope.prototype[Symbol.dispose] = DepthSlope.prototype.free;
5738
+
5739
+ export class DetrendedStdDev {
5740
+ __destroy_into_raw() {
5741
+ const ptr = this.__wbg_ptr;
5742
+ this.__wbg_ptr = 0;
5743
+ DetrendedStdDevFinalization.unregister(this);
5744
+ return ptr;
5745
+ }
5746
+ free() {
5747
+ const ptr = this.__destroy_into_raw();
5748
+ wasm.__wbg_detrendedstddev_free(ptr, 0);
5749
+ }
5750
+ /**
5751
+ * @param {Float64Array} prices
5752
+ * @returns {Float64Array}
5753
+ */
5754
+ batch(prices) {
5755
+ const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
5756
+ const len0 = WASM_VECTOR_LEN;
5757
+ const ret = wasm.detrendedstddev_batch(this.__wbg_ptr, ptr0, len0);
5758
+ return takeObject(ret);
5759
+ }
5760
+ /**
5761
+ * @returns {boolean}
5762
+ */
5763
+ isReady() {
5764
+ const ret = wasm.detrendedstddev_isReady(this.__wbg_ptr);
5765
+ return ret !== 0;
5766
+ }
5767
+ /**
5768
+ * @param {number} period
5769
+ */
5770
+ constructor(period) {
5771
+ try {
5772
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
5773
+ wasm.detrendedstddev_new(retptr, period);
5774
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
5775
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
5776
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
5777
+ if (r2) {
5778
+ throw takeObject(r1);
5779
+ }
5780
+ this.__wbg_ptr = r0;
5781
+ DetrendedStdDevFinalization.register(this, this.__wbg_ptr, this);
5782
+ return this;
5783
+ } finally {
5784
+ wasm.__wbindgen_add_to_stack_pointer(16);
5785
+ }
5786
+ }
5787
+ reset() {
5788
+ wasm.detrendedstddev_reset(this.__wbg_ptr);
5789
+ }
5790
+ /**
5791
+ * @param {number} value
5792
+ * @returns {number | undefined}
5793
+ */
5794
+ update(value) {
5795
+ try {
5796
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
5797
+ wasm.detrendedstddev_update(retptr, this.__wbg_ptr, value);
5798
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
5799
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
5800
+ return r0 === 0 ? undefined : r2;
5801
+ } finally {
5802
+ wasm.__wbindgen_add_to_stack_pointer(16);
5141
5803
  }
5142
5804
  }
5143
5805
  /**
5144
5806
  * @returns {number}
5145
5807
  */
5146
5808
  warmupPeriod() {
5147
- const ret = wasm.depthslope_warmupPeriod(this.__wbg_ptr);
5809
+ const ret = wasm.detrendedstddev_warmupPeriod(this.__wbg_ptr);
5148
5810
  return ret >>> 0;
5149
5811
  }
5150
5812
  }
5151
- if (Symbol.dispose) DepthSlope.prototype[Symbol.dispose] = DepthSlope.prototype.free;
5813
+ if (Symbol.dispose) DetrendedStdDev.prototype[Symbol.dispose] = DetrendedStdDev.prototype.free;
5152
5814
 
5153
- export class DetrendedStdDev {
5815
+ export class DistanceSsd {
5154
5816
  __destroy_into_raw() {
5155
5817
  const ptr = this.__wbg_ptr;
5156
5818
  this.__wbg_ptr = 0;
5157
- DetrendedStdDevFinalization.unregister(this);
5819
+ DistanceSsdFinalization.unregister(this);
5158
5820
  return ptr;
5159
5821
  }
5160
5822
  free() {
5161
5823
  const ptr = this.__destroy_into_raw();
5162
- wasm.__wbg_detrendedstddev_free(ptr, 0);
5824
+ wasm.__wbg_distancessd_free(ptr, 0);
5163
5825
  }
5164
5826
  /**
5165
- * @param {Float64Array} prices
5827
+ * Batch over two equally-sized arrays. Returns one `f64` per
5828
+ * input position (`NaN` during warmup).
5829
+ * @param {Float64Array} x
5830
+ * @param {Float64Array} y
5166
5831
  * @returns {Float64Array}
5167
5832
  */
5168
- batch(prices) {
5169
- const ptr0 = passArrayF64ToWasm0(prices, wasm.__wbindgen_export3);
5170
- const len0 = WASM_VECTOR_LEN;
5171
- const ret = wasm.detrendedstddev_batch(this.__wbg_ptr, ptr0, len0);
5172
- return takeObject(ret);
5833
+ batch(x, y) {
5834
+ try {
5835
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
5836
+ const ptr0 = passArrayF64ToWasm0(x, wasm.__wbindgen_export3);
5837
+ const len0 = WASM_VECTOR_LEN;
5838
+ const ptr1 = passArrayF64ToWasm0(y, wasm.__wbindgen_export3);
5839
+ const len1 = WASM_VECTOR_LEN;
5840
+ wasm.distancessd_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
5841
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
5842
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
5843
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
5844
+ if (r2) {
5845
+ throw takeObject(r1);
5846
+ }
5847
+ return takeObject(r0);
5848
+ } finally {
5849
+ wasm.__wbindgen_add_to_stack_pointer(16);
5850
+ }
5173
5851
  }
5174
5852
  /**
5175
5853
  * @returns {boolean}
5176
5854
  */
5177
5855
  isReady() {
5178
- const ret = wasm.detrendedstddev_isReady(this.__wbg_ptr);
5856
+ const ret = wasm.distancessd_isReady(this.__wbg_ptr);
5179
5857
  return ret !== 0;
5180
5858
  }
5181
5859
  /**
@@ -5184,7 +5862,7 @@ export class DetrendedStdDev {
5184
5862
  constructor(period) {
5185
5863
  try {
5186
5864
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
5187
- wasm.detrendedstddev_new(retptr, period);
5865
+ wasm.distancessd_new(retptr, period);
5188
5866
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
5189
5867
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
5190
5868
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -5192,23 +5870,24 @@ export class DetrendedStdDev {
5192
5870
  throw takeObject(r1);
5193
5871
  }
5194
5872
  this.__wbg_ptr = r0;
5195
- DetrendedStdDevFinalization.register(this, this.__wbg_ptr, this);
5873
+ DistanceSsdFinalization.register(this, this.__wbg_ptr, this);
5196
5874
  return this;
5197
5875
  } finally {
5198
5876
  wasm.__wbindgen_add_to_stack_pointer(16);
5199
5877
  }
5200
5878
  }
5201
5879
  reset() {
5202
- wasm.detrendedstddev_reset(this.__wbg_ptr);
5880
+ wasm.distancessd_reset(this.__wbg_ptr);
5203
5881
  }
5204
5882
  /**
5205
- * @param {number} value
5883
+ * @param {number} x
5884
+ * @param {number} y
5206
5885
  * @returns {number | undefined}
5207
5886
  */
5208
- update(value) {
5887
+ update(x, y) {
5209
5888
  try {
5210
5889
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
5211
- wasm.detrendedstddev_update(retptr, this.__wbg_ptr, value);
5890
+ wasm.distancessd_update(retptr, this.__wbg_ptr, x, y);
5212
5891
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
5213
5892
  var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
5214
5893
  return r0 === 0 ? undefined : r2;
@@ -5220,11 +5899,11 @@ export class DetrendedStdDev {
5220
5899
  * @returns {number}
5221
5900
  */
5222
5901
  warmupPeriod() {
5223
- const ret = wasm.detrendedstddev_warmupPeriod(this.__wbg_ptr);
5902
+ const ret = wasm.distancessd_warmupPeriod(this.__wbg_ptr);
5224
5903
  return ret >>> 0;
5225
5904
  }
5226
5905
  }
5227
- if (Symbol.dispose) DetrendedStdDev.prototype[Symbol.dispose] = DetrendedStdDev.prototype.free;
5906
+ if (Symbol.dispose) DistanceSsd.prototype[Symbol.dispose] = DistanceSsd.prototype.free;
5228
5907
 
5229
5908
  export class Doji {
5230
5909
  __destroy_into_raw() {
@@ -7815,6 +8494,100 @@ export class GarmanKlassVolatility {
7815
8494
  }
7816
8495
  if (Symbol.dispose) GarmanKlassVolatility.prototype[Symbol.dispose] = GarmanKlassVolatility.prototype.free;
7817
8496
 
8497
+ export class GrangerCausality {
8498
+ __destroy_into_raw() {
8499
+ const ptr = this.__wbg_ptr;
8500
+ this.__wbg_ptr = 0;
8501
+ GrangerCausalityFinalization.unregister(this);
8502
+ return ptr;
8503
+ }
8504
+ free() {
8505
+ const ptr = this.__destroy_into_raw();
8506
+ wasm.__wbg_grangercausality_free(ptr, 0);
8507
+ }
8508
+ /**
8509
+ * Batch over two equally-sized arrays of prices. Returns one `f64` per
8510
+ * input position (`NaN` during warmup).
8511
+ * @param {Float64Array} a
8512
+ * @param {Float64Array} b
8513
+ * @returns {Float64Array}
8514
+ */
8515
+ batch(a, b) {
8516
+ try {
8517
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
8518
+ const ptr0 = passArrayF64ToWasm0(a, wasm.__wbindgen_export3);
8519
+ const len0 = WASM_VECTOR_LEN;
8520
+ const ptr1 = passArrayF64ToWasm0(b, wasm.__wbindgen_export3);
8521
+ const len1 = WASM_VECTOR_LEN;
8522
+ wasm.grangercausality_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
8523
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
8524
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
8525
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
8526
+ if (r2) {
8527
+ throw takeObject(r1);
8528
+ }
8529
+ return takeObject(r0);
8530
+ } finally {
8531
+ wasm.__wbindgen_add_to_stack_pointer(16);
8532
+ }
8533
+ }
8534
+ /**
8535
+ * @returns {boolean}
8536
+ */
8537
+ isReady() {
8538
+ const ret = wasm.grangercausality_isReady(this.__wbg_ptr);
8539
+ return ret !== 0;
8540
+ }
8541
+ /**
8542
+ * @param {number} period
8543
+ * @param {number} lag
8544
+ */
8545
+ constructor(period, lag) {
8546
+ try {
8547
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
8548
+ wasm.grangercausality_new(retptr, period, lag);
8549
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
8550
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
8551
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
8552
+ if (r2) {
8553
+ throw takeObject(r1);
8554
+ }
8555
+ this.__wbg_ptr = r0;
8556
+ GrangerCausalityFinalization.register(this, this.__wbg_ptr, this);
8557
+ return this;
8558
+ } finally {
8559
+ wasm.__wbindgen_add_to_stack_pointer(16);
8560
+ }
8561
+ }
8562
+ reset() {
8563
+ wasm.grangercausality_reset(this.__wbg_ptr);
8564
+ }
8565
+ /**
8566
+ * @param {number} a
8567
+ * @param {number} b
8568
+ * @returns {number | undefined}
8569
+ */
8570
+ update(a, b) {
8571
+ try {
8572
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
8573
+ wasm.grangercausality_update(retptr, this.__wbg_ptr, a, b);
8574
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
8575
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
8576
+ return r0 === 0 ? undefined : r2;
8577
+ } finally {
8578
+ wasm.__wbindgen_add_to_stack_pointer(16);
8579
+ }
8580
+ }
8581
+ /**
8582
+ * @returns {number}
8583
+ */
8584
+ warmupPeriod() {
8585
+ const ret = wasm.grangercausality_warmupPeriod(this.__wbg_ptr);
8586
+ return ret >>> 0;
8587
+ }
8588
+ }
8589
+ if (Symbol.dispose) GrangerCausality.prototype[Symbol.dispose] = GrangerCausality.prototype.free;
8590
+
7818
8591
  export class GravestoneDoji {
7819
8592
  __destroy_into_raw() {
7820
8593
  const ptr = this.__wbg_ptr;
@@ -8595,6 +9368,88 @@ export class HiLoActivator {
8595
9368
  }
8596
9369
  if (Symbol.dispose) HiLoActivator.prototype[Symbol.dispose] = HiLoActivator.prototype.free;
8597
9370
 
9371
+ export class HighLowIndex {
9372
+ __destroy_into_raw() {
9373
+ const ptr = this.__wbg_ptr;
9374
+ this.__wbg_ptr = 0;
9375
+ HighLowIndexFinalization.unregister(this);
9376
+ return ptr;
9377
+ }
9378
+ free() {
9379
+ const ptr = this.__destroy_into_raw();
9380
+ wasm.__wbg_highlowindex_free(ptr, 0);
9381
+ }
9382
+ /**
9383
+ * @returns {boolean}
9384
+ */
9385
+ isReady() {
9386
+ const ret = wasm.highlowindex_isReady(this.__wbg_ptr);
9387
+ return ret !== 0;
9388
+ }
9389
+ /**
9390
+ * @param {number} period
9391
+ */
9392
+ constructor(period) {
9393
+ try {
9394
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
9395
+ wasm.highlowindex_new(retptr, period);
9396
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
9397
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
9398
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
9399
+ if (r2) {
9400
+ throw takeObject(r1);
9401
+ }
9402
+ this.__wbg_ptr = r0;
9403
+ HighLowIndexFinalization.register(this, this.__wbg_ptr, this);
9404
+ return this;
9405
+ } finally {
9406
+ wasm.__wbindgen_add_to_stack_pointer(16);
9407
+ }
9408
+ }
9409
+ reset() {
9410
+ wasm.highlowindex_reset(this.__wbg_ptr);
9411
+ }
9412
+ /**
9413
+ * @param {Float64Array} change
9414
+ * @param {Float64Array} volume
9415
+ * @param {Float64Array} new_high
9416
+ * @param {Float64Array} new_low
9417
+ * @returns {number | undefined}
9418
+ */
9419
+ update(change, volume, new_high, new_low) {
9420
+ try {
9421
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
9422
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
9423
+ const len0 = WASM_VECTOR_LEN;
9424
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
9425
+ const len1 = WASM_VECTOR_LEN;
9426
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
9427
+ const len2 = WASM_VECTOR_LEN;
9428
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
9429
+ const len3 = WASM_VECTOR_LEN;
9430
+ wasm.highlowindex_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
9431
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
9432
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
9433
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
9434
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
9435
+ if (r5) {
9436
+ throw takeObject(r4);
9437
+ }
9438
+ return r0 === 0 ? undefined : r2;
9439
+ } finally {
9440
+ wasm.__wbindgen_add_to_stack_pointer(32);
9441
+ }
9442
+ }
9443
+ /**
9444
+ * @returns {number}
9445
+ */
9446
+ warmupPeriod() {
9447
+ const ret = wasm.highlowindex_warmupPeriod(this.__wbg_ptr);
9448
+ return ret >>> 0;
9449
+ }
9450
+ }
9451
+ if (Symbol.dispose) HighLowIndex.prototype[Symbol.dispose] = HighLowIndex.prototype.free;
9452
+
8598
9453
  export class HighWave {
8599
9454
  __destroy_into_raw() {
8600
9455
  const ptr = this.__wbg_ptr;
@@ -10489,23 +11344,111 @@ export class KagiBars {
10489
11344
  * @param {number} close
10490
11345
  * @returns {Array<any>}
10491
11346
  */
10492
- update(close) {
11347
+ update(close) {
11348
+ try {
11349
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
11350
+ wasm.kagibars_update(retptr, this.__wbg_ptr, close);
11351
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
11352
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
11353
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
11354
+ if (r2) {
11355
+ throw takeObject(r1);
11356
+ }
11357
+ return takeObject(r0);
11358
+ } finally {
11359
+ wasm.__wbindgen_add_to_stack_pointer(16);
11360
+ }
11361
+ }
11362
+ }
11363
+ if (Symbol.dispose) KagiBars.prototype[Symbol.dispose] = KagiBars.prototype.free;
11364
+
11365
+ export class KalmanHedgeRatio {
11366
+ __destroy_into_raw() {
11367
+ const ptr = this.__wbg_ptr;
11368
+ this.__wbg_ptr = 0;
11369
+ KalmanHedgeRatioFinalization.unregister(this);
11370
+ return ptr;
11371
+ }
11372
+ free() {
11373
+ const ptr = this.__destroy_into_raw();
11374
+ wasm.__wbg_kalmanhedgeratio_free(ptr, 0);
11375
+ }
11376
+ /**
11377
+ * Flat `Float64Array` of length `3 * n`:
11378
+ * `[hedgeRatio0, intercept0, spread0, hedgeRatio1, ...]`. Warmup rows are NaN.
11379
+ * @param {Float64Array} a
11380
+ * @param {Float64Array} b
11381
+ * @returns {Float64Array}
11382
+ */
11383
+ batch(a, b) {
11384
+ try {
11385
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
11386
+ const ptr0 = passArrayF64ToWasm0(a, wasm.__wbindgen_export3);
11387
+ const len0 = WASM_VECTOR_LEN;
11388
+ const ptr1 = passArrayF64ToWasm0(b, wasm.__wbindgen_export3);
11389
+ const len1 = WASM_VECTOR_LEN;
11390
+ wasm.kalmanhedgeratio_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
11391
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
11392
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
11393
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
11394
+ if (r2) {
11395
+ throw takeObject(r1);
11396
+ }
11397
+ return takeObject(r0);
11398
+ } finally {
11399
+ wasm.__wbindgen_add_to_stack_pointer(16);
11400
+ }
11401
+ }
11402
+ /**
11403
+ * @returns {boolean}
11404
+ */
11405
+ isReady() {
11406
+ const ret = wasm.kalmanhedgeratio_isReady(this.__wbg_ptr);
11407
+ return ret !== 0;
11408
+ }
11409
+ /**
11410
+ * @param {number} delta
11411
+ * @param {number} observation_var
11412
+ */
11413
+ constructor(delta, observation_var) {
10493
11414
  try {
10494
11415
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
10495
- wasm.kagibars_update(retptr, this.__wbg_ptr, close);
11416
+ wasm.kalmanhedgeratio_new(retptr, delta, observation_var);
10496
11417
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
10497
11418
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
10498
11419
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
10499
11420
  if (r2) {
10500
11421
  throw takeObject(r1);
10501
11422
  }
10502
- return takeObject(r0);
11423
+ this.__wbg_ptr = r0;
11424
+ KalmanHedgeRatioFinalization.register(this, this.__wbg_ptr, this);
11425
+ return this;
10503
11426
  } finally {
10504
11427
  wasm.__wbindgen_add_to_stack_pointer(16);
10505
11428
  }
10506
11429
  }
11430
+ reset() {
11431
+ wasm.kalmanhedgeratio_reset(this.__wbg_ptr);
11432
+ }
11433
+ /**
11434
+ * Returns `{ hedgeRatio, intercept, spread }`, or `null` during warmup.
11435
+ * @param {number} a
11436
+ * @param {number} b
11437
+ * @returns {any}
11438
+ */
11439
+ update(a, b) {
11440
+ const ret = wasm.kalmanhedgeratio_update(this.__wbg_ptr, a, b);
11441
+ return takeObject(ret);
11442
+ }
11443
+ /**
11444
+ * @returns {number}
11445
+ */
11446
+ warmupPeriod() {
11447
+ const ret = wasm.kalmanhedgeratio_warmupPeriod(this.__wbg_ptr);
11448
+ return ret >>> 0;
11449
+ }
10507
11450
  }
10508
- if (Symbol.dispose) KagiBars.prototype[Symbol.dispose] = KagiBars.prototype.free;
11451
+ if (Symbol.dispose) KalmanHedgeRatio.prototype[Symbol.dispose] = KalmanHedgeRatio.prototype.free;
10509
11452
 
10510
11453
  export class KellyCriterion {
10511
11454
  __destroy_into_raw() {
@@ -13280,6 +14223,142 @@ export class MaxDrawdown {
13280
14223
  }
13281
14224
  if (Symbol.dispose) MaxDrawdown.prototype[Symbol.dispose] = MaxDrawdown.prototype.free;
13282
14225
 
14226
+ export class McClellanOscillator {
14227
+ __destroy_into_raw() {
14228
+ const ptr = this.__wbg_ptr;
14229
+ this.__wbg_ptr = 0;
14230
+ McClellanOscillatorFinalization.unregister(this);
14231
+ return ptr;
14232
+ }
14233
+ free() {
14234
+ const ptr = this.__destroy_into_raw();
14235
+ wasm.__wbg_mcclellanoscillator_free(ptr, 0);
14236
+ }
14237
+ /**
14238
+ * @returns {boolean}
14239
+ */
14240
+ isReady() {
14241
+ const ret = wasm.mcclellanoscillator_isReady(this.__wbg_ptr);
14242
+ return ret !== 0;
14243
+ }
14244
+ constructor() {
14245
+ const ret = wasm.mcclellanoscillator_new();
14246
+ this.__wbg_ptr = ret;
14247
+ McClellanOscillatorFinalization.register(this, this.__wbg_ptr, this);
14248
+ return this;
14249
+ }
14250
+ reset() {
14251
+ wasm.mcclellanoscillator_reset(this.__wbg_ptr);
14252
+ }
14253
+ /**
14254
+ * @param {Float64Array} change
14255
+ * @param {Float64Array} volume
14256
+ * @param {Float64Array} new_high
14257
+ * @param {Float64Array} new_low
14258
+ * @returns {number | undefined}
14259
+ */
14260
+ update(change, volume, new_high, new_low) {
14261
+ try {
14262
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
14263
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
14264
+ const len0 = WASM_VECTOR_LEN;
14265
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
14266
+ const len1 = WASM_VECTOR_LEN;
14267
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
14268
+ const len2 = WASM_VECTOR_LEN;
14269
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
14270
+ const len3 = WASM_VECTOR_LEN;
14271
+ wasm.mcclellanoscillator_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
14272
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
14273
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
14274
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
14275
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
14276
+ if (r5) {
14277
+ throw takeObject(r4);
14278
+ }
14279
+ return r0 === 0 ? undefined : r2;
14280
+ } finally {
14281
+ wasm.__wbindgen_add_to_stack_pointer(32);
14282
+ }
14283
+ }
14284
+ /**
14285
+ * @returns {number}
14286
+ */
14287
+ warmupPeriod() {
14288
+ const ret = wasm.mcclellanoscillator_warmupPeriod(this.__wbg_ptr);
14289
+ return ret >>> 0;
14290
+ }
14291
+ }
14292
+ if (Symbol.dispose) McClellanOscillator.prototype[Symbol.dispose] = McClellanOscillator.prototype.free;
14293
+
14294
+ export class McClellanSummationIndex {
14295
+ __destroy_into_raw() {
14296
+ const ptr = this.__wbg_ptr;
14297
+ this.__wbg_ptr = 0;
14298
+ McClellanSummationIndexFinalization.unregister(this);
14299
+ return ptr;
14300
+ }
14301
+ free() {
14302
+ const ptr = this.__destroy_into_raw();
14303
+ wasm.__wbg_mcclellansummationindex_free(ptr, 0);
14304
+ }
14305
+ /**
14306
+ * @returns {boolean}
14307
+ */
14308
+ isReady() {
14309
+ const ret = wasm.mcclellansummationindex_isReady(this.__wbg_ptr);
14310
+ return ret !== 0;
14311
+ }
14312
+ constructor() {
14313
+ const ret = wasm.mcclellansummationindex_new();
14314
+ this.__wbg_ptr = ret;
14315
+ McClellanSummationIndexFinalization.register(this, this.__wbg_ptr, this);
14316
+ return this;
14317
+ }
14318
+ reset() {
14319
+ wasm.mcclellansummationindex_reset(this.__wbg_ptr);
14320
+ }
14321
+ /**
14322
+ * @param {Float64Array} change
14323
+ * @param {Float64Array} volume
14324
+ * @param {Float64Array} new_high
14325
+ * @param {Float64Array} new_low
14326
+ * @returns {number | undefined}
14327
+ */
14328
+ update(change, volume, new_high, new_low) {
14329
+ try {
14330
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
14331
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
14332
+ const len0 = WASM_VECTOR_LEN;
14333
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
14334
+ const len1 = WASM_VECTOR_LEN;
14335
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
14336
+ const len2 = WASM_VECTOR_LEN;
14337
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
14338
+ const len3 = WASM_VECTOR_LEN;
14339
+ wasm.mcclellansummationindex_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
14340
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
14341
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
14342
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
14343
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
14344
+ if (r5) {
14345
+ throw takeObject(r4);
14346
+ }
14347
+ return r0 === 0 ? undefined : r2;
14348
+ } finally {
14349
+ wasm.__wbindgen_add_to_stack_pointer(32);
14350
+ }
14351
+ }
14352
+ /**
14353
+ * @returns {number}
14354
+ */
14355
+ warmupPeriod() {
14356
+ const ret = wasm.mcclellansummationindex_warmupPeriod(this.__wbg_ptr);
14357
+ return ret >>> 0;
14358
+ }
14359
+ }
14360
+ if (Symbol.dispose) McClellanSummationIndex.prototype[Symbol.dispose] = McClellanSummationIndex.prototype.free;
14361
+
13283
14362
  export class McGinleyDynamic {
13284
14363
  __destroy_into_raw() {
13285
14364
  const ptr = this.__wbg_ptr;
@@ -13905,6 +14984,74 @@ export class NVI {
13905
14984
  }
13906
14985
  if (Symbol.dispose) NVI.prototype[Symbol.dispose] = NVI.prototype.free;
13907
14986
 
14987
+ export class NewHighsNewLows {
14988
+ __destroy_into_raw() {
14989
+ const ptr = this.__wbg_ptr;
14990
+ this.__wbg_ptr = 0;
14991
+ NewHighsNewLowsFinalization.unregister(this);
14992
+ return ptr;
14993
+ }
14994
+ free() {
14995
+ const ptr = this.__destroy_into_raw();
14996
+ wasm.__wbg_newhighsnewlows_free(ptr, 0);
14997
+ }
14998
+ /**
14999
+ * @returns {boolean}
15000
+ */
15001
+ isReady() {
15002
+ const ret = wasm.newhighsnewlows_isReady(this.__wbg_ptr);
15003
+ return ret !== 0;
15004
+ }
15005
+ constructor() {
15006
+ const ret = wasm.newhighsnewlows_new();
15007
+ this.__wbg_ptr = ret;
15008
+ NewHighsNewLowsFinalization.register(this, this.__wbg_ptr, this);
15009
+ return this;
15010
+ }
15011
+ reset() {
15012
+ wasm.newhighsnewlows_reset(this.__wbg_ptr);
15013
+ }
15014
+ /**
15015
+ * @param {Float64Array} change
15016
+ * @param {Float64Array} volume
15017
+ * @param {Float64Array} new_high
15018
+ * @param {Float64Array} new_low
15019
+ * @returns {number | undefined}
15020
+ */
15021
+ update(change, volume, new_high, new_low) {
15022
+ try {
15023
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
15024
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
15025
+ const len0 = WASM_VECTOR_LEN;
15026
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
15027
+ const len1 = WASM_VECTOR_LEN;
15028
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
15029
+ const len2 = WASM_VECTOR_LEN;
15030
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
15031
+ const len3 = WASM_VECTOR_LEN;
15032
+ wasm.newhighsnewlows_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
15033
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
15034
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
15035
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
15036
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
15037
+ if (r5) {
15038
+ throw takeObject(r4);
15039
+ }
15040
+ return r0 === 0 ? undefined : r2;
15041
+ } finally {
15042
+ wasm.__wbindgen_add_to_stack_pointer(32);
15043
+ }
15044
+ }
15045
+ /**
15046
+ * @returns {number}
15047
+ */
15048
+ warmupPeriod() {
15049
+ const ret = wasm.newhighsnewlows_warmupPeriod(this.__wbg_ptr);
15050
+ return ret >>> 0;
15051
+ }
15052
+ }
15053
+ if (Symbol.dispose) NewHighsNewLows.prototype[Symbol.dispose] = NewHighsNewLows.prototype.free;
15054
+
13908
15055
  export class OBV {
13909
15056
  __destroy_into_raw() {
13910
15057
  const ptr = this.__wbg_ptr;
@@ -14743,18 +15890,111 @@ export class OrderBookImbalanceTopN {
14743
15890
  }
14744
15891
  return r0 === 0 ? undefined : r2;
14745
15892
  } finally {
14746
- wasm.__wbindgen_add_to_stack_pointer(32);
15893
+ wasm.__wbindgen_add_to_stack_pointer(32);
15894
+ }
15895
+ }
15896
+ /**
15897
+ * @returns {number}
15898
+ */
15899
+ warmupPeriod() {
15900
+ const ret = wasm.orderbookimbalancetopn_warmupPeriod(this.__wbg_ptr);
15901
+ return ret >>> 0;
15902
+ }
15903
+ }
15904
+ if (Symbol.dispose) OrderBookImbalanceTopN.prototype[Symbol.dispose] = OrderBookImbalanceTopN.prototype.free;
15905
+
15906
+ export class OuHalfLife {
15907
+ __destroy_into_raw() {
15908
+ const ptr = this.__wbg_ptr;
15909
+ this.__wbg_ptr = 0;
15910
+ OuHalfLifeFinalization.unregister(this);
15911
+ return ptr;
15912
+ }
15913
+ free() {
15914
+ const ptr = this.__destroy_into_raw();
15915
+ wasm.__wbg_ouhalflife_free(ptr, 0);
15916
+ }
15917
+ /**
15918
+ * Batch over two equally-sized arrays. Returns one `f64` per
15919
+ * input position (`NaN` during warmup).
15920
+ * @param {Float64Array} x
15921
+ * @param {Float64Array} y
15922
+ * @returns {Float64Array}
15923
+ */
15924
+ batch(x, y) {
15925
+ try {
15926
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
15927
+ const ptr0 = passArrayF64ToWasm0(x, wasm.__wbindgen_export3);
15928
+ const len0 = WASM_VECTOR_LEN;
15929
+ const ptr1 = passArrayF64ToWasm0(y, wasm.__wbindgen_export3);
15930
+ const len1 = WASM_VECTOR_LEN;
15931
+ wasm.ouhalflife_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
15932
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
15933
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
15934
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
15935
+ if (r2) {
15936
+ throw takeObject(r1);
15937
+ }
15938
+ return takeObject(r0);
15939
+ } finally {
15940
+ wasm.__wbindgen_add_to_stack_pointer(16);
15941
+ }
15942
+ }
15943
+ /**
15944
+ * @returns {boolean}
15945
+ */
15946
+ isReady() {
15947
+ const ret = wasm.ouhalflife_isReady(this.__wbg_ptr);
15948
+ return ret !== 0;
15949
+ }
15950
+ /**
15951
+ * @param {number} period
15952
+ */
15953
+ constructor(period) {
15954
+ try {
15955
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
15956
+ wasm.ouhalflife_new(retptr, period);
15957
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
15958
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
15959
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
15960
+ if (r2) {
15961
+ throw takeObject(r1);
15962
+ }
15963
+ this.__wbg_ptr = r0;
15964
+ OuHalfLifeFinalization.register(this, this.__wbg_ptr, this);
15965
+ return this;
15966
+ } finally {
15967
+ wasm.__wbindgen_add_to_stack_pointer(16);
15968
+ }
15969
+ }
15970
+ reset() {
15971
+ wasm.ouhalflife_reset(this.__wbg_ptr);
15972
+ }
15973
+ /**
15974
+ * @param {number} x
15975
+ * @param {number} y
15976
+ * @returns {number | undefined}
15977
+ */
15978
+ update(x, y) {
15979
+ try {
15980
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
15981
+ wasm.ouhalflife_update(retptr, this.__wbg_ptr, x, y);
15982
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
15983
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
15984
+ return r0 === 0 ? undefined : r2;
15985
+ } finally {
15986
+ wasm.__wbindgen_add_to_stack_pointer(16);
14747
15987
  }
14748
15988
  }
14749
15989
  /**
14750
15990
  * @returns {number}
14751
15991
  */
14752
15992
  warmupPeriod() {
14753
- const ret = wasm.orderbookimbalancetopn_warmupPeriod(this.__wbg_ptr);
15993
+ const ret = wasm.ouhalflife_warmupPeriod(this.__wbg_ptr);
14754
15994
  return ret >>> 0;
14755
15995
  }
14756
15996
  }
14757
- if (Symbol.dispose) OrderBookImbalanceTopN.prototype[Symbol.dispose] = OrderBookImbalanceTopN.prototype.free;
15997
+ if (Symbol.dispose) OuHalfLife.prototype[Symbol.dispose] = OuHalfLife.prototype.free;
14758
15998
 
14759
15999
  export class PGO {
14760
16000
  __destroy_into_raw() {
@@ -15808,6 +17048,77 @@ export class PearsonCorrelation {
15808
17048
  }
15809
17049
  if (Symbol.dispose) PearsonCorrelation.prototype[Symbol.dispose] = PearsonCorrelation.prototype.free;
15810
17050
 
17051
+ export class PercentAboveMa {
17052
+ __destroy_into_raw() {
17053
+ const ptr = this.__wbg_ptr;
17054
+ this.__wbg_ptr = 0;
17055
+ PercentAboveMaFinalization.unregister(this);
17056
+ return ptr;
17057
+ }
17058
+ free() {
17059
+ const ptr = this.__destroy_into_raw();
17060
+ wasm.__wbg_percentabovema_free(ptr, 0);
17061
+ }
17062
+ /**
17063
+ * @returns {boolean}
17064
+ */
17065
+ isReady() {
17066
+ const ret = wasm.percentabovema_isReady(this.__wbg_ptr);
17067
+ return ret !== 0;
17068
+ }
17069
+ constructor() {
17070
+ const ret = wasm.percentabovema_new();
17071
+ this.__wbg_ptr = ret;
17072
+ PercentAboveMaFinalization.register(this, this.__wbg_ptr, this);
17073
+ return this;
17074
+ }
17075
+ reset() {
17076
+ wasm.percentabovema_reset(this.__wbg_ptr);
17077
+ }
17078
+ /**
17079
+ * @param {Float64Array} change
17080
+ * @param {Float64Array} volume
17081
+ * @param {Float64Array} new_high
17082
+ * @param {Float64Array} new_low
17083
+ * @param {Float64Array} above_ma
17084
+ * @returns {number | undefined}
17085
+ */
17086
+ update(change, volume, new_high, new_low, above_ma) {
17087
+ try {
17088
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
17089
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
17090
+ const len0 = WASM_VECTOR_LEN;
17091
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
17092
+ const len1 = WASM_VECTOR_LEN;
17093
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
17094
+ const len2 = WASM_VECTOR_LEN;
17095
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
17096
+ const len3 = WASM_VECTOR_LEN;
17097
+ const ptr4 = passArrayF64ToWasm0(above_ma, wasm.__wbindgen_export3);
17098
+ const len4 = WASM_VECTOR_LEN;
17099
+ wasm.percentabovema_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4);
17100
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
17101
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
17102
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
17103
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
17104
+ if (r5) {
17105
+ throw takeObject(r4);
17106
+ }
17107
+ return r0 === 0 ? undefined : r2;
17108
+ } finally {
17109
+ wasm.__wbindgen_add_to_stack_pointer(32);
17110
+ }
17111
+ }
17112
+ /**
17113
+ * @returns {number}
17114
+ */
17115
+ warmupPeriod() {
17116
+ const ret = wasm.percentabovema_warmupPeriod(this.__wbg_ptr);
17117
+ return ret >>> 0;
17118
+ }
17119
+ }
17120
+ if (Symbol.dispose) PercentAboveMa.prototype[Symbol.dispose] = PercentAboveMa.prototype.free;
17121
+
15811
17122
  export class PercentB {
15812
17123
  __destroy_into_raw() {
15813
17124
  const ptr = this.__wbg_ptr;
@@ -17512,71 +18823,265 @@ export class RisingThreeMethods {
17512
18823
  return this;
17513
18824
  }
17514
18825
  reset() {
17515
- wasm.risingthreemethods_reset(this.__wbg_ptr);
18826
+ wasm.risingthreemethods_reset(this.__wbg_ptr);
18827
+ }
18828
+ /**
18829
+ * @param {number} open
18830
+ * @param {number} high
18831
+ * @param {number} low
18832
+ * @param {number} close
18833
+ * @returns {number | undefined}
18834
+ */
18835
+ update(open, high, low, close) {
18836
+ try {
18837
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
18838
+ wasm.risingthreemethods_update(retptr, this.__wbg_ptr, open, high, low, close);
18839
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
18840
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
18841
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
18842
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
18843
+ if (r5) {
18844
+ throw takeObject(r4);
18845
+ }
18846
+ return r0 === 0 ? undefined : r2;
18847
+ } finally {
18848
+ wasm.__wbindgen_add_to_stack_pointer(32);
18849
+ }
18850
+ }
18851
+ /**
18852
+ * @returns {number}
18853
+ */
18854
+ warmupPeriod() {
18855
+ const ret = wasm.risingthreemethods_warmupPeriod(this.__wbg_ptr);
18856
+ return ret >>> 0;
18857
+ }
18858
+ }
18859
+ if (Symbol.dispose) RisingThreeMethods.prototype[Symbol.dispose] = RisingThreeMethods.prototype.free;
18860
+
18861
+ export class RogersSatchellVolatility {
18862
+ __destroy_into_raw() {
18863
+ const ptr = this.__wbg_ptr;
18864
+ this.__wbg_ptr = 0;
18865
+ RogersSatchellVolatilityFinalization.unregister(this);
18866
+ return ptr;
18867
+ }
18868
+ free() {
18869
+ const ptr = this.__destroy_into_raw();
18870
+ wasm.__wbg_rogerssatchellvolatility_free(ptr, 0);
18871
+ }
18872
+ /**
18873
+ * @param {Float64Array} open
18874
+ * @param {Float64Array} high
18875
+ * @param {Float64Array} low
18876
+ * @param {Float64Array} close
18877
+ * @returns {Float64Array}
18878
+ */
18879
+ batch(open, high, low, close) {
18880
+ try {
18881
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
18882
+ const ptr0 = passArrayF64ToWasm0(open, wasm.__wbindgen_export3);
18883
+ const len0 = WASM_VECTOR_LEN;
18884
+ const ptr1 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
18885
+ const len1 = WASM_VECTOR_LEN;
18886
+ const ptr2 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
18887
+ const len2 = WASM_VECTOR_LEN;
18888
+ const ptr3 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
18889
+ const len3 = WASM_VECTOR_LEN;
18890
+ wasm.rogerssatchellvolatility_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
18891
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
18892
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
18893
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
18894
+ if (r2) {
18895
+ throw takeObject(r1);
18896
+ }
18897
+ return takeObject(r0);
18898
+ } finally {
18899
+ wasm.__wbindgen_add_to_stack_pointer(16);
18900
+ }
18901
+ }
18902
+ /**
18903
+ * @returns {boolean}
18904
+ */
18905
+ isReady() {
18906
+ const ret = wasm.rogerssatchellvolatility_isReady(this.__wbg_ptr);
18907
+ return ret !== 0;
18908
+ }
18909
+ /**
18910
+ * @param {number} period
18911
+ * @param {number} trading_periods
18912
+ */
18913
+ constructor(period, trading_periods) {
18914
+ try {
18915
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
18916
+ wasm.rogerssatchellvolatility_new(retptr, period, trading_periods);
18917
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
18918
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
18919
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
18920
+ if (r2) {
18921
+ throw takeObject(r1);
18922
+ }
18923
+ this.__wbg_ptr = r0;
18924
+ RogersSatchellVolatilityFinalization.register(this, this.__wbg_ptr, this);
18925
+ return this;
18926
+ } finally {
18927
+ wasm.__wbindgen_add_to_stack_pointer(16);
18928
+ }
18929
+ }
18930
+ reset() {
18931
+ wasm.rogerssatchellvolatility_reset(this.__wbg_ptr);
18932
+ }
18933
+ /**
18934
+ * @param {number} open
18935
+ * @param {number} high
18936
+ * @param {number} low
18937
+ * @param {number} close
18938
+ * @returns {number | undefined}
18939
+ */
18940
+ update(open, high, low, close) {
18941
+ try {
18942
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
18943
+ wasm.rogerssatchellvolatility_update(retptr, this.__wbg_ptr, open, high, low, close);
18944
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
18945
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
18946
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
18947
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
18948
+ if (r5) {
18949
+ throw takeObject(r4);
18950
+ }
18951
+ return r0 === 0 ? undefined : r2;
18952
+ } finally {
18953
+ wasm.__wbindgen_add_to_stack_pointer(32);
18954
+ }
18955
+ }
18956
+ /**
18957
+ * @returns {number}
18958
+ */
18959
+ warmupPeriod() {
18960
+ const ret = wasm.rogerssatchellvolatility_warmupPeriod(this.__wbg_ptr);
18961
+ return ret >>> 0;
18962
+ }
18963
+ }
18964
+ if (Symbol.dispose) RogersSatchellVolatility.prototype[Symbol.dispose] = RogersSatchellVolatility.prototype.free;
18965
+
18966
+ export class RollingCorrelation {
18967
+ __destroy_into_raw() {
18968
+ const ptr = this.__wbg_ptr;
18969
+ this.__wbg_ptr = 0;
18970
+ RollingCorrelationFinalization.unregister(this);
18971
+ return ptr;
18972
+ }
18973
+ free() {
18974
+ const ptr = this.__destroy_into_raw();
18975
+ wasm.__wbg_rollingcorrelation_free(ptr, 0);
18976
+ }
18977
+ /**
18978
+ * Batch over two equally-sized arrays. Returns one `f64` per
18979
+ * input position (`NaN` during warmup).
18980
+ * @param {Float64Array} x
18981
+ * @param {Float64Array} y
18982
+ * @returns {Float64Array}
18983
+ */
18984
+ batch(x, y) {
18985
+ try {
18986
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
18987
+ const ptr0 = passArrayF64ToWasm0(x, wasm.__wbindgen_export3);
18988
+ const len0 = WASM_VECTOR_LEN;
18989
+ const ptr1 = passArrayF64ToWasm0(y, wasm.__wbindgen_export3);
18990
+ const len1 = WASM_VECTOR_LEN;
18991
+ wasm.rollingcorrelation_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
18992
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
18993
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
18994
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
18995
+ if (r2) {
18996
+ throw takeObject(r1);
18997
+ }
18998
+ return takeObject(r0);
18999
+ } finally {
19000
+ wasm.__wbindgen_add_to_stack_pointer(16);
19001
+ }
19002
+ }
19003
+ /**
19004
+ * @returns {boolean}
19005
+ */
19006
+ isReady() {
19007
+ const ret = wasm.rollingcorrelation_isReady(this.__wbg_ptr);
19008
+ return ret !== 0;
19009
+ }
19010
+ /**
19011
+ * @param {number} period
19012
+ */
19013
+ constructor(period) {
19014
+ try {
19015
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
19016
+ wasm.rollingcorrelation_new(retptr, period);
19017
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
19018
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
19019
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
19020
+ if (r2) {
19021
+ throw takeObject(r1);
19022
+ }
19023
+ this.__wbg_ptr = r0;
19024
+ RollingCorrelationFinalization.register(this, this.__wbg_ptr, this);
19025
+ return this;
19026
+ } finally {
19027
+ wasm.__wbindgen_add_to_stack_pointer(16);
19028
+ }
19029
+ }
19030
+ reset() {
19031
+ wasm.rollingcorrelation_reset(this.__wbg_ptr);
17516
19032
  }
17517
19033
  /**
17518
- * @param {number} open
17519
- * @param {number} high
17520
- * @param {number} low
17521
- * @param {number} close
19034
+ * @param {number} x
19035
+ * @param {number} y
17522
19036
  * @returns {number | undefined}
17523
19037
  */
17524
- update(open, high, low, close) {
19038
+ update(x, y) {
17525
19039
  try {
17526
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
17527
- wasm.risingthreemethods_update(retptr, this.__wbg_ptr, open, high, low, close);
19040
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
19041
+ wasm.rollingcorrelation_update(retptr, this.__wbg_ptr, x, y);
17528
19042
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
17529
19043
  var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
17530
- var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
17531
- var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
17532
- if (r5) {
17533
- throw takeObject(r4);
17534
- }
17535
19044
  return r0 === 0 ? undefined : r2;
17536
19045
  } finally {
17537
- wasm.__wbindgen_add_to_stack_pointer(32);
19046
+ wasm.__wbindgen_add_to_stack_pointer(16);
17538
19047
  }
17539
19048
  }
17540
19049
  /**
17541
19050
  * @returns {number}
17542
19051
  */
17543
19052
  warmupPeriod() {
17544
- const ret = wasm.risingthreemethods_warmupPeriod(this.__wbg_ptr);
19053
+ const ret = wasm.rollingcorrelation_warmupPeriod(this.__wbg_ptr);
17545
19054
  return ret >>> 0;
17546
19055
  }
17547
19056
  }
17548
- if (Symbol.dispose) RisingThreeMethods.prototype[Symbol.dispose] = RisingThreeMethods.prototype.free;
19057
+ if (Symbol.dispose) RollingCorrelation.prototype[Symbol.dispose] = RollingCorrelation.prototype.free;
17549
19058
 
17550
- export class RogersSatchellVolatility {
19059
+ export class RollingCovariance {
17551
19060
  __destroy_into_raw() {
17552
19061
  const ptr = this.__wbg_ptr;
17553
19062
  this.__wbg_ptr = 0;
17554
- RogersSatchellVolatilityFinalization.unregister(this);
19063
+ RollingCovarianceFinalization.unregister(this);
17555
19064
  return ptr;
17556
19065
  }
17557
19066
  free() {
17558
19067
  const ptr = this.__destroy_into_raw();
17559
- wasm.__wbg_rogerssatchellvolatility_free(ptr, 0);
19068
+ wasm.__wbg_rollingcovariance_free(ptr, 0);
17560
19069
  }
17561
19070
  /**
17562
- * @param {Float64Array} open
17563
- * @param {Float64Array} high
17564
- * @param {Float64Array} low
17565
- * @param {Float64Array} close
19071
+ * Batch over two equally-sized arrays. Returns one `f64` per
19072
+ * input position (`NaN` during warmup).
19073
+ * @param {Float64Array} x
19074
+ * @param {Float64Array} y
17566
19075
  * @returns {Float64Array}
17567
19076
  */
17568
- batch(open, high, low, close) {
19077
+ batch(x, y) {
17569
19078
  try {
17570
19079
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
17571
- const ptr0 = passArrayF64ToWasm0(open, wasm.__wbindgen_export3);
19080
+ const ptr0 = passArrayF64ToWasm0(x, wasm.__wbindgen_export3);
17572
19081
  const len0 = WASM_VECTOR_LEN;
17573
- const ptr1 = passArrayF64ToWasm0(high, wasm.__wbindgen_export3);
19082
+ const ptr1 = passArrayF64ToWasm0(y, wasm.__wbindgen_export3);
17574
19083
  const len1 = WASM_VECTOR_LEN;
17575
- const ptr2 = passArrayF64ToWasm0(low, wasm.__wbindgen_export3);
17576
- const len2 = WASM_VECTOR_LEN;
17577
- const ptr3 = passArrayF64ToWasm0(close, wasm.__wbindgen_export3);
17578
- const len3 = WASM_VECTOR_LEN;
17579
- wasm.rogerssatchellvolatility_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
19084
+ wasm.rollingcovariance_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
17580
19085
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
17581
19086
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
17582
19087
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -17592,17 +19097,16 @@ export class RogersSatchellVolatility {
17592
19097
  * @returns {boolean}
17593
19098
  */
17594
19099
  isReady() {
17595
- const ret = wasm.rogerssatchellvolatility_isReady(this.__wbg_ptr);
19100
+ const ret = wasm.rollingcovariance_isReady(this.__wbg_ptr);
17596
19101
  return ret !== 0;
17597
19102
  }
17598
19103
  /**
17599
19104
  * @param {number} period
17600
- * @param {number} trading_periods
17601
19105
  */
17602
- constructor(period, trading_periods) {
19106
+ constructor(period) {
17603
19107
  try {
17604
19108
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
17605
- wasm.rogerssatchellvolatility_new(retptr, period, trading_periods);
19109
+ wasm.rollingcovariance_new(retptr, period);
17606
19110
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
17607
19111
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
17608
19112
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -17610,47 +19114,40 @@ export class RogersSatchellVolatility {
17610
19114
  throw takeObject(r1);
17611
19115
  }
17612
19116
  this.__wbg_ptr = r0;
17613
- RogersSatchellVolatilityFinalization.register(this, this.__wbg_ptr, this);
19117
+ RollingCovarianceFinalization.register(this, this.__wbg_ptr, this);
17614
19118
  return this;
17615
19119
  } finally {
17616
19120
  wasm.__wbindgen_add_to_stack_pointer(16);
17617
19121
  }
17618
19122
  }
17619
19123
  reset() {
17620
- wasm.rogerssatchellvolatility_reset(this.__wbg_ptr);
19124
+ wasm.rollingcovariance_reset(this.__wbg_ptr);
17621
19125
  }
17622
19126
  /**
17623
- * @param {number} open
17624
- * @param {number} high
17625
- * @param {number} low
17626
- * @param {number} close
19127
+ * @param {number} x
19128
+ * @param {number} y
17627
19129
  * @returns {number | undefined}
17628
19130
  */
17629
- update(open, high, low, close) {
19131
+ update(x, y) {
17630
19132
  try {
17631
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
17632
- wasm.rogerssatchellvolatility_update(retptr, this.__wbg_ptr, open, high, low, close);
19133
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
19134
+ wasm.rollingcovariance_update(retptr, this.__wbg_ptr, x, y);
17633
19135
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
17634
19136
  var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
17635
- var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
17636
- var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
17637
- if (r5) {
17638
- throw takeObject(r4);
17639
- }
17640
19137
  return r0 === 0 ? undefined : r2;
17641
19138
  } finally {
17642
- wasm.__wbindgen_add_to_stack_pointer(32);
19139
+ wasm.__wbindgen_add_to_stack_pointer(16);
17643
19140
  }
17644
19141
  }
17645
19142
  /**
17646
19143
  * @returns {number}
17647
19144
  */
17648
19145
  warmupPeriod() {
17649
- const ret = wasm.rogerssatchellvolatility_warmupPeriod(this.__wbg_ptr);
19146
+ const ret = wasm.rollingcovariance_warmupPeriod(this.__wbg_ptr);
17650
19147
  return ret >>> 0;
17651
19148
  }
17652
19149
  }
17653
- if (Symbol.dispose) RogersSatchellVolatility.prototype[Symbol.dispose] = RogersSatchellVolatility.prototype.free;
19150
+ if (Symbol.dispose) RollingCovariance.prototype[Symbol.dispose] = RollingCovariance.prototype.free;
17654
19151
 
17655
19152
  export class RollingVWAP {
17656
19153
  __destroy_into_raw() {
@@ -19077,6 +20574,187 @@ export class SpinningTop {
19077
20574
  }
19078
20575
  if (Symbol.dispose) SpinningTop.prototype[Symbol.dispose] = SpinningTop.prototype.free;
19079
20576
 
20577
+ export class SpreadBollingerBands {
20578
+ __destroy_into_raw() {
20579
+ const ptr = this.__wbg_ptr;
20580
+ this.__wbg_ptr = 0;
20581
+ SpreadBollingerBandsFinalization.unregister(this);
20582
+ return ptr;
20583
+ }
20584
+ free() {
20585
+ const ptr = this.__destroy_into_raw();
20586
+ wasm.__wbg_spreadbollingerbands_free(ptr, 0);
20587
+ }
20588
+ /**
20589
+ * Flat `Float64Array` of length `4 * n`:
20590
+ * `[middle0, upper0, lower0, percentB0, middle1, ...]`. Warmup rows are NaN.
20591
+ * @param {Float64Array} a
20592
+ * @param {Float64Array} b
20593
+ * @returns {Float64Array}
20594
+ */
20595
+ batch(a, b) {
20596
+ try {
20597
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20598
+ const ptr0 = passArrayF64ToWasm0(a, wasm.__wbindgen_export3);
20599
+ const len0 = WASM_VECTOR_LEN;
20600
+ const ptr1 = passArrayF64ToWasm0(b, wasm.__wbindgen_export3);
20601
+ const len1 = WASM_VECTOR_LEN;
20602
+ wasm.spreadbollingerbands_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
20603
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20604
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
20605
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
20606
+ if (r2) {
20607
+ throw takeObject(r1);
20608
+ }
20609
+ return takeObject(r0);
20610
+ } finally {
20611
+ wasm.__wbindgen_add_to_stack_pointer(16);
20612
+ }
20613
+ }
20614
+ /**
20615
+ * @returns {boolean}
20616
+ */
20617
+ isReady() {
20618
+ const ret = wasm.spreadbollingerbands_isReady(this.__wbg_ptr);
20619
+ return ret !== 0;
20620
+ }
20621
+ /**
20622
+ * @param {number} period
20623
+ * @param {number} num_std
20624
+ */
20625
+ constructor(period, num_std) {
20626
+ try {
20627
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20628
+ wasm.spreadbollingerbands_new(retptr, period, num_std);
20629
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20630
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
20631
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
20632
+ if (r2) {
20633
+ throw takeObject(r1);
20634
+ }
20635
+ this.__wbg_ptr = r0;
20636
+ SpreadBollingerBandsFinalization.register(this, this.__wbg_ptr, this);
20637
+ return this;
20638
+ } finally {
20639
+ wasm.__wbindgen_add_to_stack_pointer(16);
20640
+ }
20641
+ }
20642
+ reset() {
20643
+ wasm.spreadbollingerbands_reset(this.__wbg_ptr);
20644
+ }
20645
+ /**
20646
+ * Returns `{ middle, upper, lower, percentB }`, or `null` during warmup.
20647
+ * @param {number} a
20648
+ * @param {number} b
20649
+ * @returns {any}
20650
+ */
20651
+ update(a, b) {
20652
+ const ret = wasm.spreadbollingerbands_update(this.__wbg_ptr, a, b);
20653
+ return takeObject(ret);
20654
+ }
20655
+ /**
20656
+ * @returns {number}
20657
+ */
20658
+ warmupPeriod() {
20659
+ const ret = wasm.spreadbollingerbands_warmupPeriod(this.__wbg_ptr);
20660
+ return ret >>> 0;
20661
+ }
20662
+ }
20663
+ if (Symbol.dispose) SpreadBollingerBands.prototype[Symbol.dispose] = SpreadBollingerBands.prototype.free;
20664
+
20665
+ export class SpreadHurst {
20666
+ __destroy_into_raw() {
20667
+ const ptr = this.__wbg_ptr;
20668
+ this.__wbg_ptr = 0;
20669
+ SpreadHurstFinalization.unregister(this);
20670
+ return ptr;
20671
+ }
20672
+ free() {
20673
+ const ptr = this.__destroy_into_raw();
20674
+ wasm.__wbg_spreadhurst_free(ptr, 0);
20675
+ }
20676
+ /**
20677
+ * Batch over two equally-sized arrays. Returns one `f64` per
20678
+ * input position (`NaN` during warmup).
20679
+ * @param {Float64Array} x
20680
+ * @param {Float64Array} y
20681
+ * @returns {Float64Array}
20682
+ */
20683
+ batch(x, y) {
20684
+ try {
20685
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20686
+ const ptr0 = passArrayF64ToWasm0(x, wasm.__wbindgen_export3);
20687
+ const len0 = WASM_VECTOR_LEN;
20688
+ const ptr1 = passArrayF64ToWasm0(y, wasm.__wbindgen_export3);
20689
+ const len1 = WASM_VECTOR_LEN;
20690
+ wasm.spreadhurst_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
20691
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20692
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
20693
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
20694
+ if (r2) {
20695
+ throw takeObject(r1);
20696
+ }
20697
+ return takeObject(r0);
20698
+ } finally {
20699
+ wasm.__wbindgen_add_to_stack_pointer(16);
20700
+ }
20701
+ }
20702
+ /**
20703
+ * @returns {boolean}
20704
+ */
20705
+ isReady() {
20706
+ const ret = wasm.spreadhurst_isReady(this.__wbg_ptr);
20707
+ return ret !== 0;
20708
+ }
20709
+ /**
20710
+ * @param {number} period
20711
+ */
20712
+ constructor(period) {
20713
+ try {
20714
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20715
+ wasm.spreadhurst_new(retptr, period);
20716
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20717
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
20718
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
20719
+ if (r2) {
20720
+ throw takeObject(r1);
20721
+ }
20722
+ this.__wbg_ptr = r0;
20723
+ SpreadHurstFinalization.register(this, this.__wbg_ptr, this);
20724
+ return this;
20725
+ } finally {
20726
+ wasm.__wbindgen_add_to_stack_pointer(16);
20727
+ }
20728
+ }
20729
+ reset() {
20730
+ wasm.spreadhurst_reset(this.__wbg_ptr);
20731
+ }
20732
+ /**
20733
+ * @param {number} x
20734
+ * @param {number} y
20735
+ * @returns {number | undefined}
20736
+ */
20737
+ update(x, y) {
20738
+ try {
20739
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
20740
+ wasm.spreadhurst_update(retptr, this.__wbg_ptr, x, y);
20741
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
20742
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
20743
+ return r0 === 0 ? undefined : r2;
20744
+ } finally {
20745
+ wasm.__wbindgen_add_to_stack_pointer(16);
20746
+ }
20747
+ }
20748
+ /**
20749
+ * @returns {number}
20750
+ */
20751
+ warmupPeriod() {
20752
+ const ret = wasm.spreadhurst_warmupPeriod(this.__wbg_ptr);
20753
+ return ret >>> 0;
20754
+ }
20755
+ }
20756
+ if (Symbol.dispose) SpreadHurst.prototype[Symbol.dispose] = SpreadHurst.prototype.free;
20757
+
19080
20758
  export class StalledPattern {
19081
20759
  __destroy_into_raw() {
19082
20760
  const ptr = this.__wbg_ptr;
@@ -22568,38 +24246,106 @@ export class Thrusting {
22568
24246
  if (r2) {
22569
24247
  throw takeObject(r1);
22570
24248
  }
22571
- return takeObject(r0);
24249
+ return takeObject(r0);
24250
+ } finally {
24251
+ wasm.__wbindgen_add_to_stack_pointer(16);
24252
+ }
24253
+ }
24254
+ /**
24255
+ * @returns {boolean}
24256
+ */
24257
+ isReady() {
24258
+ const ret = wasm.thrusting_isReady(this.__wbg_ptr);
24259
+ return ret !== 0;
24260
+ }
24261
+ constructor() {
24262
+ const ret = wasm.thrusting_new();
24263
+ this.__wbg_ptr = ret;
24264
+ ThrustingFinalization.register(this, this.__wbg_ptr, this);
24265
+ return this;
24266
+ }
24267
+ reset() {
24268
+ wasm.thrusting_reset(this.__wbg_ptr);
24269
+ }
24270
+ /**
24271
+ * @param {number} open
24272
+ * @param {number} high
24273
+ * @param {number} low
24274
+ * @param {number} close
24275
+ * @returns {number | undefined}
24276
+ */
24277
+ update(open, high, low, close) {
24278
+ try {
24279
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
24280
+ wasm.thrusting_update(retptr, this.__wbg_ptr, open, high, low, close);
24281
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
24282
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
24283
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
24284
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
24285
+ if (r5) {
24286
+ throw takeObject(r4);
24287
+ }
24288
+ return r0 === 0 ? undefined : r2;
22572
24289
  } finally {
22573
- wasm.__wbindgen_add_to_stack_pointer(16);
24290
+ wasm.__wbindgen_add_to_stack_pointer(32);
22574
24291
  }
22575
24292
  }
24293
+ /**
24294
+ * @returns {number}
24295
+ */
24296
+ warmupPeriod() {
24297
+ const ret = wasm.thrusting_warmupPeriod(this.__wbg_ptr);
24298
+ return ret >>> 0;
24299
+ }
24300
+ }
24301
+ if (Symbol.dispose) Thrusting.prototype[Symbol.dispose] = Thrusting.prototype.free;
24302
+
24303
+ export class TickIndex {
24304
+ __destroy_into_raw() {
24305
+ const ptr = this.__wbg_ptr;
24306
+ this.__wbg_ptr = 0;
24307
+ TickIndexFinalization.unregister(this);
24308
+ return ptr;
24309
+ }
24310
+ free() {
24311
+ const ptr = this.__destroy_into_raw();
24312
+ wasm.__wbg_tickindex_free(ptr, 0);
24313
+ }
22576
24314
  /**
22577
24315
  * @returns {boolean}
22578
24316
  */
22579
24317
  isReady() {
22580
- const ret = wasm.thrusting_isReady(this.__wbg_ptr);
24318
+ const ret = wasm.tickindex_isReady(this.__wbg_ptr);
22581
24319
  return ret !== 0;
22582
24320
  }
22583
24321
  constructor() {
22584
- const ret = wasm.thrusting_new();
24322
+ const ret = wasm.tickindex_new();
22585
24323
  this.__wbg_ptr = ret;
22586
- ThrustingFinalization.register(this, this.__wbg_ptr, this);
24324
+ TickIndexFinalization.register(this, this.__wbg_ptr, this);
22587
24325
  return this;
22588
24326
  }
22589
24327
  reset() {
22590
- wasm.thrusting_reset(this.__wbg_ptr);
24328
+ wasm.tickindex_reset(this.__wbg_ptr);
22591
24329
  }
22592
24330
  /**
22593
- * @param {number} open
22594
- * @param {number} high
22595
- * @param {number} low
22596
- * @param {number} close
24331
+ * @param {Float64Array} change
24332
+ * @param {Float64Array} volume
24333
+ * @param {Float64Array} new_high
24334
+ * @param {Float64Array} new_low
22597
24335
  * @returns {number | undefined}
22598
24336
  */
22599
- update(open, high, low, close) {
24337
+ update(change, volume, new_high, new_low) {
22600
24338
  try {
22601
24339
  const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
22602
- wasm.thrusting_update(retptr, this.__wbg_ptr, open, high, low, close);
24340
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
24341
+ const len0 = WASM_VECTOR_LEN;
24342
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
24343
+ const len1 = WASM_VECTOR_LEN;
24344
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
24345
+ const len2 = WASM_VECTOR_LEN;
24346
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
24347
+ const len3 = WASM_VECTOR_LEN;
24348
+ wasm.tickindex_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
22603
24349
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
22604
24350
  var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
22605
24351
  var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
@@ -22616,11 +24362,11 @@ export class Thrusting {
22616
24362
  * @returns {number}
22617
24363
  */
22618
24364
  warmupPeriod() {
22619
- const ret = wasm.thrusting_warmupPeriod(this.__wbg_ptr);
24365
+ const ret = wasm.tickindex_warmupPeriod(this.__wbg_ptr);
22620
24366
  return ret >>> 0;
22621
24367
  }
22622
24368
  }
22623
- if (Symbol.dispose) Thrusting.prototype[Symbol.dispose] = Thrusting.prototype.free;
24369
+ if (Symbol.dispose) TickIndex.prototype[Symbol.dispose] = TickIndex.prototype.free;
22624
24370
 
22625
24371
  export class TpoProfile {
22626
24372
  __destroy_into_raw() {
@@ -22884,6 +24630,74 @@ export class TreynorRatio {
22884
24630
  }
22885
24631
  if (Symbol.dispose) TreynorRatio.prototype[Symbol.dispose] = TreynorRatio.prototype.free;
22886
24632
 
24633
+ export class Trin {
24634
+ __destroy_into_raw() {
24635
+ const ptr = this.__wbg_ptr;
24636
+ this.__wbg_ptr = 0;
24637
+ TrinFinalization.unregister(this);
24638
+ return ptr;
24639
+ }
24640
+ free() {
24641
+ const ptr = this.__destroy_into_raw();
24642
+ wasm.__wbg_trin_free(ptr, 0);
24643
+ }
24644
+ /**
24645
+ * @returns {boolean}
24646
+ */
24647
+ isReady() {
24648
+ const ret = wasm.trin_isReady(this.__wbg_ptr);
24649
+ return ret !== 0;
24650
+ }
24651
+ constructor() {
24652
+ const ret = wasm.trin_new();
24653
+ this.__wbg_ptr = ret;
24654
+ TrinFinalization.register(this, this.__wbg_ptr, this);
24655
+ return this;
24656
+ }
24657
+ reset() {
24658
+ wasm.trin_reset(this.__wbg_ptr);
24659
+ }
24660
+ /**
24661
+ * @param {Float64Array} change
24662
+ * @param {Float64Array} volume
24663
+ * @param {Float64Array} new_high
24664
+ * @param {Float64Array} new_low
24665
+ * @returns {number | undefined}
24666
+ */
24667
+ update(change, volume, new_high, new_low) {
24668
+ try {
24669
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
24670
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
24671
+ const len0 = WASM_VECTOR_LEN;
24672
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
24673
+ const len1 = WASM_VECTOR_LEN;
24674
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
24675
+ const len2 = WASM_VECTOR_LEN;
24676
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
24677
+ const len3 = WASM_VECTOR_LEN;
24678
+ wasm.trin_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
24679
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
24680
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
24681
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
24682
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
24683
+ if (r5) {
24684
+ throw takeObject(r4);
24685
+ }
24686
+ return r0 === 0 ? undefined : r2;
24687
+ } finally {
24688
+ wasm.__wbindgen_add_to_stack_pointer(32);
24689
+ }
24690
+ }
24691
+ /**
24692
+ * @returns {number}
24693
+ */
24694
+ warmupPeriod() {
24695
+ const ret = wasm.trin_warmupPeriod(this.__wbg_ptr);
24696
+ return ret >>> 0;
24697
+ }
24698
+ }
24699
+ if (Symbol.dispose) Trin.prototype[Symbol.dispose] = Trin.prototype.free;
24700
+
22887
24701
  export class TrueRange {
22888
24702
  __destroy_into_raw() {
22889
24703
  const ptr = this.__wbg_ptr;
@@ -23564,6 +25378,74 @@ export class UniqueThreeRiver {
23564
25378
  }
23565
25379
  if (Symbol.dispose) UniqueThreeRiver.prototype[Symbol.dispose] = UniqueThreeRiver.prototype.free;
23566
25380
 
25381
+ export class UpDownVolumeRatio {
25382
+ __destroy_into_raw() {
25383
+ const ptr = this.__wbg_ptr;
25384
+ this.__wbg_ptr = 0;
25385
+ UpDownVolumeRatioFinalization.unregister(this);
25386
+ return ptr;
25387
+ }
25388
+ free() {
25389
+ const ptr = this.__destroy_into_raw();
25390
+ wasm.__wbg_updownvolumeratio_free(ptr, 0);
25391
+ }
25392
+ /**
25393
+ * @returns {boolean}
25394
+ */
25395
+ isReady() {
25396
+ const ret = wasm.updownvolumeratio_isReady(this.__wbg_ptr);
25397
+ return ret !== 0;
25398
+ }
25399
+ constructor() {
25400
+ const ret = wasm.updownvolumeratio_new();
25401
+ this.__wbg_ptr = ret;
25402
+ UpDownVolumeRatioFinalization.register(this, this.__wbg_ptr, this);
25403
+ return this;
25404
+ }
25405
+ reset() {
25406
+ wasm.updownvolumeratio_reset(this.__wbg_ptr);
25407
+ }
25408
+ /**
25409
+ * @param {Float64Array} change
25410
+ * @param {Float64Array} volume
25411
+ * @param {Float64Array} new_high
25412
+ * @param {Float64Array} new_low
25413
+ * @returns {number | undefined}
25414
+ */
25415
+ update(change, volume, new_high, new_low) {
25416
+ try {
25417
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-32);
25418
+ const ptr0 = passArrayF64ToWasm0(change, wasm.__wbindgen_export3);
25419
+ const len0 = WASM_VECTOR_LEN;
25420
+ const ptr1 = passArrayF64ToWasm0(volume, wasm.__wbindgen_export3);
25421
+ const len1 = WASM_VECTOR_LEN;
25422
+ const ptr2 = passArrayF64ToWasm0(new_high, wasm.__wbindgen_export3);
25423
+ const len2 = WASM_VECTOR_LEN;
25424
+ const ptr3 = passArrayF64ToWasm0(new_low, wasm.__wbindgen_export3);
25425
+ const len3 = WASM_VECTOR_LEN;
25426
+ wasm.updownvolumeratio_update(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
25427
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
25428
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
25429
+ var r4 = getDataViewMemory0().getInt32(retptr + 4 * 4, true);
25430
+ var r5 = getDataViewMemory0().getInt32(retptr + 4 * 5, true);
25431
+ if (r5) {
25432
+ throw takeObject(r4);
25433
+ }
25434
+ return r0 === 0 ? undefined : r2;
25435
+ } finally {
25436
+ wasm.__wbindgen_add_to_stack_pointer(32);
25437
+ }
25438
+ }
25439
+ /**
25440
+ * @returns {number}
25441
+ */
25442
+ warmupPeriod() {
25443
+ const ret = wasm.updownvolumeratio_warmupPeriod(this.__wbg_ptr);
25444
+ return ret >>> 0;
25445
+ }
25446
+ }
25447
+ if (Symbol.dispose) UpDownVolumeRatio.prototype[Symbol.dispose] = UpDownVolumeRatio.prototype.free;
25448
+
23567
25449
  export class UpsideGapThreeMethods {
23568
25450
  __destroy_into_raw() {
23569
25451
  const ptr = this.__wbg_ptr;
@@ -24330,6 +26212,100 @@ export class Variance {
24330
26212
  }
24331
26213
  if (Symbol.dispose) Variance.prototype[Symbol.dispose] = Variance.prototype.free;
24332
26214
 
26215
+ export class VarianceRatio {
26216
+ __destroy_into_raw() {
26217
+ const ptr = this.__wbg_ptr;
26218
+ this.__wbg_ptr = 0;
26219
+ VarianceRatioFinalization.unregister(this);
26220
+ return ptr;
26221
+ }
26222
+ free() {
26223
+ const ptr = this.__destroy_into_raw();
26224
+ wasm.__wbg_varianceratio_free(ptr, 0);
26225
+ }
26226
+ /**
26227
+ * Batch over two equally-sized arrays of prices. Returns one `f64` per
26228
+ * input position (`NaN` during warmup).
26229
+ * @param {Float64Array} a
26230
+ * @param {Float64Array} b
26231
+ * @returns {Float64Array}
26232
+ */
26233
+ batch(a, b) {
26234
+ try {
26235
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
26236
+ const ptr0 = passArrayF64ToWasm0(a, wasm.__wbindgen_export3);
26237
+ const len0 = WASM_VECTOR_LEN;
26238
+ const ptr1 = passArrayF64ToWasm0(b, wasm.__wbindgen_export3);
26239
+ const len1 = WASM_VECTOR_LEN;
26240
+ wasm.varianceratio_batch(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
26241
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
26242
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
26243
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
26244
+ if (r2) {
26245
+ throw takeObject(r1);
26246
+ }
26247
+ return takeObject(r0);
26248
+ } finally {
26249
+ wasm.__wbindgen_add_to_stack_pointer(16);
26250
+ }
26251
+ }
26252
+ /**
26253
+ * @returns {boolean}
26254
+ */
26255
+ isReady() {
26256
+ const ret = wasm.varianceratio_isReady(this.__wbg_ptr);
26257
+ return ret !== 0;
26258
+ }
26259
+ /**
26260
+ * @param {number} period
26261
+ * @param {number} q
26262
+ */
26263
+ constructor(period, q) {
26264
+ try {
26265
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
26266
+ wasm.varianceratio_new(retptr, period, q);
26267
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
26268
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
26269
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
26270
+ if (r2) {
26271
+ throw takeObject(r1);
26272
+ }
26273
+ this.__wbg_ptr = r0;
26274
+ VarianceRatioFinalization.register(this, this.__wbg_ptr, this);
26275
+ return this;
26276
+ } finally {
26277
+ wasm.__wbindgen_add_to_stack_pointer(16);
26278
+ }
26279
+ }
26280
+ reset() {
26281
+ wasm.varianceratio_reset(this.__wbg_ptr);
26282
+ }
26283
+ /**
26284
+ * @param {number} a
26285
+ * @param {number} b
26286
+ * @returns {number | undefined}
26287
+ */
26288
+ update(a, b) {
26289
+ try {
26290
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
26291
+ wasm.varianceratio_update(retptr, this.__wbg_ptr, a, b);
26292
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
26293
+ var r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);
26294
+ return r0 === 0 ? undefined : r2;
26295
+ } finally {
26296
+ wasm.__wbindgen_add_to_stack_pointer(16);
26297
+ }
26298
+ }
26299
+ /**
26300
+ * @returns {number}
26301
+ */
26302
+ warmupPeriod() {
26303
+ const ret = wasm.varianceratio_warmupPeriod(this.__wbg_ptr);
26304
+ return ret >>> 0;
26305
+ }
26306
+ }
26307
+ if (Symbol.dispose) VarianceRatio.prototype[Symbol.dispose] = VarianceRatio.prototype.free;
26308
+
24333
26309
  export class VerticalHorizontalFilter {
24334
26310
  __destroy_into_raw() {
24335
26311
  const ptr = this.__wbg_ptr;
@@ -26149,6 +28125,9 @@ export function __wbindgen_object_drop_ref(arg0) {
26149
28125
  const AbandonedBabyFinalization = (typeof FinalizationRegistry === 'undefined')
26150
28126
  ? { register: () => {}, unregister: () => {} }
26151
28127
  : new FinalizationRegistry(ptr => wasm.__wbg_abandonedbaby_free(ptr, 1));
28128
+ const AbsoluteBreadthIndexFinalization = (typeof FinalizationRegistry === 'undefined')
28129
+ ? { register: () => {}, unregister: () => {} }
28130
+ : new FinalizationRegistry(ptr => wasm.__wbg_absolutebreadthindex_free(ptr, 1));
26152
28131
  const AccelerationBandsFinalization = (typeof FinalizationRegistry === 'undefined')
26153
28132
  ? { register: () => {}, unregister: () => {} }
26154
28133
  : new FinalizationRegistry(ptr => wasm.__wbg_accelerationbands_free(ptr, 1));
@@ -26158,6 +28137,9 @@ const AcceleratorOscillatorFinalization = (typeof FinalizationRegistry === 'unde
26158
28137
  const WilliamsADFinalization = (typeof FinalizationRegistry === 'undefined')
26159
28138
  ? { register: () => {}, unregister: () => {} }
26160
28139
  : new FinalizationRegistry(ptr => wasm.__wbg_williamsad_free(ptr, 1));
28140
+ const AdVolumeLineFinalization = (typeof FinalizationRegistry === 'undefined')
28141
+ ? { register: () => {}, unregister: () => {} }
28142
+ : new FinalizationRegistry(ptr => wasm.__wbg_advolumeline_free(ptr, 1));
26161
28143
  const AdaptiveCycleFinalization = (typeof FinalizationRegistry === 'undefined')
26162
28144
  ? { register: () => {}, unregister: () => {} }
26163
28145
  : new FinalizationRegistry(ptr => wasm.__wbg_adaptivecycle_free(ptr, 1));
@@ -26167,6 +28149,12 @@ const ADLFinalization = (typeof FinalizationRegistry === 'undefined')
26167
28149
  const AdvanceBlockFinalization = (typeof FinalizationRegistry === 'undefined')
26168
28150
  ? { register: () => {}, unregister: () => {} }
26169
28151
  : new FinalizationRegistry(ptr => wasm.__wbg_advanceblock_free(ptr, 1));
28152
+ const AdvanceDeclineFinalization = (typeof FinalizationRegistry === 'undefined')
28153
+ ? { register: () => {}, unregister: () => {} }
28154
+ : new FinalizationRegistry(ptr => wasm.__wbg_advancedecline_free(ptr, 1));
28155
+ const AdvanceDeclineRatioFinalization = (typeof FinalizationRegistry === 'undefined')
28156
+ ? { register: () => {}, unregister: () => {} }
28157
+ : new FinalizationRegistry(ptr => wasm.__wbg_advancedeclineratio_free(ptr, 1));
26170
28158
  const ADXFinalization = (typeof FinalizationRegistry === 'undefined')
26171
28159
  ? { register: () => {}, unregister: () => {} }
26172
28160
  : new FinalizationRegistry(ptr => wasm.__wbg_adx_free(ptr, 1));
@@ -26233,12 +28221,21 @@ const BeltHoldFinalization = (typeof FinalizationRegistry === 'undefined')
26233
28221
  const BetaFinalization = (typeof FinalizationRegistry === 'undefined')
26234
28222
  ? { register: () => {}, unregister: () => {} }
26235
28223
  : new FinalizationRegistry(ptr => wasm.__wbg_beta_free(ptr, 1));
28224
+ const BetaNeutralSpreadFinalization = (typeof FinalizationRegistry === 'undefined')
28225
+ ? { register: () => {}, unregister: () => {} }
28226
+ : new FinalizationRegistry(ptr => wasm.__wbg_betaneutralspread_free(ptr, 1));
26236
28227
  const BollingerBandwidthFinalization = (typeof FinalizationRegistry === 'undefined')
26237
28228
  ? { register: () => {}, unregister: () => {} }
26238
28229
  : new FinalizationRegistry(ptr => wasm.__wbg_bollingerbandwidth_free(ptr, 1));
28230
+ const BreadthThrustFinalization = (typeof FinalizationRegistry === 'undefined')
28231
+ ? { register: () => {}, unregister: () => {} }
28232
+ : new FinalizationRegistry(ptr => wasm.__wbg_breadththrust_free(ptr, 1));
26239
28233
  const BreakawayFinalization = (typeof FinalizationRegistry === 'undefined')
26240
28234
  ? { register: () => {}, unregister: () => {} }
26241
28235
  : new FinalizationRegistry(ptr => wasm.__wbg_breakaway_free(ptr, 1));
28236
+ const BullishPercentIndexFinalization = (typeof FinalizationRegistry === 'undefined')
28237
+ ? { register: () => {}, unregister: () => {} }
28238
+ : new FinalizationRegistry(ptr => wasm.__wbg_bullishpercentindex_free(ptr, 1));
26242
28239
  const CalendarSpreadFinalization = (typeof FinalizationRegistry === 'undefined')
26243
28240
  ? { register: () => {}, unregister: () => {} }
26244
28241
  : new FinalizationRegistry(ptr => wasm.__wbg_calendarspread_free(ptr, 1));
@@ -26308,6 +28305,9 @@ const CounterattackFinalization = (typeof FinalizationRegistry === 'undefined')
26308
28305
  const CumulativeVolumeDeltaFinalization = (typeof FinalizationRegistry === 'undefined')
26309
28306
  ? { register: () => {}, unregister: () => {} }
26310
28307
  : new FinalizationRegistry(ptr => wasm.__wbg_cumulativevolumedelta_free(ptr, 1));
28308
+ const CumulativeVolumeIndexFinalization = (typeof FinalizationRegistry === 'undefined')
28309
+ ? { register: () => {}, unregister: () => {} }
28310
+ : new FinalizationRegistry(ptr => wasm.__wbg_cumulativevolumeindex_free(ptr, 1));
26311
28311
  const CyberneticCycleFinalization = (typeof FinalizationRegistry === 'undefined')
26312
28312
  ? { register: () => {}, unregister: () => {} }
26313
28313
  : new FinalizationRegistry(ptr => wasm.__wbg_cyberneticcycle_free(ptr, 1));
@@ -26332,6 +28332,9 @@ const DepthSlopeFinalization = (typeof FinalizationRegistry === 'undefined')
26332
28332
  const DetrendedStdDevFinalization = (typeof FinalizationRegistry === 'undefined')
26333
28333
  ? { register: () => {}, unregister: () => {} }
26334
28334
  : new FinalizationRegistry(ptr => wasm.__wbg_detrendedstddev_free(ptr, 1));
28335
+ const DistanceSsdFinalization = (typeof FinalizationRegistry === 'undefined')
28336
+ ? { register: () => {}, unregister: () => {} }
28337
+ : new FinalizationRegistry(ptr => wasm.__wbg_distancessd_free(ptr, 1));
26335
28338
  const DojiFinalization = (typeof FinalizationRegistry === 'undefined')
26336
28339
  ? { register: () => {}, unregister: () => {} }
26337
28340
  : new FinalizationRegistry(ptr => wasm.__wbg_doji_free(ptr, 1));
@@ -26434,6 +28437,9 @@ const GapSideBySideWhiteFinalization = (typeof FinalizationRegistry === 'undefin
26434
28437
  const GarmanKlassVolatilityFinalization = (typeof FinalizationRegistry === 'undefined')
26435
28438
  ? { register: () => {}, unregister: () => {} }
26436
28439
  : new FinalizationRegistry(ptr => wasm.__wbg_garmanklassvolatility_free(ptr, 1));
28440
+ const GrangerCausalityFinalization = (typeof FinalizationRegistry === 'undefined')
28441
+ ? { register: () => {}, unregister: () => {} }
28442
+ : new FinalizationRegistry(ptr => wasm.__wbg_grangercausality_free(ptr, 1));
26437
28443
  const GravestoneDojiFinalization = (typeof FinalizationRegistry === 'undefined')
26438
28444
  ? { register: () => {}, unregister: () => {} }
26439
28445
  : new FinalizationRegistry(ptr => wasm.__wbg_gravestonedoji_free(ptr, 1));
@@ -26452,6 +28458,9 @@ const HeikinAshiFinalization = (typeof FinalizationRegistry === 'undefined')
26452
28458
  const HiLoActivatorFinalization = (typeof FinalizationRegistry === 'undefined')
26453
28459
  ? { register: () => {}, unregister: () => {} }
26454
28460
  : new FinalizationRegistry(ptr => wasm.__wbg_hiloactivator_free(ptr, 1));
28461
+ const HighLowIndexFinalization = (typeof FinalizationRegistry === 'undefined')
28462
+ ? { register: () => {}, unregister: () => {} }
28463
+ : new FinalizationRegistry(ptr => wasm.__wbg_highlowindex_free(ptr, 1));
26455
28464
  const HighWaveFinalization = (typeof FinalizationRegistry === 'undefined')
26456
28465
  ? { register: () => {}, unregister: () => {} }
26457
28466
  : new FinalizationRegistry(ptr => wasm.__wbg_highwave_free(ptr, 1));
@@ -26521,6 +28530,9 @@ const JMAFinalization = (typeof FinalizationRegistry === 'undefined')
26521
28530
  const KagiBarsFinalization = (typeof FinalizationRegistry === 'undefined')
26522
28531
  ? { register: () => {}, unregister: () => {} }
26523
28532
  : new FinalizationRegistry(ptr => wasm.__wbg_kagibars_free(ptr, 1));
28533
+ const KalmanHedgeRatioFinalization = (typeof FinalizationRegistry === 'undefined')
28534
+ ? { register: () => {}, unregister: () => {} }
28535
+ : new FinalizationRegistry(ptr => wasm.__wbg_kalmanhedgeratio_free(ptr, 1));
26524
28536
  const KAMAFinalization = (typeof FinalizationRegistry === 'undefined')
26525
28537
  ? { register: () => {}, unregister: () => {} }
26526
28538
  : new FinalizationRegistry(ptr => wasm.__wbg_kama_free(ptr, 1));
@@ -26617,6 +28629,12 @@ const MatchingLowFinalization = (typeof FinalizationRegistry === 'undefined')
26617
28629
  const MaxDrawdownFinalization = (typeof FinalizationRegistry === 'undefined')
26618
28630
  ? { register: () => {}, unregister: () => {} }
26619
28631
  : new FinalizationRegistry(ptr => wasm.__wbg_maxdrawdown_free(ptr, 1));
28632
+ const McClellanOscillatorFinalization = (typeof FinalizationRegistry === 'undefined')
28633
+ ? { register: () => {}, unregister: () => {} }
28634
+ : new FinalizationRegistry(ptr => wasm.__wbg_mcclellanoscillator_free(ptr, 1));
28635
+ const McClellanSummationIndexFinalization = (typeof FinalizationRegistry === 'undefined')
28636
+ ? { register: () => {}, unregister: () => {} }
28637
+ : new FinalizationRegistry(ptr => wasm.__wbg_mcclellansummationindex_free(ptr, 1));
26620
28638
  const McGinleyDynamicFinalization = (typeof FinalizationRegistry === 'undefined')
26621
28639
  ? { register: () => {}, unregister: () => {} }
26622
28640
  : new FinalizationRegistry(ptr => wasm.__wbg_mcginleydynamic_free(ptr, 1));
@@ -26656,6 +28674,9 @@ const MorningEveningStarFinalization = (typeof FinalizationRegistry === 'undefin
26656
28674
  const NATRFinalization = (typeof FinalizationRegistry === 'undefined')
26657
28675
  ? { register: () => {}, unregister: () => {} }
26658
28676
  : new FinalizationRegistry(ptr => wasm.__wbg_natr_free(ptr, 1));
28677
+ const NewHighsNewLowsFinalization = (typeof FinalizationRegistry === 'undefined')
28678
+ ? { register: () => {}, unregister: () => {} }
28679
+ : new FinalizationRegistry(ptr => wasm.__wbg_newhighsnewlows_free(ptr, 1));
26659
28680
  const NVIFinalization = (typeof FinalizationRegistry === 'undefined')
26660
28681
  ? { register: () => {}, unregister: () => {} }
26661
28682
  : new FinalizationRegistry(ptr => wasm.__wbg_nvi_free(ptr, 1));
@@ -26692,6 +28713,9 @@ const OrderBookImbalanceTop1Finalization = (typeof FinalizationRegistry === 'und
26692
28713
  const OrderBookImbalanceTopNFinalization = (typeof FinalizationRegistry === 'undefined')
26693
28714
  ? { register: () => {}, unregister: () => {} }
26694
28715
  : new FinalizationRegistry(ptr => wasm.__wbg_orderbookimbalancetopn_free(ptr, 1));
28716
+ const OuHalfLifeFinalization = (typeof FinalizationRegistry === 'undefined')
28717
+ ? { register: () => {}, unregister: () => {} }
28718
+ : new FinalizationRegistry(ptr => wasm.__wbg_ouhalflife_free(ptr, 1));
26695
28719
  const PainIndexFinalization = (typeof FinalizationRegistry === 'undefined')
26696
28720
  ? { register: () => {}, unregister: () => {} }
26697
28721
  : new FinalizationRegistry(ptr => wasm.__wbg_painindex_free(ptr, 1));
@@ -26707,6 +28731,9 @@ const ParkinsonVolatilityFinalization = (typeof FinalizationRegistry === 'undefi
26707
28731
  const PearsonCorrelationFinalization = (typeof FinalizationRegistry === 'undefined')
26708
28732
  ? { register: () => {}, unregister: () => {} }
26709
28733
  : new FinalizationRegistry(ptr => wasm.__wbg_pearsoncorrelation_free(ptr, 1));
28734
+ const PercentAboveMaFinalization = (typeof FinalizationRegistry === 'undefined')
28735
+ ? { register: () => {}, unregister: () => {} }
28736
+ : new FinalizationRegistry(ptr => wasm.__wbg_percentabovema_free(ptr, 1));
26710
28737
  const PercentBFinalization = (typeof FinalizationRegistry === 'undefined')
26711
28738
  ? { register: () => {}, unregister: () => {} }
26712
28739
  : new FinalizationRegistry(ptr => wasm.__wbg_percentb_free(ptr, 1));
@@ -26785,6 +28812,12 @@ const ROCR100Finalization = (typeof FinalizationRegistry === 'undefined')
26785
28812
  const RogersSatchellVolatilityFinalization = (typeof FinalizationRegistry === 'undefined')
26786
28813
  ? { register: () => {}, unregister: () => {} }
26787
28814
  : new FinalizationRegistry(ptr => wasm.__wbg_rogerssatchellvolatility_free(ptr, 1));
28815
+ const RollingCorrelationFinalization = (typeof FinalizationRegistry === 'undefined')
28816
+ ? { register: () => {}, unregister: () => {} }
28817
+ : new FinalizationRegistry(ptr => wasm.__wbg_rollingcorrelation_free(ptr, 1));
28818
+ const RollingCovarianceFinalization = (typeof FinalizationRegistry === 'undefined')
28819
+ ? { register: () => {}, unregister: () => {} }
28820
+ : new FinalizationRegistry(ptr => wasm.__wbg_rollingcovariance_free(ptr, 1));
26788
28821
  const RollingVWAPFinalization = (typeof FinalizationRegistry === 'undefined')
26789
28822
  ? { register: () => {}, unregister: () => {} }
26790
28823
  : new FinalizationRegistry(ptr => wasm.__wbg_rollingvwap_free(ptr, 1));
@@ -26845,6 +28878,12 @@ const SpearmanCorrelationFinalization = (typeof FinalizationRegistry === 'undefi
26845
28878
  const SpinningTopFinalization = (typeof FinalizationRegistry === 'undefined')
26846
28879
  ? { register: () => {}, unregister: () => {} }
26847
28880
  : new FinalizationRegistry(ptr => wasm.__wbg_spinningtop_free(ptr, 1));
28881
+ const SpreadBollingerBandsFinalization = (typeof FinalizationRegistry === 'undefined')
28882
+ ? { register: () => {}, unregister: () => {} }
28883
+ : new FinalizationRegistry(ptr => wasm.__wbg_spreadbollingerbands_free(ptr, 1));
28884
+ const SpreadHurstFinalization = (typeof FinalizationRegistry === 'undefined')
28885
+ ? { register: () => {}, unregister: () => {} }
28886
+ : new FinalizationRegistry(ptr => wasm.__wbg_spreadhurst_free(ptr, 1));
26848
28887
  const StalledPatternFinalization = (typeof FinalizationRegistry === 'undefined')
26849
28888
  ? { register: () => {}, unregister: () => {} }
26850
28889
  : new FinalizationRegistry(ptr => wasm.__wbg_stalledpattern_free(ptr, 1));
@@ -26953,6 +28992,9 @@ const ThreeStarsInSouthFinalization = (typeof FinalizationRegistry === 'undefine
26953
28992
  const ThrustingFinalization = (typeof FinalizationRegistry === 'undefined')
26954
28993
  ? { register: () => {}, unregister: () => {} }
26955
28994
  : new FinalizationRegistry(ptr => wasm.__wbg_thrusting_free(ptr, 1));
28995
+ const TickIndexFinalization = (typeof FinalizationRegistry === 'undefined')
28996
+ ? { register: () => {}, unregister: () => {} }
28997
+ : new FinalizationRegistry(ptr => wasm.__wbg_tickindex_free(ptr, 1));
26956
28998
  const TIIFinalization = (typeof FinalizationRegistry === 'undefined')
26957
28999
  ? { register: () => {}, unregister: () => {} }
26958
29000
  : new FinalizationRegistry(ptr => wasm.__wbg_tii_free(ptr, 1));
@@ -26968,6 +29010,9 @@ const TreynorRatioFinalization = (typeof FinalizationRegistry === 'undefined')
26968
29010
  const TRIMAFinalization = (typeof FinalizationRegistry === 'undefined')
26969
29011
  ? { register: () => {}, unregister: () => {} }
26970
29012
  : new FinalizationRegistry(ptr => wasm.__wbg_trima_free(ptr, 1));
29013
+ const TrinFinalization = (typeof FinalizationRegistry === 'undefined')
29014
+ ? { register: () => {}, unregister: () => {} }
29015
+ : new FinalizationRegistry(ptr => wasm.__wbg_trin_free(ptr, 1));
26971
29016
  const TRIXFinalization = (typeof FinalizationRegistry === 'undefined')
26972
29017
  ? { register: () => {}, unregister: () => {} }
26973
29018
  : new FinalizationRegistry(ptr => wasm.__wbg_trix_free(ptr, 1));
@@ -27004,6 +29049,9 @@ const UltimateOscillatorFinalization = (typeof FinalizationRegistry === 'undefin
27004
29049
  const UniqueThreeRiverFinalization = (typeof FinalizationRegistry === 'undefined')
27005
29050
  ? { register: () => {}, unregister: () => {} }
27006
29051
  : new FinalizationRegistry(ptr => wasm.__wbg_uniquethreeriver_free(ptr, 1));
29052
+ const UpDownVolumeRatioFinalization = (typeof FinalizationRegistry === 'undefined')
29053
+ ? { register: () => {}, unregister: () => {} }
29054
+ : new FinalizationRegistry(ptr => wasm.__wbg_updownvolumeratio_free(ptr, 1));
27007
29055
  const UpsideGapThreeMethodsFinalization = (typeof FinalizationRegistry === 'undefined')
27008
29056
  ? { register: () => {}, unregister: () => {} }
27009
29057
  : new FinalizationRegistry(ptr => wasm.__wbg_upsidegapthreemethods_free(ptr, 1));
@@ -27019,6 +29067,9 @@ const ValueAtRiskFinalization = (typeof FinalizationRegistry === 'undefined')
27019
29067
  const VarianceFinalization = (typeof FinalizationRegistry === 'undefined')
27020
29068
  ? { register: () => {}, unregister: () => {} }
27021
29069
  : new FinalizationRegistry(ptr => wasm.__wbg_variance_free(ptr, 1));
29070
+ const VarianceRatioFinalization = (typeof FinalizationRegistry === 'undefined')
29071
+ ? { register: () => {}, unregister: () => {} }
29072
+ : new FinalizationRegistry(ptr => wasm.__wbg_varianceratio_free(ptr, 1));
27022
29073
  const VerticalHorizontalFilterFinalization = (typeof FinalizationRegistry === 'undefined')
27023
29074
  ? { register: () => {}, unregister: () => {} }
27024
29075
  : new FinalizationRegistry(ptr => wasm.__wbg_verticalhorizontalfilter_free(ptr, 1));