@sheetxl/formulas-extended 0.7.28-beta.3 → 0.8.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/browser/cjs/index.cjs +1 -1
  2. package/{node/esm/C1Of99Li1xuXVvHC.mjs → browser/esm/B1VmvhXuEn7zaTB9.mjs} +1 -1
  3. package/browser/esm/{Lw7SD9UV2xQaHBMY.mjs → BFnDPCjxJcoIItFa.mjs} +1 -1
  4. package/{node/esm/Cmx9jVLihcV7UU9j.mjs → browser/esm/BRwwvGaJ6HvkxjFC.mjs} +1 -1
  5. package/browser/esm/{CzzpVN7fGDVLTBAQ.mjs → Bma3CN4_Nec6_4n7.mjs} +1 -1
  6. package/{node/esm/C8ez6oBw4sdDzSct.mjs → browser/esm/BuGemmv84T8m0wqw.mjs} +1 -1
  7. package/{node/esm/DN1_rspUH-tOwmED.mjs → browser/esm/COqdI1LYTHd9oLA6.mjs} +1 -1
  8. package/browser/esm/{v_larpTXJns5MbG8.mjs → CnVJ8GAsshRjRGA-.mjs} +1 -1
  9. package/browser/esm/{CLQ1_t-YsFFTRbw1.mjs → CwoMEzOtRihuYUTr.mjs} +1 -1
  10. package/browser/esm/{CEzXDdvqDDZbH1WV.mjs → DY3kG36QGyDbrANO.mjs} +1 -1
  11. package/browser/esm/{BXjhl9UdRwdpTLAB.mjs → DodhOXkSzelSxHmB.mjs} +1 -1
  12. package/browser/esm/{D-wUpQDKX_k0SiSj.mjs → DpoZ7h1ScIJvbOY9.mjs} +1 -1
  13. package/browser/esm/{CYm12WYrfdzPk8cm.mjs → Dy6UD7hQRBsT0WNp.mjs} +1 -1
  14. package/browser/esm/index.mjs +524 -391
  15. package/browser/esm/{DEQPjlaWWG7gXPtm.mjs → srpVt74r2zbvm1N0.mjs} +1 -1
  16. package/{node/esm/CVd2CtlxuMv1IuIq.mjs → browser/esm/vu0NRDeeTbEHPMYS.mjs} +1 -1
  17. package/{browser/esm/C1Of99Li1xuXVvHC.mjs → node/esm/B1VmvhXuEn7zaTB9.mjs} +1 -1
  18. package/node/esm/{BfPVZqcuHtLRxqLI.mjs → BQyZVLTMNFLbjVap.mjs} +1 -1
  19. package/{browser/esm/Cmx9jVLihcV7UU9j.mjs → node/esm/BRwwvGaJ6HvkxjFC.mjs} +1 -1
  20. package/node/esm/{CzzpVN7fGDVLTBAQ.mjs → Bma3CN4_Nec6_4n7.mjs} +1 -1
  21. package/{browser/esm/C8ez6oBw4sdDzSct.mjs → node/esm/BuGemmv84T8m0wqw.mjs} +1 -1
  22. package/{browser/esm/DN1_rspUH-tOwmED.mjs → node/esm/COqdI1LYTHd9oLA6.mjs} +1 -1
  23. package/node/esm/{v_larpTXJns5MbG8.mjs → CnVJ8GAsshRjRGA-.mjs} +1 -1
  24. package/node/esm/{CLQ1_t-YsFFTRbw1.mjs → CwoMEzOtRihuYUTr.mjs} +1 -1
  25. package/node/esm/{BXjhl9UdRwdpTLAB.mjs → DodhOXkSzelSxHmB.mjs} +1 -1
  26. package/node/esm/{D-wUpQDKX_k0SiSj.mjs → DpoZ7h1ScIJvbOY9.mjs} +1 -1
  27. package/node/esm/{CYm12WYrfdzPk8cm.mjs → Dy6UD7hQRBsT0WNp.mjs} +1 -1
  28. package/node/esm/{CVifmXw-tD8LimNW.mjs → LAkTk93odAfpvx50.mjs} +1 -1
  29. package/node/esm/index.mjs +891 -755
  30. package/node/esm/{DEQPjlaWWG7gXPtm.mjs → srpVt74r2zbvm1N0.mjs} +1 -1
  31. package/{browser/esm/CVd2CtlxuMv1IuIq.mjs → node/esm/vu0NRDeeTbEHPMYS.mjs} +1 -1
  32. package/package.json +3 -3
  33. package/types/src/_utils/Consts.d.ts +2 -2
  34. package/types/src/_utils/FinanceUtils.d.ts +17 -0
  35. package/types/src/financial/Financial.d.ts +12 -11
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/formulas-extended - Formulas Enterprise - TypeScript formulas compatible with Excel built-ins. - v0.7.28-beta.3
2
+ * @license @sheetxl/formulas-extended - Formulas Enterprise - TypeScript formulas compatible with Excel built-ins. - v0.8.0-beta.1
3
3
  *
4
4
  * (C) 2026-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -342,10 +342,13 @@ function de(t) {
342
342
  }
343
343
  return e.parseAsSerialDate(t);
344
344
  }
345
- var fe = a({
345
+ function fe(t) {
346
+ return t === null ? 0 : e.parseAsNumber(t);
347
+ }
348
+ var pe = a({
346
349
  DATEDIF: () => F,
347
350
  DAYS360: () => I,
348
- YEARFRAC: () => pe
351
+ YEARFRAC: () => me
349
352
  });
350
353
  function F(t, n, r) {
351
354
  let i = e.getDateParts(t), a = e.getDateParts(n), o = Math.trunc(t), s = Math.trunc(n);
@@ -361,16 +364,15 @@ function F(t, n, r) {
361
364
  }
362
365
  return NaN;
363
366
  }
364
- function pe(t, n, r = 0) {
365
- let i = de(t), a = de(n), o = (s = r) === null ? 0 : e.parseAsNumber(s);
366
- var s;
367
+ function me(t, n, r = 0) {
368
+ let i = de(t), a = de(n), o = fe(r);
367
369
  if (!e.isValidDate(i) || !e.isValidDate(a) || !S(o)) return NaN;
368
370
  if (i > a) {
369
371
  let e = i;
370
372
  i = a, a = e;
371
373
  }
372
- let { days: c, yearDays: l } = T(i, a, o);
373
- return c / l;
374
+ let { days: s, yearDays: c } = T(i, a, o);
375
+ return s / c;
374
376
  }
375
377
  function I(e, t, n = !1) {
376
378
  return n ? (t >= e ? 1 : -1) * T(e, t, 4).days : function(e, t) {
@@ -385,42 +387,51 @@ function I(e, t, n = !1) {
385
387
  var L = (e) => {
386
388
  let t = e.getLocaleProfile().currencySymbol;
387
389
  return `${t}#,##0.00_);[Red](${t}#,##0.00)`;
388
- }, me = a({
389
- COUPDAYS: () => he,
390
- CUMIPMT: () => ge,
391
- CUMPRINC: () => _e,
392
- DB: () => ve,
393
- DDB: () => ye,
394
- DISC: () => be,
395
- DOLLARDE: () => xe,
396
- DOLLARFR: () => Se,
397
- EFFECT: () => Ce,
398
- FV: () => R,
399
- FVSCHEDULE: () => we,
400
- IPMT: () => Te,
401
- IRR: () => Ee,
402
- ISPMT: () => De,
403
- MIRR: () => Oe,
404
- NOMINAL: () => ke,
405
- NPER: () => Ae,
406
- NPV: () => je,
407
- PDURATION: () => Me,
408
- PMT: () => z,
409
- PPMT: () => Ne,
410
- PRICEDISC: () => Pe,
411
- PV: () => Fe,
412
- RATE: () => Ie,
413
- RRI: () => Le,
414
- SLN: () => Re,
415
- STOCKHISTORY: () => ze,
416
- SYD: () => Be,
417
- TBILLEQ: () => Ve,
418
- TBILLPRICE: () => He,
419
- TBILLYIELD: () => Ue,
420
- XIRR: () => We,
421
- XNPV: () => Ge
390
+ }, R = (e, n) => {
391
+ if (e === 0) {
392
+ if (n < 0) throw t.BuiltIn.Div0;
393
+ if (n === 0) return NaN;
394
+ }
395
+ if (!Number.isInteger(n) || Math.abs(n) > 4294967294) return Math.exp(n * Math.log(e));
396
+ let r = Math.abs(n), i = 1, a = e;
397
+ for (; r > 0;) r % 2 == 1 && (i *= a), a *= a, r = Math.floor(r / 2);
398
+ return n < 0 ? 1 / i : i;
399
+ }, he = a({
400
+ COUPDAYS: () => ge,
401
+ CUMIPMT: () => _e,
402
+ CUMPRINC: () => be,
403
+ DB: () => xe,
404
+ DDB: () => Se,
405
+ DISC: () => Ce,
406
+ DOLLARDE: () => we,
407
+ DOLLARFR: () => Te,
408
+ EFFECT: () => Ee,
409
+ FV: () => De,
410
+ FVSCHEDULE: () => Oe,
411
+ IPMT: () => ke,
412
+ IRR: () => Ae,
413
+ ISPMT: () => je,
414
+ MIRR: () => Me,
415
+ NOMINAL: () => Ne,
416
+ NPER: () => Pe,
417
+ NPV: () => Fe,
418
+ PDURATION: () => Ie,
419
+ PMT: () => Le,
420
+ PPMT: () => Re,
421
+ PRICEDISC: () => ze,
422
+ PV: () => Be,
423
+ RATE: () => Ve,
424
+ RRI: () => Ue,
425
+ SLN: () => We,
426
+ STOCKHISTORY: () => Ge,
427
+ SYD: () => Ke,
428
+ TBILLEQ: () => qe,
429
+ TBILLPRICE: () => Je,
430
+ TBILLYIELD: () => Ye,
431
+ XIRR: () => Xe,
432
+ XNPV: () => Ze
422
433
  });
423
- function he(t, n, r, i = 0) {
434
+ function ge(t, n, r, i = 0) {
424
435
  if (!e.isValidDate(t) || !e.isValidDate(n) || !P(r) || !S(i) || t >= n) return NaN;
425
436
  if (i === 1) {
426
437
  let i = function(e, t, n) {
@@ -448,21 +459,53 @@ function he(t, n, r, i = 0) {
448
459
  }
449
460
  return a / r;
450
461
  }
451
- function ge(t, n, r, i, a, o) {
452
- if (!e.isValidDate(i) || !e.isValidDate(a) || t <= 0 || n <= 0 || r <= 0 || i < 1 || a < 1 || i > a || o !== 0 && o !== 1) return NaN;
453
- let s = z(t, n, r, 0, o), c = 0;
454
- i === 1 && (o === 0 && (c = -r), i++);
455
- for (let e = i; e <= a; e++) c += o === 1 ? R(t, e - 2, s, r, 1) - s : R(t, e - 1, s, r, 0);
456
- return c *= t, c;
457
- }
458
- function _e(t, n, r, i, a, o) {
459
- if (!e.isValidDate(i) || !e.isValidDate(a) || i > a || t <= 0 || n <= 0 || r <= 0 || i < 1 || a < 1 || i > a || o !== 0 && o !== 1) return NaN;
460
- let s = z(t, n, r, 0, o), c = 0;
461
- i === 1 && (c = o === 0 ? s + r * t : s, i++);
462
- for (let e = i; e <= a; e++) c += o > 0 ? s - (R(t, e - 2, s, r, 1) - s) * t : s - R(t, e - 1, s, r, 0) * t;
463
- return c;
462
+ function _e(e, t, n, r, i, a) {
463
+ let o = ye(...ve(e, t, n, r, i, a));
464
+ if (!o) return NaN;
465
+ let s = o.count * o.payment - o.principal;
466
+ return Number.isFinite(s) ? s : NaN;
467
+ }
468
+ var z = (e) => {
469
+ if (e === void 0) throw t.BuiltIn.NA;
470
+ return fe(e);
471
+ }, ve = (e, t, n, r, i, a) => [
472
+ z(e),
473
+ z(t),
474
+ z(n),
475
+ z(r),
476
+ z(i),
477
+ z(a)
478
+ ], ye = (e, t, n, r, i, a) => {
479
+ if (e <= 0 || t <= 0 || n <= 0 || r < 1 || r > i || i > t || a !== 0 && a !== 1) return null;
480
+ let o = Le(e, t, n, 0, a);
481
+ if (!Number.isFinite(o)) return null;
482
+ let s = Math.ceil(r), c = Math.floor(i), l = c - s + 1;
483
+ if (l <= 0) return {
484
+ payment: o,
485
+ principal: 0,
486
+ count: 0
487
+ };
488
+ let u = Math.log1p(e), d = -Math.expm1(-t * u), f = (e, r) => {
489
+ let i = -n * (Math.exp((e - t - 1) * u) * Math.expm1((r - e + 1) * u)) / d;
490
+ return Number.isFinite(i) ? i : -n * (Math.exp((r - t) * u) - Math.exp((e - t - 1) * u)) / d;
491
+ };
492
+ if (!a) return {
493
+ payment: o,
494
+ principal: f(s, c),
495
+ count: l
496
+ };
497
+ let p = s <= 1 ? o : 0, m = Math.max(s, 2);
498
+ return m <= c && (p += f(m, c) / (1 + e)), {
499
+ payment: o,
500
+ principal: p,
501
+ count: l
502
+ };
503
+ };
504
+ function be(e, t, n, r, i, a) {
505
+ let o = ye(...ve(e, t, n, r, i, a));
506
+ return o ? o.principal : NaN;
464
507
  }
465
- function ve(t, n, r, i, a = 12) {
508
+ function xe(t, n, r, i, a = 12) {
466
509
  if (t < 0 || n < 0 || r <= 0 || i < 0 || a < 1 || a > 12 || a === 12 && i > r || i > r + 1) return NaN;
467
510
  if (t === 0) return 0;
468
511
  e.formatResults(L(e.getRuntime()));
@@ -472,14 +515,14 @@ function ve(t, n, r, i, a = 12) {
472
515
  for (let e = 2; e < i; e++) c -= c * o;
473
516
  return i === r + 1 ? c * o * (12 - a) / 12 : c * o;
474
517
  }
475
- function ye(e, t, n, r, i = 2) {
518
+ function Se(e, t, n, r, i = 2) {
476
519
  if (e < 0 || t < 0 || n < 0 || r < 0 || i <= 0 || r > n) return NaN;
477
520
  if (t >= e) return 0;
478
521
  let a = 0, o = 0;
479
522
  for (let s = 1; s <= r; s++) o = Math.min(i / n * (e - a), e - t - a), a += o;
480
523
  return o;
481
524
  }
482
- function be(t, n, r, i, a = 0) {
525
+ function Ce(t, n, r, i, a = 0) {
483
526
  if (!e.isValidDate(t) || !e.isValidDate(n) || !S(a) || r <= 0 || i <= 0 || t >= n) return NaN;
484
527
  let o, s;
485
528
  switch (a) {
@@ -500,46 +543,50 @@ function be(t, n, r, i, a = 0) {
500
543
  }
501
544
  return (i - r) / i * o / s;
502
545
  }
503
- function xe(e, n) {
546
+ function we(e, n) {
504
547
  if ((n = Math.trunc(n)) < 0) return NaN;
505
548
  if (n === 0) throw t.BuiltIn.Div0;
506
549
  if (n === 1) return e;
507
550
  let r = e < 0 ? -1 : 1, i = Math.abs(e), a = Math.trunc(i), o = i - a;
508
551
  return r * (a + Math.round(o * 10 ** Math.ceil(Math.log10(n))) / n);
509
552
  }
510
- function Se(e, n) {
553
+ function Te(e, n) {
511
554
  if ((n = Math.trunc(n)) < 0) return NaN;
512
555
  if (n === 0) throw t.BuiltIn.Div0;
513
556
  if (n === 1) return e;
514
557
  let r = e < 0 ? -1 : 1, i = Math.abs(e), a = Math.trunc(i), o = i - a, s = Math.ceil(Math.log10(n));
515
558
  return r * (a + o * n / 10 ** s);
516
559
  }
517
- function Ce(e, t) {
518
- return t = Math.trunc(t), e <= 0 || t < 1 ? NaN : (1 + e / t) ** +t - 1;
519
- }
520
- function R(t, n, r, i = 0, a = 0) {
521
- let o;
522
- if (t === 0) o = i + r * n;
523
- else {
524
- let e = (1 + t) ** +n;
525
- o = a === 1 ? i * e + r * (1 + t) * (e - 1) / t : i * e + r * (e - 1) / t;
526
- }
527
- return e.formatResults(L(e.getRuntime())), -o;
528
- }
529
- function we(e, n) {
530
- let r = e;
531
- for (let e of n.values()) {
560
+ function Ee(e, t) {
561
+ let n = z(e), r = Math.trunc(z(t));
562
+ if (n <= 0 || r < 1) return NaN;
563
+ let i = R(1 + n / r, r) - 1;
564
+ return Number.isFinite(i) ? i : NaN;
565
+ }
566
+ function De(t, n, r, i = 0, a = 0) {
567
+ if (e.formatResults(L(e.getRuntime())), t === 0) return -(i + r * n);
568
+ let o = R(1 + t, n);
569
+ return -(i * o + (o - 1) / t * (1 + t * +!!a) * r);
570
+ }
571
+ function Oe(n, r) {
572
+ if (n === void 0 || r === void 0) throw t.BuiltIn.NA;
573
+ let i = z(n), a = e.getArgs().getRawAt(1), o = a, s = !0 === o?.isIRange, c = s && o.size === 1 && !0 === o.isIReferenceRange;
574
+ if (!s || c) i *= 1 + z(s ? o.getValueAt(0, 0) ?? null : a);
575
+ else for (let e of r.values()) if (e != null) {
576
+ if (t.isError(e)) throw e;
532
577
  if (typeof e != "number") throw t.BuiltIn.Value;
533
- r *= 1 + e;
578
+ i *= 1 + e;
534
579
  }
535
- return r;
580
+ return Number.isFinite(i) ? i : 0;
536
581
  }
537
- function Te(e, t, n, r, i = 0, a = 0) {
538
- if (n <= 0 || t < 1 || t > n) return NaN;
539
- let o = z(e, n, r, i, a);
540
- return t === 1 ? e * (a ? 0 : -r) : e * (a ? R(e, t - 2, o, r, a) - o : R(e, t - 1, o, r, a));
582
+ function ke(t, n, r, i, a = 0, o = 0) {
583
+ if (n < 1 || n - 1 >= r) return NaN;
584
+ if (e.formatResults(L(e.getRuntime())), n === 1 && o || t === 0) return 0;
585
+ if (t <= -1) return NaN;
586
+ let s = Math.log1p(t), c = n - 1, l = -t * (i * -Math.expm1((c - r) * s) - a * (c * s < 700 ? Math.exp(-r * s) * Math.expm1(c * s) : Math.exp((c - r) * s) - Math.exp(-r * s))) / -Math.expm1(-r * s);
587
+ return o ? l / (1 + t) : l;
541
588
  }
542
- function Ee(e, t = .1) {
589
+ function Ae(e, t = .1) {
543
590
  let n = e.some((e) => e > 0), r = e.some((e) => e < 0);
544
591
  if (!n || !r) return NaN;
545
592
  let i = (t) => {
@@ -554,11 +601,12 @@ function Ee(e, t = .1) {
554
601
  }
555
602
  return NaN;
556
603
  }
557
- function De(e, n, r, i) {
604
+ function je(e, n, r, i) {
558
605
  if (r === 0) throw t.BuiltIn.Div0;
559
- return i * e * (n / r - 1);
606
+ let a = i * (n - r) * e / r;
607
+ return Number.isFinite(a) ? a : NaN;
560
608
  }
561
- function Oe(n, r, i) {
609
+ function Me(n, r, i) {
562
610
  let a = n.length;
563
611
  if (!n.some((e) => e < 0)) throw t.BuiltIn.Div0;
564
612
  let o = 0;
@@ -573,42 +621,54 @@ function Oe(n, r, i) {
573
621
  }
574
622
  return e.formatResults("0%"), (-s / o) ** (1 / (a - 1)) - 1;
575
623
  }
576
- function ke(e, t) {
577
- return t = Math.trunc(t), e <= 0 || t < 1 ? NaN : ((e + 1) ** (1 / t) - 1) * t;
624
+ function Ne(e, t) {
625
+ let n = z(e), r = Math.trunc(z(t));
626
+ if (n <= 0 || r < 1) return NaN;
627
+ let i = (R(n + 1, 1 / r) - 1) * r;
628
+ return Number.isFinite(i) ? i : NaN;
578
629
  }
579
- function Ae(e, n, r, i = 0, a = 0) {
630
+ function Pe(e, n, r, i = 0, a = 0) {
580
631
  if (e === 0) {
581
632
  if (n === 0) throw t.BuiltIn.Div0;
582
633
  return (-r - i) / n;
583
634
  }
584
- return a && (n *= 1 + e), Math.log((n - i * e) / (r * e + n)) / Math.log(1 + e);
635
+ if (e <= -1) return NaN;
636
+ let o = Math.log(1 + e);
637
+ if (o === 0) throw t.BuiltIn.Div0;
638
+ return a && (n *= 1 + e), Math.log((n - i * e) / (r * e + n)) / o;
585
639
  }
586
- function je(e, n) {
587
- if (n.length > 254) throw t.BuiltIn.Value;
588
- let r = 0;
589
- for (let i = n.length - 1; i >= 0; i--) {
590
- if (r += n[i], e === -1) {
591
- if (r === 0) continue;
592
- throw t.BuiltIn.Div0;
593
- }
594
- r /= 1 + e;
595
- }
596
- return r;
640
+ function Fe(e, n) {
641
+ let r = [];
642
+ for (let e of n) for (let t of e.values()) r.push(t);
643
+ let i = r.length, a = 1 + e;
644
+ if (a === 0 || !Number.isFinite(R(a, i - 1))) throw t.BuiltIn.Div0;
645
+ let o = 0;
646
+ for (let e = i - 1; e >= 0; e--) o += r[e], o /= a;
647
+ return o;
597
648
  }
598
- function Me(e, t, n) {
599
- return e <= 0 || t <= 0 || n <= 0 ? NaN : (Math.log(n) - Math.log(t)) / Math.log(1 + e);
649
+ function Ie(e, n, r) {
650
+ if (e <= 0 || n <= 0 || r <= 0) return NaN;
651
+ let i = Math.log(1 + e);
652
+ if (i === 0) throw t.BuiltIn.Div0;
653
+ return (Math.log(r) - Math.log(n)) / i;
600
654
  }
601
- function z(t, n, r, i = 0, a = 0) {
655
+ function Le(t, n, r, i = 0, a = 0) {
602
656
  if (n === 0) return NaN;
603
- if (t === 0) return (-r - i) / n;
604
- a = +!!a;
605
- let o = (1 + t) ** +n;
606
- return e.formatResults(L(e.getRuntime())), (i * t + r * t * o) * (a ? 1 / (1 + t) : 1) / (1 - o);
607
- }
608
- function Ne(e, t, n, r, i = 0, a = 0) {
609
- return n <= 0 || t < 1 || t > n ? NaN : z(e, n, r, i, a) - Te(e, t, n, r, i, a);
610
- }
611
- function Pe(t, n, r, i, a = 0) {
657
+ if (e.formatResults(L(e.getRuntime())), t === 0) return (-r - i) / n;
658
+ if (t <= -1) return NaN;
659
+ let o = n * Math.log1p(t), s = (r / -Math.expm1(-o) + i / Math.expm1(o)) * t;
660
+ return -(a ? s / (1 + t) : s);
661
+ }
662
+ function Re(t, n, r, i, a = 0, o = 0) {
663
+ if (n < 1 || n - 1 >= r) return NaN;
664
+ if (e.formatResults(L(e.getRuntime())), t === 0) return -(i + a) / r;
665
+ if (t <= -1) return NaN;
666
+ let s = Math.log1p(t), c = -Math.expm1(-r * s);
667
+ if (o && n === 1) return -t * (i + a * Math.exp(-r * s)) / (c * (1 + t));
668
+ let l = o ? n - 2 : n - 1;
669
+ return -(i + a) * (t * Math.exp((l - r) * s)) / c;
670
+ }
671
+ function ze(t, n, r, i, a = 0) {
612
672
  if (!e.isValidDate(t) || !e.isValidDate(n) || !S(a) || r <= 0 || i <= 0 || t >= n) return NaN;
613
673
  let o, s;
614
674
  switch (a) {
@@ -629,38 +689,41 @@ function Pe(t, n, r, i, a = 0) {
629
689
  }
630
690
  return i - r * i * s / o;
631
691
  }
632
- function Fe(n, r, i, a = 0, o = 0) {
633
- if (o = +!!o, n === -1) {
634
- if (r === 0) return NaN;
635
- throw t.BuiltIn.Div0;
636
- }
637
- return e.formatResults(L(e.getRuntime())), n === 0 ? -i * r - a : ((1 - (1 + n) ** +r) * i * (1 + n * o) / n - a) / (1 + n) ** +r;
692
+ function Be(n, r, i, a = 0, o = 0) {
693
+ if (e.formatResults(L(e.getRuntime())), n === 0) return -(a + i * r);
694
+ let s = R(1 + n, r);
695
+ if (s === 0) throw t.BuiltIn.Div0;
696
+ return -(a + (s - 1) / n * (1 + n * +!!o) * i) / s;
638
697
  }
639
- function Ie(e, n, r, i = 0, a = 0, o = .1) {
698
+ function Ve(e, n, r, i = 0, a = 0, o = .1) {
640
699
  if (o <= -1) throw t.BuiltIn.Value;
641
- a = +!!a;
642
- let s = o;
643
- for (let t = 0; t < 100; t++) {
644
- if (s <= -1) return NaN;
645
- let t, o;
646
- if (Math.abs(s) < B) t = r * (1 + e * s) + n * (1 + s * a) * e + i, o = r * e + n * a * e;
647
- else {
648
- let c = (1 + s) ** +e, l = e * (1 + s) ** (e - 1);
649
- t = r * c + n * (1 / s + a) * (c - 1) + i, o = r * l + n * (1 / s + a) * l + n * (-1 / (s * s)) * (c - 1);
650
- }
651
- if (Math.abs(t) < B) return s;
652
- s -= t / o;
700
+ let s = +!!a, c = (t) => {
701
+ if (t === 0) return r + n * e + i;
702
+ let a = R(1 + t, e);
703
+ return r * a + (a - 1) / t * (1 + t * s) * n + i;
704
+ }, l = o, u = c(l), d = u > 0 ? o - .001 : o + .001, f = c(d);
705
+ for (let e = 0; e < He; e++) {
706
+ let e = d - f * (d - l) / (f - u);
707
+ if (!Number.isFinite(e)) return NaN;
708
+ let t = c(e);
709
+ if (!Number.isFinite(t)) return NaN;
710
+ if (Math.abs(e - d) < 1e-7 && Math.abs(t) < 1e-7) return e <= -1 ? NaN : e;
711
+ l = d, u = f, d = e, f = t;
653
712
  }
654
713
  return NaN;
655
714
  }
656
- function Le(e, t, n) {
657
- return e <= 0 || t === 0 || n < 0 && t > 0 || n > 0 && t < 0 ? NaN : (n / t) ** (1 / e) - 1;
715
+ var He = 200;
716
+ function Ue(e, t, n) {
717
+ if (e <= 0 || n < 0 && t > 0 || n > 0 && t < 0) return NaN;
718
+ if (t === 0) return n === 0 ? 0 : NaN;
719
+ let r = R(n / t, 1 / e) - 1;
720
+ return Number.isFinite(r) ? r : NaN;
658
721
  }
659
- function Re(e, n, r) {
722
+ function We(e, n, r) {
660
723
  if (r === 0) throw t.BuiltIn.Div0;
661
724
  return (e - n) / r;
662
725
  }
663
- function ze(n, r, i, a = 0, o = 1, s = [
726
+ function Ge(n, r, i, a = 0, o = 1, s = [
664
727
  0,
665
728
  1,
666
729
  2,
@@ -670,39 +733,30 @@ function ze(n, r, i, a = 0, o = 1, s = [
670
733
  let c = i ?? r;
671
734
  if (!e.isValidDate(r) || !e.isValidDate(c)) throw t.BuiltIn.Num;
672
735
  }
673
- function Be(e, t, n, r) {
736
+ function Ke(e, t, n, r) {
674
737
  return r > n ? NaN : (e - t) * (n - r + 1) * 2 / (n * (n + 1));
675
738
  }
676
- function Ve(t, n, r) {
739
+ function qe(t, n, r) {
677
740
  if (t = Math.round(t), n = Math.round(n), !e.isValidDate(t) || !e.isValidDate(n) || t >= n || b(t, n)) return NaN;
678
741
  let i = 360 - r * (n - t);
679
742
  return i === 0 ? 0 : i < 0 ? NaN : 365 * r / i;
680
743
  }
681
- function He(t, n, r) {
744
+ function Je(t, n, r) {
682
745
  if (t = Math.round(t), n = Math.round(n), !e.isValidDate(t) || !e.isValidDate(n) || t >= n || b(t, n)) return NaN;
683
746
  let i = 360 - r * (n - t);
684
747
  return i === 0 ? 0 : i < 0 ? NaN : 100 * (1 - r * (n - t) / 360);
685
748
  }
686
- function Ue(t, n, r) {
749
+ function Ye(t, n, r) {
687
750
  return t = Math.round(t), n = Math.round(n), !e.isValidDate(t) || !e.isValidDate(n) || t >= n || b(t, n) ? NaN : 360 * (100 - r) / (r * (n - t));
688
751
  }
689
- function We(e, n, r = .1) {
690
- let i = e.flatten({
691
- includeEmpty: !0,
692
- onError: "value"
693
- }), a = n.flatten({
694
- includeEmpty: !0,
695
- onError: "value"
696
- });
697
- if (i.length !== a.length) return NaN;
752
+ function Xe(e, n, r = .1) {
753
+ let i = e.flatten({ onError: "value" }), a = n.flatten({ onError: "value" });
754
+ if (i.getRowCount() !== a.getRowCount()) return NaN;
698
755
  let o = [], s = [];
699
- for (let e = 0; e < i.length; e++) {
700
- let n = i[e], r = a[e];
701
- if (n !== null) {
702
- if (r === null) return NaN;
703
- if (t.isError(n) || t.isError(r) || typeof r != "number" || isNaN(r)) return t.BuiltIn.Value;
704
- o.push(n), s.push(r);
705
- }
756
+ for (let [[e, n]] of i.alignValues([a])) if (e !== null) {
757
+ if (n === null) return NaN;
758
+ if (t.isError(e) || t.isError(n) || typeof n != "number" || isNaN(n)) return t.BuiltIn.Value;
759
+ o.push(e), s.push(n);
706
760
  }
707
761
  let c = o.some((e) => e > 0), l = o.some((e) => e < 0);
708
762
  if (!c || !l) return NaN;
@@ -720,73 +774,64 @@ function We(e, n, r = .1) {
720
774
  }
721
775
  return NaN;
722
776
  }
723
- function Ge(e, n, r) {
777
+ function Ze(e, n, r) {
724
778
  if (e <= 0) return NaN;
725
- let i = n.flatten({
726
- includeEmpty: !0,
727
- onError: "value"
728
- }), a = r.flatten({
729
- includeEmpty: !0,
730
- onError: "value"
731
- });
732
- if (i.length !== a.length || i.length === 0) return NaN;
779
+ let i = n.flatten({ onError: "value" }), a = r.flatten({ onError: "value" });
780
+ if (i.getRowCount() !== a.getRowCount() || i.getRowCount() === 0) return NaN;
733
781
  let o = [], s = [];
734
- for (let e = 0; e < i.length; e++) {
735
- let n = i[e], r = a[e];
736
- if (n !== null || r !== null) {
737
- if (n === null || r === null) return NaN;
738
- if (t.isError(n) || t.isError(r)) return t.BuiltIn.Value;
739
- if (typeof n != "number") return NaN;
740
- if (typeof r != "number") return t.BuiltIn.Value;
741
- o.push(n), s.push(r);
742
- }
782
+ for (let [[e, n]] of i.alignValues([a])) {
783
+ if (e === null || n === null) return NaN;
784
+ if (t.isError(e) || t.isError(n)) return t.BuiltIn.Value;
785
+ if (typeof e != "number") return NaN;
786
+ if (typeof n != "number") return t.BuiltIn.Value;
787
+ o.push(e), s.push(n);
743
788
  }
744
789
  for (let e = 1; e < s.length; e++) if (s[e] < s[e - 1]) return NaN;
745
790
  let c = 0, l = s[0];
746
791
  for (let t = 0; t < o.length; t++) c += o[t] / (1 + e) ** (y(s[t], l) / 365);
747
792
  return c;
748
793
  }
749
- var B = 1e-7, Ke = a({
750
- ACCRINTM: () => qe,
751
- AMORLINC: () => $e,
752
- INTRATE: () => Je,
753
- PRICEMAT: () => Ze,
754
- RECEIVED: () => Ye,
755
- YIELDDISC: () => Xe,
756
- YIELDMAT: () => Qe
794
+ var B = 1e-7, Qe = a({
795
+ ACCRINTM: () => $e,
796
+ AMORLINC: () => at,
797
+ INTRATE: () => et,
798
+ PRICEMAT: () => rt,
799
+ RECEIVED: () => tt,
800
+ YIELDDISC: () => nt,
801
+ YIELDMAT: () => it
757
802
  });
758
- function qe(t, n, r, i, a = 0) {
803
+ function $e(t, n, r, i, a = 0) {
759
804
  if (a = Math.floor(a), !e.isValidDate(t) || !e.isValidDate(n) || !S(a) || r <= 0 || i <= 0 || Math.floor(t) > Math.floor(n)) return NaN;
760
805
  if (Math.floor(t) === Math.floor(n)) return 0;
761
806
  let { days: o, yearDays: s } = T(t, n, a);
762
807
  return i * r * o / s;
763
808
  }
764
- function Je(t, n, r, i, a = 0) {
809
+ function et(t, n, r, i, a = 0) {
765
810
  if (a = Math.floor(a), !e.isValidDate(t) || !e.isValidDate(n) || !S(a) || r <= 0 || i <= 0 || Math.floor(t) >= Math.floor(n)) return NaN;
766
811
  let { days: o, yearDays: s } = T(t, n, a);
767
812
  return (i - r) / r * (s / o);
768
813
  }
769
- function Ye(t, n, r, i, a = 0) {
814
+ function tt(t, n, r, i, a = 0) {
770
815
  if (a = Math.floor(a), !e.isValidDate(t) || !e.isValidDate(n) || r <= 0 || i <= 0 || !S(a) || Math.floor(t) >= Math.floor(n)) return NaN;
771
816
  let { days: o, yearDays: s } = T(t, n, a), c = r / (1 - i * o / s);
772
817
  return c < 0 ? NaN : c;
773
818
  }
774
- function Xe(t, n, r, i, a = 0) {
819
+ function nt(t, n, r, i, a = 0) {
775
820
  if (a = Math.floor(a), !e.isValidDate(t) || !e.isValidDate(n) || r <= 0 || i <= 0 || !S(a) || Math.floor(t) >= Math.floor(n)) return NaN;
776
821
  let { days: o, yearDays: s } = T(t, n, a);
777
822
  return (i / r - 1) / (o / s);
778
823
  }
779
- function Ze(t, n, r, i, a, o = 0) {
780
- if (o = Math.floor(o), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || a < 0 || !S(o) || !et(r, t, n)) return NaN;
824
+ function rt(t, n, r, i, a, o = 0) {
825
+ if (o = Math.floor(o), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || a < 0 || !S(o) || !ot(r, t, n)) return NaN;
781
826
  let { yearDays: s } = T(r, t, o), { days: c } = T(t, n, o), { days: l } = T(r, n, o), { days: u } = T(r, t, o);
782
827
  return (100 + l / s * i * 100) / (1 + c / s * a) - u / s * i * 100;
783
828
  }
784
- function Qe(t, n, r, i, a, o = 0) {
785
- if (o = Math.floor(o), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || a <= 0 || !S(o) || !et(r, t, n)) return NaN;
829
+ function it(t, n, r, i, a, o = 0) {
830
+ if (o = Math.floor(o), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || a <= 0 || !S(o) || !ot(r, t, n)) return NaN;
786
831
  let { yearDays: s } = T(r, t, o), { days: c } = T(t, n, o), { days: l } = T(r, n, o), { days: u } = T(r, t, o);
787
832
  return ((1 + l / s * i) / (a / 100 + u / s * i) - 1) / (c / s);
788
833
  }
789
- function $e(t, n, r, i, a, o, s = 0) {
834
+ function at(t, n, r, i, a, o, s = 0) {
790
835
  if (s = Math.floor(s), t <= 0 || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || t < i || a < 0 || o <= 0 || Math.floor(n) > Math.floor(r) || ![
791
836
  0,
792
837
  1,
@@ -797,44 +842,44 @@ function $e(t, n, r, i, a, o, s = 0) {
797
842
  let c = t - i, l = t * o, { days: u, yearDays: d } = T(n, r, s), f = u / d, p = Math.ceil(c / l - f);
798
843
  return p < 0 ? 0 : a === 0 ? l * f : a === p ? c - l * (f + a - 1) : a > p ? 0 : l;
799
844
  }
800
- function et(e, t, n) {
845
+ function ot(e, t, n) {
801
846
  return Math.floor(n) > Math.floor(t) && Math.floor(t) > Math.floor(e);
802
847
  }
803
- var tt = a({
804
- COUPDAYBS: () => nt,
805
- COUPDAYS: () => rt,
806
- COUPDAYSNC: () => it,
807
- COUPNCD: () => at,
808
- COUPNUM: () => st,
809
- COUPPCD: () => ot
848
+ var st = a({
849
+ COUPDAYBS: () => ct,
850
+ COUPDAYS: () => lt,
851
+ COUPDAYSNC: () => ut,
852
+ COUPNCD: () => dt,
853
+ COUPNUM: () => pt,
854
+ COUPPCD: () => ft
810
855
  });
811
- function nt(t, n, r, i = 0) {
856
+ function ct(t, n, r, i = 0) {
812
857
  return r = Math.floor(r), i = Math.floor(i), e.isValidDate(t) && e.isValidDate(n) && P(r) && S(i) && V(t, n, r, i) ? k(t, n, r, i) : NaN;
813
858
  }
814
- function rt(t, n, r, i = 0) {
859
+ function lt(t, n, r, i = 0) {
815
860
  return r = Math.floor(r), i = Math.floor(i), e.isValidDate(t) && e.isValidDate(n) && P(r) && S(i) && V(t, n, r, i) ? A(t, n, r, i) : NaN;
816
861
  }
817
- function it(t, n, r, i = 0) {
862
+ function ut(t, n, r, i = 0) {
818
863
  if (r = Math.floor(r), i = Math.floor(i), !(e.isValidDate(t) && e.isValidDate(n) && P(r) && S(i) && V(t, n, r, i))) return NaN;
819
864
  let { days: a } = T(t, O(t, n, r), i);
820
865
  return a;
821
866
  }
822
- function at(t, n, r, i = 0) {
867
+ function dt(t, n, r, i = 0) {
823
868
  return r = Math.floor(r), i = Math.floor(i), e.isValidDate(t) && e.isValidDate(n) && P(r) && S(i) && !(t >= n) && V(t, n, r, i) ? (e.formatResults("Short Date"), O(t, n, r)) : NaN;
824
869
  }
825
- function ot(t, n, r, i = 0) {
870
+ function ft(t, n, r, i = 0) {
826
871
  if (r = Math.floor(r), i = Math.floor(i), !(e.isValidDate(t) && e.isValidDate(n) && P(r) && S(i) && V(t, n, r, i))) return NaN;
827
872
  e.formatResults("d-mmm-yy");
828
873
  let a = D(t, n, r);
829
874
  return a < 0 ? 0 : a;
830
875
  }
831
- function st(t, n, r, i = 0) {
876
+ function pt(t, n, r, i = 0) {
832
877
  return r = Math.floor(r), i = Math.floor(i), e.isValidDate(t) && e.isValidDate(n) && P(r) && S(i) && V(t, n, r, i) ? D(t, n, r) < 0 ? NaN : j(t, n, r) : NaN;
833
878
  }
834
879
  function V(e, t, n, r) {
835
880
  return P(n) && S(r) && Math.floor(e) < Math.floor(t);
836
881
  }
837
- function ct(e, t) {
882
+ function mt(e, t) {
838
883
  let n = 1e-7, r = e, i = 1, a = 0;
839
884
  for (; i > n && a < 500;) {
840
885
  let e = (t(r + n) - t(r - n)) / 2e-7, o = r - t(r) / e;
@@ -860,56 +905,56 @@ function ct(e, t) {
860
905
  return u;
861
906
  }(e, t) : r;
862
907
  }
863
- var lt = a({
864
- DURATION: () => dt,
865
- MDURATION: () => ft,
866
- PRICE: () => ut,
867
- YIELD: () => pt
908
+ var ht = a({
909
+ DURATION: () => _t,
910
+ MDURATION: () => vt,
911
+ PRICE: () => gt,
912
+ YIELD: () => yt
868
913
  });
869
- function ut(t, n, r, i, a, o, s = 0) {
914
+ function gt(t, n, r, i, a, o, s = 0) {
870
915
  return o = Math.floor(o), s = Math.floor(s), !e.isValidDate(t) || !e.isValidDate(n) || r < 0 || i < 0 || a <= 0 || !P(o) || !S(s) || Math.floor(t) >= Math.floor(n) || !N(t, n, o) ? NaN : re(t, n, r, i, a, o, s);
871
916
  }
872
- function dt(t, n, r, i, a, o = 0) {
917
+ function _t(t, n, r, i, a, o = 0) {
873
918
  return a = Math.floor(a), o = Math.floor(o), !e.isValidDate(t) || !e.isValidDate(n) || r < 0 || i < 0 || !P(a) || !S(o) || Math.floor(t) >= Math.floor(n) || t <= 0 || n <= 366 ? NaN : ie(t, n, r, i, a, o);
874
919
  }
875
- function ft(t, n, r, i, a, o = 0) {
920
+ function vt(t, n, r, i, a, o = 0) {
876
921
  return a = Math.floor(a), o = Math.floor(o), !e.isValidDate(t) || !e.isValidDate(n) || r < 0 || i < 0 || !P(a) || !S(o) || Math.floor(t) >= Math.floor(n) || t <= 0 || n <= 366 ? NaN : ie(t, n, r, i, a, o) / (1 + i / a);
877
922
  }
878
- function pt(t, n, r, i, a, o, s = 0) {
923
+ function yt(t, n, r, i, a, o, s = 0) {
879
924
  if (o = Math.floor(o), s = Math.floor(s), !e.isValidDate(t) || !e.isValidDate(n) || r < 0 || i <= 0 || a <= 0 || !P(o) || !S(s) || Math.floor(t) >= Math.floor(n) || !N(t, n, o)) return NaN;
880
925
  if (j(t, n, o) > 1) {
881
- let e = ct(r || .01, (e) => re(t, n, r, e, a, o, s) - i);
926
+ let e = mt(r || .01, (e) => re(t, n, r, e, a, o, s) - i);
882
927
  return Number.isNaN(e) ? NaN : e;
883
928
  }
884
929
  let c = k(t, n, o, s), l = A(t, n, o, s), { days: u } = T(t, n, s), d = i / 100 + c / l * (r / o);
885
930
  return (a / 100 + r / o - d) / d * o * (l / u);
886
931
  }
887
- var mt = a({
888
- ODDFPRICE: () => ht,
889
- ODDFYIELD: () => gt,
890
- ODDLPRICE: () => _t,
891
- ODDLYIELD: () => vt
932
+ var bt = a({
933
+ ODDFPRICE: () => xt,
934
+ ODDFYIELD: () => St,
935
+ ODDLPRICE: () => Ct,
936
+ ODDLYIELD: () => wt
892
937
  });
893
- function ht(t, n, r, i, a, o, s, c, l = 0) {
894
- return c = Math.floor(c), l = Math.floor(l), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || !e.isValidDate(i) || a < 0 || o < 0 || s <= 0 || !P(c) || !S(l) || !bt(t, n, r, i, c) ? NaN : ne(t, n, r, i, a, o, s, c, l);
938
+ function xt(t, n, r, i, a, o, s, c, l = 0) {
939
+ return c = Math.floor(c), l = Math.floor(l), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || !e.isValidDate(i) || a < 0 || o < 0 || s <= 0 || !P(c) || !S(l) || !Et(t, n, r, i, c) ? NaN : ne(t, n, r, i, a, o, s, c, l);
895
940
  }
896
- function gt(t, n, r, i, a, o, s, c, l = 0) {
897
- if (c = Math.floor(c), l = Math.floor(l), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || !e.isValidDate(i) || a < 0 || o <= 0 || s <= 0 || !P(c) || !S(l) || !bt(t, n, r, i, c)) return NaN;
898
- let { days: u } = T(t, n, l), d = ct((a * u * 100 - (o - 100)) / (.25 * (o - 100) * (1 + 2 * u) + 100 * u), (e) => o - ne(t, n, r, i, a, e, s, c, l));
941
+ function St(t, n, r, i, a, o, s, c, l = 0) {
942
+ if (c = Math.floor(c), l = Math.floor(l), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || !e.isValidDate(i) || a < 0 || o <= 0 || s <= 0 || !P(c) || !S(l) || !Et(t, n, r, i, c)) return NaN;
943
+ let { days: u } = T(t, n, l), d = mt((a * u * 100 - (o - 100)) / (.25 * (o - 100) * (1 + 2 * u) + 100 * u), (e) => o - ne(t, n, r, i, a, e, s, c, l));
899
944
  return Number.isNaN(d) ? NaN : d;
900
945
  }
901
- function _t(t, n, r, i, a, o, s, c = 0) {
902
- return s = Math.floor(s), c = Math.floor(c), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || a < 0 || o <= 0 || !P(s) || !S(c) || !xt(t, n, r, s) ? NaN : function(e, t, n, r, i, a, o, s) {
903
- let { fAi: c, fDCi: l, fDSCi: u } = yt(e, t, n, o, s);
946
+ function Ct(t, n, r, i, a, o, s, c = 0) {
947
+ return s = Math.floor(s), c = Math.floor(c), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || a < 0 || o <= 0 || !P(s) || !S(c) || !Dt(t, n, r, s) ? NaN : function(e, t, n, r, i, a, o, s) {
948
+ let { fAi: c, fDCi: l, fDSCi: u } = Tt(e, t, n, o, s);
904
949
  return (a * o + 100 * r * (l - c * (1 + i * u / o))) / (i * u + o);
905
950
  }(t, n, r, i, a, o, s, c);
906
951
  }
907
- function vt(t, n, r, i, a, o, s, c = 0) {
908
- if (s = Math.floor(s), c = Math.floor(c), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || a <= 0 || o <= 0 || !P(s) || !S(c) || !xt(t, n, r, s)) return NaN;
909
- let { fAi: l, fDCi: u, fDSCi: d } = yt(t, n, r, s, c);
952
+ function wt(t, n, r, i, a, o, s, c = 0) {
953
+ if (s = Math.floor(s), c = Math.floor(c), !e.isValidDate(t) || !e.isValidDate(n) || !e.isValidDate(r) || i < 0 || a <= 0 || o <= 0 || !P(s) || !S(c) || !Dt(t, n, r, s)) return NaN;
954
+ let { fAi: l, fDCi: u, fDSCi: d } = Tt(t, n, r, s, c);
910
955
  return (s * (o - a) + 100 * i * (u - l)) / (d * a + 100 * i * l * d / s);
911
956
  }
912
- function yt(t, n, r, i, a) {
957
+ function Tt(t, n, r, i, a) {
913
958
  let o = function(t, n, r) {
914
959
  let i = e.fromSerialDate(t, !0), a = e.fromSerialDate(n, !0), o = 12 / r;
915
960
  for (a.setFullYear(i.getFullYear()), a > i && a.setFullYear(a.getFullYear() - 1); a < i;) a.setMonth(a.getMonth() + o);
@@ -937,17 +982,17 @@ function H(t, n, r, i, a) {
937
982
  let { days: _ } = T(u, n, a);
938
983
  return m += _ / f(a, u, d), m;
939
984
  }
940
- function bt(t, n, r, i, a) {
985
+ function Et(t, n, r, i, a) {
941
986
  return Math.floor(n) > Math.floor(i) && Math.floor(i) > Math.floor(t) && Math.floor(t) > Math.floor(r) && function(t, n, r) {
942
987
  let i = e.fromSerialDate(t, !0), a = e.fromSerialDate(n, !0), o = v(i.getFullYear(), i.getMonth(), i.getDate()), s = v(a.getFullYear(), a.getMonth(), a.getDate());
943
988
  return !!(i.getDate() === a.getDate() || o && s) && Math.abs(12 * (a.getFullYear() - i.getFullYear()) + (a.getMonth() - i.getMonth())) % (12 / r) == 0;
944
989
  }(n, i, a) && N(r, n, a);
945
990
  }
946
- function xt(e, t, n, r) {
991
+ function Dt(e, t, n, r) {
947
992
  return Math.floor(t) > Math.floor(e) && Math.floor(e) > Math.floor(n) && N(n, t, r);
948
993
  }
949
- var St = a({ VDB: () => Ct });
950
- function Ct(n, r, i, a, o, s = 2, c = !1) {
994
+ var Ot = a({ VDB: () => kt });
995
+ function kt(n, r, i, a, o, s = 2, c = !1) {
951
996
  if (!e.isValidDate(a) || !e.isValidDate(o) || n < 0 || r < 0 || i < 0 || a < 0 || o < 0 || o > i || a > o || s < 0) return NaN;
952
997
  if (i === 0 && a === 0 && o === 0) throw t.BuiltIn.Div0;
953
998
  if (n < r) {
@@ -978,30 +1023,27 @@ function Ct(n, r, i, a, o, s = 2, c = !1) {
978
1023
  return u;
979
1024
  }(n, r, i, a, o, s);
980
1025
  }
981
- var U = Object.freeze({ includeEmpty: !0 }), wt = (Object.freeze({ axis: n.Axis.Column }), Object.freeze({ axis: n.Axis.Row }), Object.freeze({
982
- type: r.Number,
983
- axis: n.Axis.Column
984
- })), Tt = a({
985
- FORECAST_ETS: () => Et,
986
- FORECAST_ETS_CONFINT: () => Dt,
987
- FORECAST_ETS_SEASONALITY: () => Ot,
988
- FORECAST_ETS_STAT: () => kt
1026
+ var At = a({
1027
+ FORECAST_ETS: () => jt,
1028
+ FORECAST_ETS_CONFINT: () => Mt,
1029
+ FORECAST_ETS_SEASONALITY: () => Nt,
1030
+ FORECAST_ETS_STAT: () => Pt
989
1031
  });
990
- function Et(e, n, r, i = 1, a = 1, o = 1) {
991
- let s = W(n, r, a, o);
1032
+ function jt(e, n, r, i = 1, a = 1, o = 1) {
1033
+ let s = U(n, r, a, o);
992
1034
  if (t.isError(s)) return s;
993
- let { values: c, stepSize: l, lastTime: u, firstTime: d } = s, f = Math.round((e - u) / l), p = K(c, i);
1035
+ let { values: c, stepSize: l, lastTime: u, firstTime: d } = s, f = Math.round((e - u) / l), p = G(c, i);
994
1036
  if (t.isError(p)) return p;
995
- let { alpha: m, beta: h, gamma: g, period: _, b0: v } = p, { L: y, T: b, S: x, finalIndex: S } = G(c, m, h, g, _, v).finalState, C = y + f * b;
1037
+ let { alpha: m, beta: h, gamma: g, period: _, b0: v } = p, { L: y, T: b, S: x, finalIndex: S } = W(c, m, h, g, _, v).finalState, C = y + f * b;
996
1038
  return _ > 1 && (C += x[(S + f) % _]), C;
997
1039
  }
998
- function Dt(n, r, i, a = .95, o = 1, s = 1, c = 1) {
1040
+ function Mt(n, r, i, a = .95, o = 1, s = 1, c = 1) {
999
1041
  if (a < 0 || a >= 1) return t.BuiltIn.Num;
1000
- let l = W(r, i, s, c);
1042
+ let l = U(r, i, s, c);
1001
1043
  if (t.isError(l)) return l;
1002
1044
  let { values: u, stepSize: d, lastTime: f } = l;
1003
1045
  if (u.length < 4) return 0;
1004
- let p = Math.round((n - f) / d), m = K(u, o);
1046
+ let p = Math.round((n - f) / d), m = G(u, o);
1005
1047
  if (t.isError(m)) return m;
1006
1048
  let { alpha: h, beta: g, gamma: _, period: v, b0: y } = m, b = function(e, t, n, r, i, a) {
1007
1049
  let o = e.length, s, c, l = Array(Math.max(1, i)).fill(0);
@@ -1035,19 +1077,19 @@ function Dt(n, r, i, a = .95, o = 1, s = 1, c = 1) {
1035
1077
  return i - (2.515517 + .802853 * i + .010328 * i * i) / (1 + 1.432788 * i + .189269 * i * i + .001308 * i * i * i);
1036
1078
  }(a) * b * Math.sqrt(x);
1037
1079
  }
1038
- function Ot(e, n, r = 1, i = 1) {
1039
- let a = W(e, n, r, i);
1080
+ function Nt(e, n, r = 1, i = 1) {
1081
+ let a = U(e, n, r, i);
1040
1082
  if (t.isError(a)) return a === t.BuiltIn.NA ? a : 0;
1041
1083
  let { values: o } = a;
1042
- return o.length < 4 ? 0 : jt(o);
1084
+ return o.length < 4 ? 0 : It(o);
1043
1085
  }
1044
- function kt(e, n, r, i = 1, a = 1, o = 1) {
1086
+ function Pt(e, n, r, i = 1, a = 1, o = 1) {
1045
1087
  if (r < 1 || r > 8) return t.BuiltIn.Num;
1046
- let s = W(e, n, a, o);
1088
+ let s = U(e, n, a, o);
1047
1089
  if (t.isError(s)) return s;
1048
1090
  let { values: c, stepSize: l } = s;
1049
1091
  if (r === 8) return l;
1050
- let u = K(c, i);
1092
+ let u = G(c, i);
1051
1093
  if (t.isError(u)) return u;
1052
1094
  let { alpha: d, beta: f, gamma: p, period: m, b0: h } = u;
1053
1095
  switch (r) {
@@ -1089,7 +1131,7 @@ function kt(e, n, r, i = 1, a = 1, o = 1) {
1089
1131
  }
1090
1132
  return t.BuiltIn.Num;
1091
1133
  }
1092
- function At(e, n) {
1134
+ function Ft(e, n) {
1093
1135
  if (e.length === 1) return e[0].value;
1094
1136
  let r = e.map((e) => e.value);
1095
1137
  switch (n) {
@@ -1106,20 +1148,23 @@ function At(e, n) {
1106
1148
  default: return t.BuiltIn.Num;
1107
1149
  }
1108
1150
  }
1109
- function W(e, n, r, i) {
1151
+ function U(e, n, r, i) {
1110
1152
  if (r < 0 || r > 1) return t.BuiltIn.Num;
1111
- let a = e.flatten(U), o = n.flatten(U);
1112
- if (a.length !== o.length) return t.BuiltIn.NA;
1113
- if (a.length < 2) return t.BuiltIn.Num;
1114
- let s = o.map((e, t) => ({
1115
- time: e,
1116
- value: a[t]
1117
- })).sort((e, t) => e.time - t.time), c = [], l = [s[0]];
1153
+ let a = e.flatten(), o = n.flatten();
1154
+ if (a.getRowCount() !== o.getRowCount()) return t.BuiltIn.NA;
1155
+ if (a.getRowCount() < 2) return t.BuiltIn.Num;
1156
+ let s = [];
1157
+ for (let [[e, t]] of a.alignValues([o])) typeof e == "number" && typeof t == "number" && s.push({
1158
+ time: t,
1159
+ value: e
1160
+ });
1161
+ if (s.sort((e, t) => e.time - t.time), s.length < 2) return t.BuiltIn.Num;
1162
+ let c = [], l = [s[0]];
1118
1163
  for (let e = 1; e < s.length; e++) {
1119
1164
  let n = s[e];
1120
1165
  if (n.time === s[e - 1].time) l.push(n);
1121
1166
  else {
1122
- let e = At(l, i);
1167
+ let e = Ft(l, i);
1123
1168
  if (t.isError(e)) return e;
1124
1169
  c.push({
1125
1170
  time: l[0].time,
@@ -1127,7 +1172,7 @@ function W(e, n, r, i) {
1127
1172
  }), l = [n];
1128
1173
  }
1129
1174
  }
1130
- let u = At(l, i);
1175
+ let u = Ft(l, i);
1131
1176
  if (t.isError(u)) return u;
1132
1177
  if (c.push({
1133
1178
  time: l[0].time,
@@ -1158,7 +1203,7 @@ function W(e, n, r, i) {
1158
1203
  firstTime: c[0].time
1159
1204
  };
1160
1205
  }
1161
- function jt(e) {
1206
+ function It(e) {
1162
1207
  let t = e.length;
1163
1208
  if (t < 4) return 0;
1164
1209
  let n = e.reduce((e, t) => e + t, 0) / t, r = 0;
@@ -1173,7 +1218,7 @@ function jt(e) {
1173
1218
  }
1174
1219
  return a;
1175
1220
  }
1176
- function G(e, t, n, r, i, a) {
1221
+ function W(e, t, n, r, i, a) {
1177
1222
  let o = e.length, s, c;
1178
1223
  if (i > 1 && o >= 2 * i) {
1179
1224
  let t = 0, n = 0;
@@ -1207,10 +1252,10 @@ function G(e, t, n, r, i, a) {
1207
1252
  }
1208
1253
  };
1209
1254
  }
1210
- function K(e, n) {
1255
+ function G(e, n) {
1211
1256
  let r = 1;
1212
1257
  if (n === 0) r = 1;
1213
- else if (n === 1) r = jt(e), r <= 1 && (r = 1);
1258
+ else if (n === 1) r = It(e), r <= 1 && (r = 1);
1214
1259
  else {
1215
1260
  if (!(n > 1)) return t.BuiltIn.Num;
1216
1261
  r = Math.floor(n);
@@ -1218,9 +1263,9 @@ function K(e, n) {
1218
1263
  if (r > 1 && e.length < 2 * r) return t.BuiltIn.Num;
1219
1264
  let i = e.length;
1220
1265
  if (r === 1) {
1221
- let t = Math.max(1, Math.floor(i / 4)), n = Mt((t) => {
1266
+ let t = Math.max(1, Math.floor(i / 4)), n = Lt((t) => {
1222
1267
  let n = Math.max(.001, Math.min(.999, t[0])), r = Math.max(.001, Math.min(.999, t[1])), i = t[2];
1223
- return G(e, n, r, 0, 1, i).mse;
1268
+ return W(e, n, r, 0, 1, i).mse;
1224
1269
  }, [
1225
1270
  .9,
1226
1271
  .1,
@@ -1234,7 +1279,7 @@ function K(e, n) {
1234
1279
  b0: n[2]
1235
1280
  };
1236
1281
  }
1237
- let a = Mt((t) => G(e, Math.max(.001, Math.min(.999, t[0])), Math.max(.001, Math.min(.999, t[1])), Math.max(.001, Math.min(.999, t[2])), r).mse, [
1282
+ let a = Lt((t) => W(e, Math.max(.001, Math.min(.999, t[0])), Math.max(.001, Math.min(.999, t[1])), Math.max(.001, Math.min(.999, t[2])), r).mse, [
1238
1283
  .9,
1239
1284
  .1,
1240
1285
  .1
@@ -1247,10 +1292,10 @@ function K(e, n) {
1247
1292
  b0: 0
1248
1293
  };
1249
1294
  }
1250
- function q(e, t, n, r, i) {
1295
+ function K(e, t, n, r, i) {
1251
1296
  for (let a = 0; a < e.length; ++a) e[a] = t * n[a] + r * i[a];
1252
1297
  }
1253
- function Mt(e, t, n) {
1298
+ function Lt(e, t, n) {
1254
1299
  let r = (n ||= {}).maxIterations || 200 * t.length, i = n.nonZeroDelta || 1.05, a = n.zeroDelta || .001, o = n.minErrorDelta || 1e-6, s = n.minTolerance || 1e-5, c = n.rho === void 0 ? 1 : n.rho, l = n.chi === void 0 ? 2 : n.chi, u = n.psi === void 0 ? -.5 : n.psi, d = n.sigma === void 0 ? .5 : n.sigma, f, p = t.length, m = Array(p + 1);
1255
1300
  m[0] = t, m[0].fx = e(t), m[0].id = 0;
1256
1301
  for (let n = 0; n < p; ++n) {
@@ -1283,12 +1328,12 @@ function Mt(e, t, n) {
1283
1328
  _[e] /= p;
1284
1329
  }
1285
1330
  let t = m[p];
1286
- if (q(v, 1 + c, _, -c, t), v.fx = e(v), v.fx < m[0].fx) q(b, 1 + l, _, -l, t), b.fx = e(b), h(b.fx < v.fx ? b : v);
1331
+ if (K(v, 1 + c, _, -c, t), v.fx = e(v), v.fx < m[0].fx) K(b, 1 + l, _, -l, t), b.fx = e(b), h(b.fx < v.fx ? b : v);
1287
1332
  else if (v.fx >= m[p - 1].fx) {
1288
1333
  let n = !1;
1289
- if (v.fx > t.fx ? (q(y, 1 + u, _, -u, t), y.fx = e(y), y.fx < t.fx ? h(y) : n = !0) : (q(y, 1 - u * c, _, u * c, t), y.fx = e(y), y.fx < v.fx ? h(y) : n = !0), n) {
1334
+ if (v.fx > t.fx ? (K(y, 1 + u, _, -u, t), y.fx = e(y), y.fx < t.fx ? h(y) : n = !0) : (K(y, 1 - u * c, _, u * c, t), y.fx = e(y), y.fx < v.fx ? h(y) : n = !0), n) {
1290
1335
  if (d >= 1) break;
1291
- for (let t = 1; t < m.length; ++t) q(m[t], 1 - d, m[0], d, m[t]), m[t].fx = e(m[t]);
1336
+ for (let t = 1; t < m.length; ++t) K(m[t], 1 - d, m[0], d, m[t]), m[t].fx = e(m[t]);
1292
1337
  }
1293
1338
  } else h(v);
1294
1339
  }
@@ -1297,7 +1342,10 @@ function Mt(e, t, n) {
1297
1342
  x: m[0]
1298
1343
  };
1299
1344
  }
1300
- var J = (e, n) => {
1345
+ var Rt = Object.freeze({ includeEmpty: !0 }), q = (Object.freeze({ axis: n.Axis.Column }), Object.freeze({ axis: n.Axis.Row }), Object.freeze({
1346
+ type: r.Number,
1347
+ axis: n.Axis.Row
1348
+ })), J = (e, n) => {
1301
1349
  let r = e.getRowCount(), i = e.getColumnCount(), a = r * i;
1302
1350
  if (a === 0) throw t.BuiltIn.Value;
1303
1351
  let o = X(e, a), s = r === 1 && i > 1, c = r > 1 && i > 1;
@@ -1333,21 +1381,21 @@ var J = (e, n) => {
1333
1381
  let d = s ? l : u;
1334
1382
  return {
1335
1383
  ys: o,
1336
- xs: It(n, a, d, s),
1384
+ xs: Ht(n, a, d, s),
1337
1385
  k: d,
1338
1386
  isRowOriented: s,
1339
1387
  isRectangularY: c,
1340
1388
  yRows: r,
1341
1389
  yCols: i
1342
1390
  };
1343
- }, Nt = (e) => {
1391
+ }, zt = (e) => {
1344
1392
  let n = Array(e.length);
1345
1393
  for (let r = 0; r < e.length; r++) {
1346
1394
  if (e[r] <= 0) throw t.BuiltIn.Num;
1347
1395
  n[r] = Math.log(e[r]);
1348
1396
  }
1349
1397
  return n;
1350
- }, Pt = (e, n, r) => {
1398
+ }, Bt = (e, n, r) => {
1351
1399
  let i, a, o;
1352
1400
  if (n && n.size > 0) {
1353
1401
  let r = ((e, n) => {
@@ -1365,7 +1413,7 @@ var J = (e, n) => {
1365
1413
  let o = n.isRowOriented ? i : r;
1366
1414
  if ((n.isRowOriented ? r : i) !== n.k) throw t.BuiltIn.Ref;
1367
1415
  return {
1368
- xs: It(e, o, n.k, n.isRowOriented),
1416
+ xs: Ht(e, o, n.k, n.isRowOriented),
1369
1417
  rows: n.isRowOriented ? 1 : o,
1370
1418
  cols: n.isRowOriented ? o : 1
1371
1419
  };
@@ -1456,7 +1504,7 @@ var J = (e, n) => {
1456
1504
  ssResid: _,
1457
1505
  predict: g
1458
1506
  };
1459
- }, Ft = (e, n, r) => {
1507
+ }, Vt = (e, n, r) => {
1460
1508
  let i = n.length, a = t.BuiltIn.NA, o = (e, t) => {
1461
1509
  let n = Array(i).fill(a);
1462
1510
  return n[0] = e, i > 1 && (n[1] = t), n;
@@ -1470,12 +1518,12 @@ var J = (e, n) => {
1470
1518
  ];
1471
1519
  }, X = (e, n) => {
1472
1520
  let r = Array(n), i = 0;
1473
- for (let n of e.values(U)) {
1521
+ for (let n of e.values(Rt)) {
1474
1522
  if (typeof n != "number") throw t.BuiltIn.Value;
1475
1523
  r[i++] = n;
1476
1524
  }
1477
1525
  return r;
1478
- }, It = (e, t, n, r) => {
1526
+ }, Ht = (e, t, n, r) => {
1479
1527
  let i = X(e, t * n), a = Array(t);
1480
1528
  for (let e = 0; e < t; e++) {
1481
1529
  let o = Array(n);
@@ -1487,36 +1535,36 @@ var J = (e, n) => {
1487
1535
  let n = 0;
1488
1536
  for (let r = 0; r < e.length; r++) n += e[r] * t[r];
1489
1537
  return n;
1490
- }, Lt = a({
1491
- GROWTH: () => Vt,
1492
- LINEST: () => Rt,
1493
- LOGEST: () => zt,
1494
- TREND: () => Bt
1538
+ }, Ut = a({
1539
+ GROWTH: () => qt,
1540
+ LINEST: () => Wt,
1541
+ LOGEST: () => Gt,
1542
+ TREND: () => Kt
1495
1543
  });
1496
- function Rt(e, t, n = !0, r = !1) {
1544
+ function Wt(e, t, n = !0, r = !1) {
1497
1545
  let i = J(e, t), a = Y(i.ys, i.xs, n), o = a.coefficients;
1498
- return r ? Ft(a, o, n) : [o.slice()];
1546
+ return r ? Vt(a, o, n) : [o.slice()];
1499
1547
  }
1500
- function zt(e, t, n = !0, r = !1) {
1501
- let i = J(e, t), a = Y(Nt(i.ys), i.xs, n), o = a.coefficients.map(Math.exp);
1502
- return r ? Ft(a, o, n) : [o];
1548
+ function Gt(e, t, n = !0, r = !1) {
1549
+ let i = J(e, t), a = Y(zt(i.ys), i.xs, n), o = a.coefficients.map(Math.exp);
1550
+ return r ? Vt(a, o, n) : [o];
1503
1551
  }
1504
- function Bt(e, t, n, r = !0) {
1552
+ function Kt(e, t, n, r = !0) {
1505
1553
  let i = J(e, t);
1506
- return Pt(i, n, Y(i.ys, i.xs, r).predict);
1554
+ return Bt(i, n, Y(i.ys, i.xs, r).predict);
1507
1555
  }
1508
- function Vt(e, t, n, r = !0) {
1556
+ function qt(e, t, n, r = !0) {
1509
1557
  let i = J(e, t);
1510
- return Pt(i, n, Y(Nt(i.ys), i.xs, r).predict).map((e) => e.map(Math.exp));
1558
+ return Bt(i, n, Y(zt(i.ys), i.xs, r).predict).map((e) => e.map(Math.exp));
1511
1559
  }
1512
- var Ht = a({
1513
- TTEST: () => Ut,
1514
- T_TEST: () => Wt
1560
+ var Jt = a({
1561
+ TTEST: () => Yt,
1562
+ T_TEST: () => Xt
1515
1563
  });
1516
- function Ut(e, t, n, r) {
1517
- return Wt(e, t, n, r);
1564
+ function Yt(e, t, n, r) {
1565
+ return Xt(e, t, n, r);
1518
1566
  }
1519
- function Wt(e, n, r, i) {
1567
+ function Xt(e, n, r, i) {
1520
1568
  if (r = Math.floor(r), i = Math.floor(i), ![1, 2].includes(r) || ![
1521
1569
  1,
1522
1570
  2,
@@ -1524,53 +1572,59 @@ function Wt(e, n, r, i) {
1524
1572
  ].includes(i)) return NaN;
1525
1573
  let a = e.getShape(), o = n.getShape(), s = a.rows * a.columns, c = o.rows * o.columns;
1526
1574
  if (i === 1 && s !== c) return t.BuiltIn.NA;
1527
- let l = e.flatten(wt), u = n.flatten(wt);
1528
- if (l === null || u === null) return t.BuiltIn.Value;
1529
- if (l.length < 2 || u.length < 2) throw t.BuiltIn.Div0;
1530
- if (i === 1 && l.length !== u.length) return t.BuiltIn.NA;
1531
- let d = i === 1 ? function(e, t) {
1532
- let n = e.length, r = 0, i = 0, a = 0;
1533
- for (let o = 0; o < n; o++) r += e[o], i += t[o], a += (e[o] - t[o]) ** 2;
1534
- let o = r - i, s = n * a - o ** 2;
1535
- return s === 0 ? { error: !0 } : {
1536
- x: Math.abs(o) * Math.sqrt((n - 1) / s),
1537
- df: n - 1
1538
- };
1539
- }(l, u) : i === 2 ? function(e, t) {
1540
- let n = e.length, r = t.length, i = 0, a = 0, o = 0, s = 0;
1541
- for (let t of e) i += t, a += t * t;
1542
- for (let e of t) o += e, s += e * e;
1543
- let c = a - i ** 2 / n, l = s - o ** 2 / r, u = Math.sqrt(c + l);
1544
- if (u === 0) return { error: !0 };
1545
- let d = n + r - 2;
1546
- return {
1547
- x: Math.abs(i / n - o / r) / u * Math.sqrt(n * r * d / (n + r)),
1548
- df: d
1549
- };
1550
- }(l, u) : function(e, t) {
1551
- let n = e.length, r = t.length, i = 0, a = 0, o = 0, s = 0;
1552
- for (let t of e) i += t, a += t * t;
1553
- for (let e of t) o += e, s += e * e;
1554
- let c = (a - i ** 2 / n) / (n * (n - 1)), l = (s - o ** 2 / r) / (r * (r - 1));
1555
- if (c + l === 0) return { error: !0 };
1556
- let u = Math.abs(i / n - o / r) / Math.sqrt(c + l), d = c / (c + l);
1557
- return {
1558
- x: u,
1559
- df: 1 / (d ** 2 / (n - 1) + (1 - d) ** 2 / (r - 1))
1560
- };
1561
- }(l, u);
1562
- if ("error" in d) throw t.BuiltIn.Div0;
1575
+ let l;
1576
+ if (i === 1) {
1577
+ let r = [], i = [], a = e.flatten(q).alignValues([n.flatten(q)]);
1578
+ for (let [[e, t]] of a) e !== null && t !== null && (r.push(e), i.push(t));
1579
+ if (r.length < 2) throw t.BuiltIn.Div0;
1580
+ l = function(e, t) {
1581
+ let n = e.length, r = 0, i = 0, a = 0;
1582
+ for (let o = 0; o < n; o++) r += e[o], i += t[o], a += (e[o] - t[o]) ** 2;
1583
+ let o = r - i, s = n * a - o ** 2;
1584
+ return s === 0 ? { error: !0 } : {
1585
+ x: Math.abs(o) * Math.sqrt((n - 1) / s),
1586
+ df: n - 1
1587
+ };
1588
+ }(r, i);
1589
+ } else {
1590
+ let r = e.getValuesFlat(q), a = n.getValuesFlat(q);
1591
+ if (r.length < 2 || a.length < 2) throw t.BuiltIn.Div0;
1592
+ l = i === 2 ? function(e, t) {
1593
+ let n = e.length, r = t.length, i = 0, a = 0, o = 0, s = 0;
1594
+ for (let t of e) i += t, a += t * t;
1595
+ for (let e of t) o += e, s += e * e;
1596
+ let c = a - i ** 2 / n, l = s - o ** 2 / r, u = Math.sqrt(c + l);
1597
+ if (u === 0) return { error: !0 };
1598
+ let d = n + r - 2;
1599
+ return {
1600
+ x: Math.abs(i / n - o / r) / u * Math.sqrt(n * r * d / (n + r)),
1601
+ df: d
1602
+ };
1603
+ }(r, a) : function(e, t) {
1604
+ let n = e.length, r = t.length, i = 0, a = 0, o = 0, s = 0;
1605
+ for (let t of e) i += t, a += t * t;
1606
+ for (let e of t) o += e, s += e * e;
1607
+ let c = (a - i ** 2 / n) / (n * (n - 1)), l = (s - o ** 2 / r) / (r * (r - 1));
1608
+ if (c + l === 0) return { error: !0 };
1609
+ let u = Math.abs(i / n - o / r) / Math.sqrt(c + l), d = c / (c + l);
1610
+ return {
1611
+ x: u,
1612
+ df: 1 / (d ** 2 / (n - 1) + (1 - d) ** 2 / (r - 1))
1613
+ };
1614
+ }(r, a);
1615
+ }
1616
+ if ("error" in l) throw t.BuiltIn.Div0;
1563
1617
  return function(e, t) {
1564
1618
  let n = .5 * function(e, t, n) {
1565
1619
  if (n <= 0) return 0;
1566
1620
  if (n >= 1) return 1;
1567
1621
  let r = Q(e) + Q(t) - Q(e + t), i = Math.exp(Math.log(n) * e + Math.log(1 - n) * t - r);
1568
- return n < (e + 1) / (e + t + 2) ? i * Gt(e, t, n) / e : 1 - i * Gt(t, e, 1 - n) / t;
1622
+ return n < (e + 1) / (e + t + 2) ? i * Zt(e, t, n) / e : 1 - i * Zt(t, e, 1 - n) / t;
1569
1623
  }(t / 2, .5, t / (t + e * e));
1570
1624
  return e >= 0 ? 1 - n : n;
1571
- }(-d.x, d.df) * r;
1625
+ }(-l.x, l.df) * r;
1572
1626
  }
1573
- function Gt(e, t, n) {
1627
+ function Zt(e, t, n) {
1574
1628
  let r = 1e-30, i = e + t, a = e + 1, o = e - 1, s = 1, c = 1 - i * n / a;
1575
1629
  Math.abs(c) < r && (c = r), c = 1 / c;
1576
1630
  let l = c;
@@ -1578,7 +1632,7 @@ function Gt(e, t, n) {
1578
1632
  let d = 2 * u, f = u * (t - u) * n / ((o + d) * (e + d));
1579
1633
  c = 1 + f * c, Math.abs(c) < r && (c = r), s = 1 + f / s, Math.abs(s) < r && (s = r), c = 1 / c, l *= c * s, f = -(e + u) * (i + u) * n / ((e + d) * (a + d)), c = 1 + f * c, Math.abs(c) < r && (c = r), s = 1 + f / s, Math.abs(s) < r && (s = r), c = 1 / c;
1580
1634
  let p = c * s;
1581
- if (l *= p, Math.abs(p - 1) < 3e-7) break;
1635
+ if (l *= p, Math.abs(p - 1) < 3e-16) break;
1582
1636
  }
1583
1637
  return l;
1584
1638
  }
@@ -1601,13 +1655,13 @@ function Q(e) {
1601
1655
  let r = e + 7.5;
1602
1656
  return .5 * Math.log(2 * Math.PI) + (e + .5) * Math.log(r) - r + Math.log(n);
1603
1657
  }
1604
- var Kt = a({
1605
- REGEXEXTRACT: () => qt,
1606
- REGEXMATCH: () => Jt,
1607
- REGEXREPLACE: () => Yt,
1608
- REGEXTEST: () => Xt
1658
+ var Qt = a({
1659
+ REGEXEXTRACT: () => $t,
1660
+ REGEXMATCH: () => en,
1661
+ REGEXREPLACE: () => tn,
1662
+ REGEXTEST: () => nn
1609
1663
  });
1610
- function qt(n, r, i = 0, a = !1) {
1664
+ function $t(n, r, i = 0, a = !1) {
1611
1665
  let o = $(r, a);
1612
1666
  if (t.isError(o)) return o;
1613
1667
  if (i === 0) {
@@ -1629,11 +1683,11 @@ function qt(n, r, i = 0, a = !1) {
1629
1683
  }
1630
1684
  return t.BuiltIn.Value;
1631
1685
  }
1632
- function Jt(e, n, r = !1) {
1686
+ function en(e, n, r = !1) {
1633
1687
  let i = $(n, r);
1634
1688
  return t.isError(i) ? i : i.test(e);
1635
1689
  }
1636
- function Yt(e, n, r, i = 0, a = !1) {
1690
+ function tn(e, n, r, i = 0, a = !1) {
1637
1691
  let o = $(n, a);
1638
1692
  if (t.isError(o)) return o;
1639
1693
  if (i === 0) {
@@ -1653,7 +1707,7 @@ function Yt(e, n, r, i = 0, a = !1) {
1653
1707
  }
1654
1708
  return c;
1655
1709
  }
1656
- function Xt(e, n, r = !1) {
1710
+ function nn(e, n, r = !1) {
1657
1711
  let i = $(n, r);
1658
1712
  return t.isError(i) ? i : i.test(e);
1659
1713
  }
@@ -1664,7 +1718,7 @@ function $(e, n) {
1664
1718
  return t.BuiltIn.Value;
1665
1719
  }
1666
1720
  }
1667
- var Zt = {
1721
+ var rn = {
1668
1722
  CUBEKPIMEMBER: {
1669
1723
  p: [
1670
1724
  {
@@ -1781,7 +1835,7 @@ var Zt = {
1781
1835
  }],
1782
1836
  r: { s: "string" }
1783
1837
  }
1784
- }, Qt = { ACCRINT: {
1838
+ }, an = { ACCRINT: {
1785
1839
  p: [
1786
1840
  { n: "issue" },
1787
1841
  { n: "firstInterest" },
@@ -1802,7 +1856,7 @@ var Zt = {
1802
1856
  }
1803
1857
  ],
1804
1858
  r: { s: "number" }
1805
- } }, $t = { AMORDEGRC: {
1859
+ } }, on = { AMORDEGRC: {
1806
1860
  p: [
1807
1861
  { n: "cost" },
1808
1862
  { n: "datePurchased" },
@@ -1817,7 +1871,7 @@ var Zt = {
1817
1871
  }
1818
1872
  ],
1819
1873
  r: { s: "number" }
1820
- } }, en = {
1874
+ } }, sn = {
1821
1875
  DATEDIF: {
1822
1876
  p: [
1823
1877
  { n: "startDate" },
@@ -1861,7 +1915,7 @@ var Zt = {
1861
1915
  ],
1862
1916
  r: { s: "number" }
1863
1917
  }
1864
- }, tn = {
1918
+ }, cn = {
1865
1919
  COUPDAYS: {
1866
1920
  p: [
1867
1921
  { n: "settlement" },
@@ -1876,24 +1930,74 @@ var Zt = {
1876
1930
  r: { s: "number" }
1877
1931
  },
1878
1932
  CUMIPMT: {
1933
+ x: ["noReferenceLift", "noMemberFilter"],
1879
1934
  p: [
1880
- { n: "rate" },
1881
- { n: "nper" },
1882
- { n: "pv" },
1883
- { n: "startPeriod" },
1884
- { n: "endPeriod" },
1885
- { n: "type" }
1935
+ {
1936
+ n: "rate",
1937
+ s: "*",
1938
+ u: 1
1939
+ },
1940
+ {
1941
+ n: "nper",
1942
+ s: "*",
1943
+ u: 1
1944
+ },
1945
+ {
1946
+ n: "pv",
1947
+ s: "*",
1948
+ u: 1
1949
+ },
1950
+ {
1951
+ n: "startPeriod",
1952
+ s: "*",
1953
+ u: 1
1954
+ },
1955
+ {
1956
+ n: "endPeriod",
1957
+ s: "*",
1958
+ u: 1
1959
+ },
1960
+ {
1961
+ n: "type",
1962
+ s: "*",
1963
+ u: 1
1964
+ }
1886
1965
  ],
1887
1966
  r: { s: "number" }
1888
1967
  },
1889
1968
  CUMPRINC: {
1969
+ x: ["noReferenceLift", "noMemberFilter"],
1890
1970
  p: [
1891
- { n: "rate" },
1892
- { n: "nper" },
1893
- { n: "pv" },
1894
- { n: "startPeriod" },
1895
- { n: "endPeriod" },
1896
- { n: "type" }
1971
+ {
1972
+ n: "rate",
1973
+ s: "*",
1974
+ u: 1
1975
+ },
1976
+ {
1977
+ n: "nper",
1978
+ s: "*",
1979
+ u: 1
1980
+ },
1981
+ {
1982
+ n: "pv",
1983
+ s: "*",
1984
+ u: 1
1985
+ },
1986
+ {
1987
+ n: "startPeriod",
1988
+ s: "*",
1989
+ u: 1
1990
+ },
1991
+ {
1992
+ n: "endPeriod",
1993
+ s: "*",
1994
+ u: 1
1995
+ },
1996
+ {
1997
+ n: "type",
1998
+ s: "*",
1999
+ u: 1
2000
+ }
1897
2001
  ],
1898
2002
  r: { s: "number" }
1899
2003
  },
@@ -1948,7 +2052,16 @@ var Zt = {
1948
2052
  r: { s: "number" }
1949
2053
  },
1950
2054
  EFFECT: {
1951
- p: [{ n: "nominalRate" }, { n: "npery" }],
2055
+ x: ["noReferenceLift", "noMemberFilter"],
2056
+ p: [{
2057
+ n: "nominalRate",
2058
+ s: "*",
2059
+ u: 1
2060
+ }, {
2061
+ n: "npery",
2062
+ s: "*",
2063
+ u: 1
2064
+ }],
1952
2065
  r: { s: "number" }
1953
2066
  },
1954
2067
  FV: {
@@ -1971,9 +2084,16 @@ var Zt = {
1971
2084
  r: { s: "number" }
1972
2085
  },
1973
2086
  FVSCHEDULE: {
1974
- p: [{ n: "principal" }, {
2087
+ x: ["noReferenceLift", "noMemberFilter"],
2088
+ p: [{
2089
+ n: "principal",
2090
+ s: "*",
2091
+ u: 1
2092
+ }, {
1975
2093
  n: "schedule",
1976
- r: "r"
2094
+ r: "r",
2095
+ o: "accept",
2096
+ u: 1
1977
2097
  }],
1978
2098
  r: { s: "number" }
1979
2099
  },
@@ -2028,7 +2148,16 @@ var Zt = {
2028
2148
  r: { s: "number" }
2029
2149
  },
2030
2150
  NOMINAL: {
2031
- p: [{ n: "effectiveRate" }, { n: "npery" }],
2151
+ x: ["noReferenceLift", "noMemberFilter"],
2152
+ p: [{
2153
+ n: "effectiveRate",
2154
+ s: "*",
2155
+ u: 1
2156
+ }, {
2157
+ n: "npery",
2158
+ s: "*",
2159
+ u: 1
2160
+ }],
2032
2161
  r: { s: "number" }
2033
2162
  },
2034
2163
  NPER: {
@@ -2052,7 +2181,11 @@ var Zt = {
2052
2181
  NPV: {
2053
2182
  p: [{ n: "rate" }, {
2054
2183
  n: "value",
2055
- g: [{ n: "value" }]
2184
+ g: [{
2185
+ n: "value",
2186
+ s: "number",
2187
+ r: "r"
2188
+ }]
2056
2189
  }],
2057
2190
  r: { s: "number" }
2058
2191
  },
@@ -2266,7 +2399,7 @@ var Zt = {
2266
2399
  ],
2267
2400
  r: { s: "*" }
2268
2401
  }
2269
- }, nn = {
2402
+ }, ln = {
2270
2403
  ACCRINTM: {
2271
2404
  p: [
2272
2405
  { n: "issue" },
@@ -2369,7 +2502,7 @@ var Zt = {
2369
2502
  ],
2370
2503
  r: { s: "number" }
2371
2504
  }
2372
- }, rn = {
2505
+ }, un = {
2373
2506
  COUPDAYBS: {
2374
2507
  p: [
2375
2508
  { n: "settlement" },
@@ -2448,7 +2581,7 @@ var Zt = {
2448
2581
  ],
2449
2582
  r: { s: "number" }
2450
2583
  }
2451
- }, an = {
2584
+ }, dn = {
2452
2585
  PRICE: {
2453
2586
  p: [
2454
2587
  { n: "settlement" },
@@ -2511,7 +2644,7 @@ var Zt = {
2511
2644
  ],
2512
2645
  r: { s: "number" }
2513
2646
  }
2514
- }, on = {
2647
+ }, fn = {
2515
2648
  ODDFPRICE: {
2516
2649
  p: [
2517
2650
  { n: "settlement" },
@@ -2582,7 +2715,7 @@ var Zt = {
2582
2715
  ],
2583
2716
  r: { s: "number" }
2584
2717
  }
2585
- }, sn = { VDB: {
2718
+ }, pn = { VDB: {
2586
2719
  p: [
2587
2720
  { n: "cost" },
2588
2721
  { n: "salvage" },
@@ -2602,7 +2735,7 @@ var Zt = {
2602
2735
  }
2603
2736
  ],
2604
2737
  r: { s: "number" }
2605
- } }, cn = {
2738
+ } }, mn = {
2606
2739
  "FORECAST.ETS": {
2607
2740
  fn: "FORECAST_ETS",
2608
2741
  p: [
@@ -2722,7 +2855,7 @@ var Zt = {
2722
2855
  ],
2723
2856
  r: { s: "*" }
2724
2857
  }
2725
- }, ln = {
2858
+ }, hn = {
2726
2859
  LINEST: {
2727
2860
  p: [
2728
2861
  {
@@ -2847,7 +2980,7 @@ var Zt = {
2847
2980
  r: "m"
2848
2981
  }
2849
2982
  }
2850
- }, un = {
2983
+ }, gn = {
2851
2984
  TTEST: {
2852
2985
  p: [
2853
2986
  {
@@ -2883,7 +3016,7 @@ var Zt = {
2883
3016
  ],
2884
3017
  r: { s: "number" }
2885
3018
  }
2886
- }, dn = {
3019
+ }, _n = {
2887
3020
  REGEXEXTRACT: {
2888
3021
  p: [
2889
3022
  {
@@ -2974,5 +3107,5 @@ var Zt = {
2974
3107
  ],
2975
3108
  r: { s: "*" }
2976
3109
  }
2977
- }, fn = () => import("./C8ez6oBw4sdDzSct.mjs"), pn = () => import("./CLQ1_t-YsFFTRbw1.mjs"), mn = () => import("./v_larpTXJns5MbG8.mjs"), hn = () => import("./Cmx9jVLihcV7UU9j.mjs"), gn = () => import("./CYm12WYrfdzPk8cm.mjs"), _n = () => import("./BXjhl9UdRwdpTLAB.mjs"), vn = () => import("./CzzpVN7fGDVLTBAQ.mjs"), yn = () => import("./C1Of99Li1xuXVvHC.mjs"), bn = () => import("./CVd2CtlxuMv1IuIq.mjs"), xn = () => import("./DN1_rspUH-tOwmED.mjs"), Sn = () => import("./D-wUpQDKX_k0SiSj.mjs"), Cn = () => import("./Lw7SD9UV2xQaHBMY.mjs"), wn = () => import("./CEzXDdvqDDZbH1WV.mjs"), Tn = () => import("./DEQPjlaWWG7gXPtm.mjs"), En = (e, t, n) => (n ||= /* @__PURE__ */ new Map(), t(n, e, o, Zt, fn, "Cube"), t(n, e, oe, Qt, pn, "Financial"), t(n, e, le, $t, mn, "Financial"), t(n, e, fe, en, hn, "Financial"), t(n, e, me, tn, gn, "Financial"), t(n, e, Ke, nn, _n, "Financial"), t(n, e, tt, rn, vn, "Financial"), t(n, e, lt, an, yn, "Financial"), t(n, e, mt, on, bn, "Financial"), t(n, e, St, sn, xn, "Financial"), t(n, e, Tt, cn, Sn, "Statistical"), t(n, e, Lt, ln, Cn, "Statistical"), t(n, e, Ht, un, wn, "Statistical"), t(n, e, Kt, dn, Tn, "Text"), n);
2978
- export { En as default };
3110
+ }, vn = () => import("./BuGemmv84T8m0wqw.mjs"), yn = () => import("./CwoMEzOtRihuYUTr.mjs"), bn = () => import("./CnVJ8GAsshRjRGA-.mjs"), xn = () => import("./BRwwvGaJ6HvkxjFC.mjs"), Sn = () => import("./Dy6UD7hQRBsT0WNp.mjs"), Cn = () => import("./DodhOXkSzelSxHmB.mjs"), wn = () => import("./Bma3CN4_Nec6_4n7.mjs"), Tn = () => import("./B1VmvhXuEn7zaTB9.mjs"), En = () => import("./vu0NRDeeTbEHPMYS.mjs"), Dn = () => import("./COqdI1LYTHd9oLA6.mjs"), On = () => import("./DpoZ7h1ScIJvbOY9.mjs"), kn = () => import("./BFnDPCjxJcoIItFa.mjs"), An = () => import("./DY3kG36QGyDbrANO.mjs"), jn = () => import("./srpVt74r2zbvm1N0.mjs"), Mn = (e, t, n) => (n ||= /* @__PURE__ */ new Map(), t(n, e, o, rn, vn, "Cube"), t(n, e, oe, an, yn, "Financial"), t(n, e, le, on, bn, "Financial"), t(n, e, pe, sn, xn, "Financial"), t(n, e, he, cn, Sn, "Financial"), t(n, e, Qe, ln, Cn, "Financial"), t(n, e, st, un, wn, "Financial"), t(n, e, ht, dn, Tn, "Financial"), t(n, e, bt, fn, En, "Financial"), t(n, e, Ot, pn, Dn, "Financial"), t(n, e, At, mn, On, "Statistical"), t(n, e, Ut, hn, kn, "Statistical"), t(n, e, Jt, gn, An, "Statistical"), t(n, e, Qt, _n, jn, "Text"), n);
3111
+ export { Mn as default };