@danielsimonjr/mathts-functions 0.2.9 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -477,10 +477,19 @@ var add = mathTyped("add", {
477
477
  const result = await computePool.add(a, b);
478
478
  return result.result;
479
479
  },
480
- // Variadic addition. NOTE: this repo's typed-function fork delivers
481
- // variadic rest args as a single array argument (`fn(a, b, [...rest])`),
482
- // so the parameter is declared as a plain array no JS spread.
483
- "number, number, ...number": (a, b, rest) => rest.reduce((acc, val) => acc + val, a + b)
480
+ // Variadic addition over ANY types (mathjs parity). Folds pairwise through the
481
+ // binary `add`, so Complex / Fraction / BigNumber / mixed arguments work — not
482
+ // only number. (Needed e.g. by polynomialRoot's `add(b, C, …)` where C is a
483
+ // complex cube root.) NOTE: this typed-function fork delivers the variadic
484
+ // rest as a single packed array argument, not via JS spread.
485
+ "any, any, ...any": (a, b, rest) => {
486
+ const op = add;
487
+ let result = op(a, b);
488
+ for (let i = 0; i < rest.length; i++) {
489
+ result = op(result, rest[i]);
490
+ }
491
+ return result;
492
+ }
484
493
  });
485
494
  var subtract = mathTyped("subtract", {
486
495
  "number, number": (a, b) => a - b,
@@ -526,8 +535,17 @@ var multiply = mathTyped("multiply", {
526
535
  const result = await computePool.scale(a, scalar);
527
536
  return result.result;
528
537
  },
529
- // Variadic multiplication (see variadic-add note about rest-array shape).
530
- "number, number, ...number": (a, b, rest) => rest.reduce((acc, val) => acc * val, a * b)
538
+ // Variadic multiplication over ANY types (mathjs parity); folds pairwise
539
+ // through the binary `multiply`. See the variadic-add note above re: types and
540
+ // the packed-array rest shape.
541
+ "any, any, ...any": (a, b, rest) => {
542
+ const op = multiply;
543
+ let result = op(a, b);
544
+ for (let i = 0; i < rest.length; i++) {
545
+ result = op(result, rest[i]);
546
+ }
547
+ return result;
548
+ }
531
549
  });
532
550
  var divide = mathTyped("divide", {
533
551
  "number, number": (a, b) => a / b,
@@ -5039,36 +5057,102 @@ function ellipticEDispatch(ms) {
5039
5057
  }
5040
5058
  return ellipticEJS(ms);
5041
5059
  }
5060
+ var _SF_GAMMA = 0.5772156649015329;
5061
+ var _SF_2_PI = 0.6366197723675814;
5062
+ var _SF_1_PI = 0.3183098861837907;
5063
+ var _BESSEL_SERIES_MAX = 13;
5064
+ function _besselHankel(nu, x, wantY) {
5065
+ const mu = 4 * nu * nu;
5066
+ let P2 = 1;
5067
+ let Q2 = 0;
5068
+ let a = 1;
5069
+ let xk = 1;
5070
+ let prevMag = Infinity;
5071
+ for (let k = 1; k <= 40; k++) {
5072
+ const t1 = 2 * k - 1;
5073
+ a = a * (mu - t1 * t1) / (8 * k);
5074
+ xk *= x;
5075
+ const t = a / xk;
5076
+ if (Math.abs(t) > prevMag) break;
5077
+ prevMag = Math.abs(t);
5078
+ const m4 = k & 3;
5079
+ const s = m4 === 1 || m4 === 0 ? 1 : -1;
5080
+ if ((k & 1) === 1) Q2 += s * t;
5081
+ else P2 += s * t;
5082
+ }
5083
+ const chi = x - (nu * 0.5 + 0.25) * Math.PI;
5084
+ const amp = Math.sqrt(2 / (Math.PI * x));
5085
+ return wantY ? amp * (P2 * Math.sin(chi) + Q2 * Math.cos(chi)) : amp * (P2 * Math.cos(chi) - Q2 * Math.sin(chi));
5086
+ }
5087
+ function _besselJ0Series(x) {
5088
+ const z = -0.25 * x * x;
5089
+ let term = 1;
5090
+ let sum2 = 1;
5091
+ for (let k = 1; k <= 80; k++) {
5092
+ term *= z / (k * k);
5093
+ sum2 += term;
5094
+ if (Math.abs(term) <= Math.abs(sum2) * 1e-17) break;
5095
+ }
5096
+ return sum2;
5097
+ }
5098
+ function _besselJ1Series(x) {
5099
+ const z = -0.25 * x * x;
5100
+ let term = 1;
5101
+ let sum2 = 1;
5102
+ for (let k = 1; k <= 80; k++) {
5103
+ term *= z / (k * (k + 1));
5104
+ sum2 += term;
5105
+ if (Math.abs(term) <= Math.abs(sum2) * 1e-17) break;
5106
+ }
5107
+ return 0.5 * x * sum2;
5108
+ }
5109
+ function _besselY0Series(x) {
5110
+ const z = 0.25 * x * x;
5111
+ let u = 1;
5112
+ let h = 0;
5113
+ let s = 0;
5114
+ let sign3 = 1;
5115
+ for (let k = 1; k <= 80; k++) {
5116
+ u *= z / (k * k);
5117
+ h += 1 / k;
5118
+ s += sign3 * h * u;
5119
+ sign3 = -sign3;
5120
+ if (k > 2 && Math.abs(h * u) <= Math.abs(s) * 1e-17) break;
5121
+ }
5122
+ return _SF_2_PI * ((Math.log(0.5 * x) + _SF_GAMMA) * _besselJ0Series(x) + s);
5123
+ }
5124
+ function _besselY1Series(x) {
5125
+ const z = -0.25 * x * x;
5126
+ let v = 0.5 * x;
5127
+ let hk = 0;
5128
+ let hk1 = 1;
5129
+ let s = (hk + hk1) * v;
5130
+ for (let k = 1; k <= 80; k++) {
5131
+ v *= z / (k * (k + 1));
5132
+ hk += 1 / k;
5133
+ hk1 += 1 / (k + 1);
5134
+ s += (hk + hk1) * v;
5135
+ if (k > 2 && Math.abs((hk + hk1) * v) <= Math.abs(s) * 1e-17) break;
5136
+ }
5137
+ return _SF_2_PI * (Math.log(0.5 * x) + _SF_GAMMA) * _besselJ1Series(x) - _SF_2_PI / x - _SF_1_PI * s;
5138
+ }
5042
5139
  function _besselJ0(x) {
5043
- x = Math.abs(x);
5044
- if (x < 8) {
5045
- const y2 = x * x;
5046
- const a12 = 57568490574 + y2 * (-13362590354 + y2 * (6516196407e-1 + y2 * (-1121442418e-2 + y2 * (77392.33017 + y2 * -184.9052456))));
5047
- const a22 = 57568490411 + y2 * (1029532985 + y2 * (9494680718e-3 + y2 * (59272.64853 + y2 * (267.8532712 + y2))));
5048
- return a12 / a22;
5049
- }
5050
- const z = 8 / x;
5051
- const y = z * z;
5052
- const xx = x - 0.785398164;
5053
- const a1 = 1 + y * (-0.001098628627 + y * (2734510407e-14 + y * (-2073370639e-15 + y * 2093887211e-16)));
5054
- const a2 = -0.01562499995 + y * (1430488765e-13 + y * (-6911147651e-15 + y * (7621095161e-16 - y * 934935152e-16)));
5055
- return Math.sqrt(0.636619772 / x) * (Math.cos(xx) * a1 - z * Math.sin(xx) * a2);
5140
+ const ax = Math.abs(x);
5141
+ return ax <= _BESSEL_SERIES_MAX ? _besselJ0Series(ax) : _besselHankel(0, ax, false);
5056
5142
  }
5057
5143
  function _besselJ1(x) {
5144
+ const ax = Math.abs(x);
5058
5145
  const sign3 = x < 0 ? -1 : 1;
5059
- x = Math.abs(x);
5060
- if (x < 8) {
5061
- const y2 = x * x;
5062
- const a12 = x * (72362614232 + y2 * (-7895059235 + y2 * (2423968531e-1 + y2 * (-2972611439e-3 + y2 * (15704.4826 + y2 * -30.16036606)))));
5063
- const a22 = 144725228442 + y2 * (2300535178 + y2 * (1858330474e-2 + y2 * (99447.43394 + y2 * (376.9991397 + y2))));
5064
- return sign3 * a12 / a22;
5065
- }
5066
- const z = 8 / x;
5067
- const y = z * z;
5068
- const xx = x - 2.356194491;
5069
- const a1 = 1 + y * (183105e-8 + y * (-3516396496e-14 + y * (2457520174e-15 - y * 2404127372e-16)));
5070
- const a2 = 0.04687499995 + y * (-2002690873e-13 + y * (8449199096e-15 + y * (-8820898866e-16 + y * 1057874125e-16)));
5071
- return sign3 * Math.sqrt(0.636619772 / x) * (Math.cos(xx) * a1 - z * Math.sin(xx) * a2);
5146
+ const val = ax <= _BESSEL_SERIES_MAX ? _besselJ1Series(ax) : _besselHankel(1, ax, false);
5147
+ return sign3 * val;
5148
+ }
5149
+ function _besselY0(x) {
5150
+ if (x <= 0) return NaN;
5151
+ return x <= _BESSEL_SERIES_MAX ? _besselY0Series(x) : _besselHankel(0, x, true);
5152
+ }
5153
+ function _besselY1(x) {
5154
+ if (x <= 0) return NaN;
5155
+ return x <= _BESSEL_SERIES_MAX ? _besselY1Series(x) : _besselHankel(1, x, true);
5072
5156
  }
5073
5157
  function _besselJn(n, x) {
5074
5158
  const ni = Math.abs(Math.round(n));
@@ -5076,7 +5160,7 @@ function _besselJn(n, x) {
5076
5160
  if (ni === 0) return sign3 * _besselJ0(x);
5077
5161
  if (ni === 1) return sign3 * _besselJ1(x);
5078
5162
  if (Math.abs(x) < 1e-15) return 0;
5079
- if (ni <= 20 || Math.abs(x) > ni) {
5163
+ if (Math.abs(x) > ni) {
5080
5164
  let jPrev = _besselJ0(x);
5081
5165
  let jCurr2 = _besselJ1(x);
5082
5166
  for (let k = 1; k < ni; k++) {
@@ -5096,42 +5180,12 @@ function _besselJn(n, x) {
5096
5180
  const jPrev = 2 * (k + 1) / x * jCurr - jNext;
5097
5181
  jNext = jCurr;
5098
5182
  jCurr = jPrev;
5099
- if (k === ni) resultVal = jNext;
5183
+ if (k === ni) resultVal = jCurr;
5100
5184
  if (k % 2 === 0) sum2 += jCurr;
5101
5185
  }
5102
5186
  sum2 = 2 * sum2 - jCurr;
5103
5187
  return sign3 * (resultVal / sum2);
5104
5188
  }
5105
- function _besselY0(x) {
5106
- if (x <= 0) return NaN;
5107
- if (x < 8) {
5108
- const y2 = x * x;
5109
- const a12 = -2957821389 + y2 * (7062834065 + y2 * (-5123598036e-1 + y2 * (1087988129e-2 + y2 * (-86327.92757 + y2 * 228.4622733))));
5110
- const a22 = 40076544269 + y2 * (7452499648e-1 + y2 * (7189466438e-3 + y2 * (47447.2647 + y2 * (226.1030244 + y2))));
5111
- return a12 / a22 + 0.636619772 * _besselJ0(x) * Math.log(x);
5112
- }
5113
- const z = 8 / x;
5114
- const y = z * z;
5115
- const xx = x - 0.785398164;
5116
- const a1 = 1 + y * (-0.001098628627 + y * (2734510407e-14 + y * (-2073370639e-15 + y * 2093887211e-16)));
5117
- const a2 = -0.01562499995 + y * (1430488765e-13 + y * (-6911147651e-15 + y * (7621095161e-16 - y * 934935152e-16)));
5118
- return Math.sqrt(0.636619772 / x) * (Math.sin(xx) * a1 + z * Math.cos(xx) * a2);
5119
- }
5120
- function _besselY1(x) {
5121
- if (x <= 0) return NaN;
5122
- if (x < 8) {
5123
- const y2 = x * x;
5124
- const a12 = x * (-4900604943e3 + y2 * (127527439e4 + y2 * (-51534381390 + y2 * (7349264551e-1 + y2 * (-4237922726e-3 + y2 * 8511.937935)))));
5125
- const a22 = 2490985738e4 + y2 * (424441966400 + y2 * (3733650367 + y2 * (2245904002e-2 + y2 * (102042.605 + y2 * (354.9632885 + y2)))));
5126
- return a12 / a22 + 0.636619772 * (_besselJ1(x) * Math.log(x) - 1 / x);
5127
- }
5128
- const z = 8 / x;
5129
- const y = z * z;
5130
- const xx = x - 2.356194491;
5131
- const a1 = 1 + y * (183105e-8 + y * (-3516396496e-14 + y * (2457520174e-15 - y * 2404127372e-16)));
5132
- const a2 = 0.04687499995 + y * (-2002690873e-13 + y * (8449199096e-15 + y * (-8820898866e-16 + y * 1057874125e-16)));
5133
- return Math.sqrt(0.636619772 / x) * (Math.sin(xx) * a1 + z * Math.cos(xx) * a2);
5134
- }
5135
5189
  function _besselYn(n, x) {
5136
5190
  if (x <= 0) return NaN;
5137
5191
  const ni = Math.abs(Math.round(n));
@@ -5149,16 +5203,14 @@ function _besselYn(n, x) {
5149
5203
  }
5150
5204
  var _AI0 = 0.3550280538878172;
5151
5205
  var _AI_PRIME0 = 0.2588194037928068;
5152
- var _XBIG = 4.5;
5153
- var _AIRY_C = [
5154
- 1,
5155
- 5 / 72,
5156
- 385 / 10368,
5157
- 85085 / 2239488,
5158
- 37182145 / 644972544,
5159
- 576576001025e-2 / 61917364224,
5160
- 1519768071625 / 8918845788160
5161
- ];
5206
+ var _XBIG = 5;
5207
+ var _AIRY_U = (() => {
5208
+ const u = [1];
5209
+ for (let k = 1; k <= 12; k++) {
5210
+ u.push(u[k - 1] * ((6 * k - 5) * (6 * k - 3) * (6 * k - 1)) / ((2 * k - 1) * 216 * k));
5211
+ }
5212
+ return u;
5213
+ })();
5162
5214
  function _airyAiSeries(x) {
5163
5215
  const x3 = x * x * x;
5164
5216
  let f = 1;
@@ -5169,7 +5221,7 @@ function _airyAiSeries(x) {
5169
5221
  let factG = 1;
5170
5222
  let prodF = 1;
5171
5223
  let prodG = 1;
5172
- for (let k = 1; k <= 30; k++) {
5224
+ for (let k = 1; k <= 40; k++) {
5173
5225
  factF *= (3 * k - 2) * (3 * k - 1) * (3 * k);
5174
5226
  factG *= (3 * k - 1) * (3 * k) * (3 * k + 1);
5175
5227
  prodF *= 3 * k - 2;
@@ -5184,41 +5236,6 @@ function _airyAiSeries(x) {
5184
5236
  }
5185
5237
  return _AI0 * f - _AI_PRIME0 * g;
5186
5238
  }
5187
- function _airyAiLargePos(x) {
5188
- const xp = Math.pow(x, 0.25);
5189
- const zeta2 = 2 / 3 * x * Math.sqrt(x);
5190
- let p = 0;
5191
- let zk = 1;
5192
- let sign3 = 1;
5193
- for (const ck of _AIRY_C) {
5194
- p += sign3 * ck / zk;
5195
- zk *= zeta2;
5196
- sign3 = -sign3;
5197
- }
5198
- return Math.exp(-zeta2) * p / (2 * Math.sqrt(Math.PI) * xp);
5199
- }
5200
- function _airyAiLargeNeg(x) {
5201
- const ax = Math.abs(x);
5202
- const axp = Math.pow(ax, 0.25);
5203
- const zeta2 = 2 / 3 * ax * Math.sqrt(ax);
5204
- const theta = zeta2 - Math.PI / 4;
5205
- let p = 0;
5206
- let q = 0;
5207
- let zk = 1;
5208
- let sign3 = 1;
5209
- for (let k = 0; k < _AIRY_C.length; k++) {
5210
- if (k % 2 === 0) p += sign3 * _AIRY_C[k] / zk;
5211
- else q += sign3 * _AIRY_C[k] / zk;
5212
- zk *= zeta2;
5213
- sign3 = -sign3;
5214
- }
5215
- return (Math.sin(theta) * p + Math.cos(theta) * q) / (Math.sqrt(Math.PI) * axp);
5216
- }
5217
- function _airyAi(x) {
5218
- if (x > _XBIG) return _airyAiLargePos(x);
5219
- if (x < -_XBIG) return _airyAiLargeNeg(x);
5220
- return _airyAiSeries(x);
5221
- }
5222
5239
  function _airyBiSeries(x) {
5223
5240
  const x3 = x * x * x;
5224
5241
  let f = 1;
@@ -5229,7 +5246,7 @@ function _airyBiSeries(x) {
5229
5246
  let factG = 1;
5230
5247
  let prodF = 1;
5231
5248
  let prodG = 1;
5232
- for (let k = 1; k <= 30; k++) {
5249
+ for (let k = 1; k <= 40; k++) {
5233
5250
  factF *= (3 * k - 2) * (3 * k - 1) * (3 * k);
5234
5251
  factG *= (3 * k - 1) * (3 * k) * (3 * k + 1);
5235
5252
  prodF *= 3 * k - 2;
@@ -5244,63 +5261,90 @@ function _airyBiSeries(x) {
5244
5261
  }
5245
5262
  return Math.sqrt(3) * (_AI0 * f + _AI_PRIME0 * g);
5246
5263
  }
5247
- function _airyBiLargePos(x) {
5264
+ function _airyAsymPos(x, isAi) {
5248
5265
  const xp = Math.pow(x, 0.25);
5249
5266
  const zeta2 = 2 / 3 * x * Math.sqrt(x);
5250
5267
  let p = 0;
5251
5268
  let zk = 1;
5252
- for (const ck of _AIRY_C) {
5253
- p += ck / zk;
5269
+ let sign3 = 1;
5270
+ let prevMag = Infinity;
5271
+ for (const uk of _AIRY_U) {
5272
+ const t = uk / zk;
5273
+ if (Math.abs(t) > prevMag) break;
5274
+ prevMag = Math.abs(t);
5275
+ p += isAi ? sign3 * t : t;
5254
5276
  zk *= zeta2;
5277
+ sign3 = -sign3;
5255
5278
  }
5256
- return Math.exp(zeta2) * p / (Math.sqrt(Math.PI) * xp);
5279
+ const sp = Math.sqrt(Math.PI);
5280
+ return isAi ? Math.exp(-zeta2) * p / (2 * sp * xp) : Math.exp(zeta2) * p / (sp * xp);
5257
5281
  }
5258
- function _airyBiLargeNeg(x) {
5282
+ function _airyAsymNeg(x, isAi) {
5259
5283
  const ax = Math.abs(x);
5260
5284
  const axp = Math.pow(ax, 0.25);
5261
5285
  const zeta2 = 2 / 3 * ax * Math.sqrt(ax);
5262
- const theta = zeta2 + Math.PI / 4;
5263
- let p = 0;
5264
- let q = 0;
5265
- let zk = 1;
5266
- let sign3 = 1;
5267
- for (let k = 0; k < _AIRY_C.length; k++) {
5268
- if (k % 2 === 0) p += sign3 * _AIRY_C[k] / zk;
5269
- else q += sign3 * _AIRY_C[k] / zk;
5270
- zk *= zeta2;
5271
- sign3 = -sign3;
5286
+ let P2 = 0;
5287
+ let Q2 = 0;
5288
+ let pTerm = Infinity;
5289
+ let qTerm = Infinity;
5290
+ const half = Math.floor((_AIRY_U.length - 1) / 2);
5291
+ for (let k = 0; k <= half; k++) {
5292
+ const t = (k % 2 === 0 ? 1 : -1) * _AIRY_U[2 * k] / Math.pow(zeta2, 2 * k);
5293
+ if (Math.abs(t) > Math.abs(pTerm)) break;
5294
+ P2 += t;
5295
+ pTerm = t;
5296
+ }
5297
+ for (let k = 0; k <= half - 1; k++) {
5298
+ const t = (k % 2 === 0 ? 1 : -1) * _AIRY_U[2 * k + 1] / Math.pow(zeta2, 2 * k + 1);
5299
+ if (Math.abs(t) > Math.abs(qTerm)) break;
5300
+ Q2 += t;
5301
+ qTerm = t;
5272
5302
  }
5273
- return (Math.cos(theta) * p + Math.sin(theta) * q) / (Math.sqrt(Math.PI) * axp);
5303
+ const theta = zeta2 - Math.PI / 4;
5304
+ const sp = Math.sqrt(Math.PI);
5305
+ return isAi ? (Math.cos(theta) * P2 + Math.sin(theta) * Q2) / (sp * axp) : (-Math.sin(theta) * P2 + Math.cos(theta) * Q2) / (sp * axp);
5306
+ }
5307
+ function _airyAi(x) {
5308
+ if (x > _XBIG) return _airyAsymPos(x, true);
5309
+ if (x < -_XBIG) return _airyAsymNeg(x, true);
5310
+ return _airyAiSeries(x);
5274
5311
  }
5275
5312
  function _airyBi(x) {
5276
- if (x > _XBIG) return _airyBiLargePos(x);
5277
- if (x < -_XBIG) return _airyBiLargeNeg(x);
5313
+ if (x > _XBIG) return _airyAsymPos(x, false);
5314
+ if (x < -_XBIG) return _airyAsymNeg(x, false);
5278
5315
  return _airyBiSeries(x);
5279
5316
  }
5280
5317
 
5281
5318
  // src/typed/special.ts
5282
- function _erf(x) {
5283
- if (x === 0) return 0;
5284
- if (!isFinite(x)) return x > 0 ? 1 : -1;
5285
- const sign3 = x < 0 ? -1 : 1;
5286
- const a = Math.abs(x);
5287
- if (a <= 0.5) {
5288
- const c = 2 / Math.sqrt(Math.PI);
5289
- let sum2 = a;
5290
- let term = a;
5291
- for (let n = 1; n < 50; n++) {
5292
- term *= -a * a / n;
5293
- const inc = term / (2 * n + 1);
5294
- sum2 += inc;
5295
- if (Math.abs(inc) < Math.abs(sum2) * 1e-16) break;
5296
- }
5297
- return sign3 * c * sum2;
5298
- }
5299
- const t = 2 / (2 + a);
5300
- const ans = t * Math.exp(
5301
- -a * a - 1.26551223 + t * (1.00002368 + t * (0.37409196 + t * (0.09678418 + t * (-0.18628806 + t * (0.27886807 + t * (-1.13520398 + t * (1.48851587 + t * (-0.82215223 + t * 0.17087277))))))))
5302
- );
5303
- return sign3 * (1 - ans);
5319
+ function _erfSeries(a) {
5320
+ const c = 2 / Math.sqrt(Math.PI);
5321
+ let sum2 = a;
5322
+ let term = a;
5323
+ for (let n = 1; n < 80; n++) {
5324
+ term *= -a * a / n;
5325
+ const inc = term / (2 * n + 1);
5326
+ sum2 += inc;
5327
+ if (Math.abs(inc) < Math.abs(sum2) * 1e-17) break;
5328
+ }
5329
+ return c * sum2;
5330
+ }
5331
+ function _erfcCF(a) {
5332
+ const tiny = 1e-300;
5333
+ let f = a < tiny ? tiny : a;
5334
+ let C = f;
5335
+ let D = 0;
5336
+ for (let i = 1; i <= 300; i++) {
5337
+ const ai = i / 2;
5338
+ D = a + ai * D;
5339
+ if (D === 0) D = tiny;
5340
+ D = 1 / D;
5341
+ C = a + ai / C;
5342
+ if (C === 0) C = tiny;
5343
+ const delta = C * D;
5344
+ f *= delta;
5345
+ if (Math.abs(delta - 1) < 1e-16) break;
5346
+ }
5347
+ return Math.exp(-a * a) / Math.sqrt(Math.PI) / f;
5304
5348
  }
5305
5349
  function _lgamma2(x) {
5306
5350
  if (x <= 0 && x === Math.floor(x)) return Infinity;
@@ -5334,7 +5378,9 @@ function factorial(n) {
5334
5378
  return r;
5335
5379
  }
5336
5380
  function erfcScalar(x) {
5337
- return 1 - _erf(x);
5381
+ if (!isFinite(x)) return x > 0 ? 0 : 2;
5382
+ if (x < 0) return 2 - erfcScalar(-x);
5383
+ return x < 1.5 ? 1 - _erfSeries(x) : _erfcCF(x);
5338
5384
  }
5339
5385
  function erfiScalar(x) {
5340
5386
  const c = 2 / Math.sqrt(Math.PI);
@@ -5408,72 +5454,101 @@ function digammaScalar(x) {
5408
5454
  }
5409
5455
  return result;
5410
5456
  }
5457
+ function besselHankel(nu, x, wantY) {
5458
+ const mu = 4 * nu * nu;
5459
+ let P2 = 1;
5460
+ let Q2 = 0;
5461
+ let a = 1;
5462
+ let xk = 1;
5463
+ let prevMag = Infinity;
5464
+ for (let k = 1; k <= 40; k++) {
5465
+ const twokm1 = 2 * k - 1;
5466
+ a = a * (mu - twokm1 * twokm1) / (8 * k);
5467
+ xk *= x;
5468
+ const t = a / xk;
5469
+ const mag = Math.abs(t);
5470
+ if (mag > prevMag) break;
5471
+ prevMag = mag;
5472
+ const m4 = k & 3;
5473
+ const s = m4 === 1 || m4 === 0 ? 1 : -1;
5474
+ if ((k & 1) === 1) Q2 += s * t;
5475
+ else P2 += s * t;
5476
+ }
5477
+ const chi = x - (nu * 0.5 + 0.25) * Math.PI;
5478
+ const amp = Math.sqrt(2 / (Math.PI * x));
5479
+ return wantY ? amp * (P2 * Math.sin(chi) + Q2 * Math.cos(chi)) : amp * (P2 * Math.cos(chi) - Q2 * Math.sin(chi));
5480
+ }
5481
+ function besselJ0Series(x) {
5482
+ const z = -0.25 * x * x;
5483
+ let term = 1;
5484
+ let sum2 = 1;
5485
+ for (let k = 1; k <= 80; k++) {
5486
+ term *= z / (k * k);
5487
+ sum2 += term;
5488
+ if (Math.abs(term) <= Math.abs(sum2) * 1e-17) break;
5489
+ }
5490
+ return sum2;
5491
+ }
5492
+ function besselJ1Series(x) {
5493
+ const z = -0.25 * x * x;
5494
+ let term = 1;
5495
+ let sum2 = 1;
5496
+ for (let k = 1; k <= 80; k++) {
5497
+ term *= z / (k * (k + 1));
5498
+ sum2 += term;
5499
+ if (Math.abs(term) <= Math.abs(sum2) * 1e-17) break;
5500
+ }
5501
+ return 0.5 * x * sum2;
5502
+ }
5503
+ function besselY0Series(x) {
5504
+ const z = 0.25 * x * x;
5505
+ let u = 1;
5506
+ let h = 0;
5507
+ let s = 0;
5508
+ let sign3 = 1;
5509
+ for (let k = 1; k <= 80; k++) {
5510
+ u *= z / (k * k);
5511
+ h += 1 / k;
5512
+ const d = sign3 * h * u;
5513
+ s += d;
5514
+ sign3 = -sign3;
5515
+ if (k > 2 && Math.abs(d) <= Math.abs(s) * 1e-17) break;
5516
+ }
5517
+ return 0.6366197723675814 * ((Math.log(0.5 * x) + 0.5772156649015329) * besselJ0Series(x) + s);
5518
+ }
5519
+ function besselY1Series(x) {
5520
+ const z = -0.25 * x * x;
5521
+ let v = 0.5 * x;
5522
+ let hk = 0;
5523
+ let hk1 = 1;
5524
+ let s = (hk + hk1) * v;
5525
+ for (let k = 1; k <= 80; k++) {
5526
+ v *= z / (k * (k + 1));
5527
+ hk += 1 / k;
5528
+ hk1 += 1 / (k + 1);
5529
+ const d = (hk + hk1) * v;
5530
+ s += d;
5531
+ if (k > 2 && Math.abs(d) <= Math.abs(s) * 1e-17) break;
5532
+ }
5533
+ return 0.6366197723675814 * (Math.log(0.5 * x) + 0.5772156649015329) * besselJ1Series(x) - 0.6366197723675814 / x - 0.3183098861837907 * s;
5534
+ }
5411
5535
  function besselJ0Scalar(x) {
5412
- if (x === 0) return 1;
5413
5536
  const ax = Math.abs(x);
5414
- if (ax < 8) {
5415
- const y = x * x;
5416
- const r1 = 57568490574 + y * (-13362590354 + y * (6516196407e-1 + y * (-1121442418e-2 + y * (77392.33017 + y * -184.9052456))));
5417
- const r2 = 57568490411 + y * (1029532985 + y * (9494680718e-3 + y * (59272.64853 + y * (267.8532712 + y * 1))));
5418
- return r1 / r2;
5419
- } else {
5420
- const z = 8 / ax;
5421
- const y = z * z;
5422
- const xx = ax - 0.785398164;
5423
- const p0 = 1 + y * (-0.001098628627 + y * (2734510407e-14 + y * (-2073370639e-15 + y * 2093887211e-16)));
5424
- const q0 = -0.01562499995 + y * (1430488765e-13 + y * (-6911147651e-15 + y * (7621095161e-16 - y * 934935152e-16)));
5425
- return Math.sqrt(0.636619772 / ax) * (p0 * Math.cos(xx) - z * q0 * Math.sin(xx));
5426
- }
5537
+ return ax <= 13 ? besselJ0Series(ax) : besselHankel(0, ax, false);
5427
5538
  }
5428
5539
  function besselJ1Scalar(x) {
5429
5540
  const ax = Math.abs(x);
5430
- if (ax < 8) {
5431
- const y = x * x;
5432
- const r1 = x * (72362614232 + y * (-7895059235 + y * (2423968531e-1 + y * (-2972611439e-3 + y * (15704.4826 + y * -30.16036606)))));
5433
- const r2 = 144725228442 + y * (2300535178 + y * (1858330474e-2 + y * (99447.43394 + y * (376.9991397 + y * 1))));
5434
- return r1 / r2;
5435
- } else {
5436
- const z = 8 / ax;
5437
- const y = z * z;
5438
- const xx = ax - 2.356194491;
5439
- const p1 = 1 + y * (183105e-8 + y * (-3516396496e-14 + y * (2457520174e-15 + y * -240337019e-15)));
5440
- const q1 = 0.04687499995 + y * (-2002690873e-13 + y * (8449199096e-15 + y * (-88228987e-14 + y * 105787412e-15)));
5441
- let ans = Math.sqrt(0.636619772 / ax) * (p1 * Math.cos(xx) - z * q1 * Math.sin(xx));
5442
- if (x < 0) ans = -ans;
5443
- return ans;
5444
- }
5541
+ const sign3 = x < 0 ? -1 : 1;
5542
+ const val = ax <= 13 ? besselJ1Series(ax) : besselHankel(1, ax, false);
5543
+ return sign3 * val;
5445
5544
  }
5446
5545
  function besselY0Scalar(x) {
5447
5546
  if (x <= 0) return NaN;
5448
- if (x < 8) {
5449
- const y = x * x;
5450
- const r1 = -2957821389 + y * (7062834065 + y * (-5123598036e-1 + y * (1087988129e-2 + y * (-86327.92757 + y * 228.4622733))));
5451
- const r2 = 40076544269 + y * (7452499648e-1 + y * (7189466438e-3 + y * (47447.2647 + y * (226.1030244 + y * 1))));
5452
- return r1 / r2 + 0.636619772 * besselJ0Scalar(x) * Math.log(x);
5453
- } else {
5454
- const z = 8 / x;
5455
- const y = z * z;
5456
- const xx = x - 0.785398164;
5457
- const p0 = 1 + y * (-0.001098628627 + y * (2734510407e-14 + y * (-2073370639e-15 + y * 2093887211e-16)));
5458
- const q0 = -0.01562499995 + y * (1430488765e-13 + y * (-6911147651e-15 + y * (7621095161e-16 - y * 934935152e-16)));
5459
- return Math.sqrt(0.636619772 / x) * (p0 * Math.sin(xx) + z * q0 * Math.cos(xx));
5460
- }
5547
+ return x <= 13 ? besselY0Series(x) : besselHankel(0, x, true);
5461
5548
  }
5462
5549
  function besselY1Scalar(x) {
5463
5550
  if (x <= 0) return NaN;
5464
- if (x < 8) {
5465
- const y = x * x;
5466
- const r1 = x * (-4900604943e3 + y * (127527439e4 + y * (-51534381390 + y * (7349264551e-1 + y * (-4237922726e-3 + y * 8511.937935)))));
5467
- const r2 = 249958057e5 + y * (424441966400 + y * (3733650367 + y * (2245904002e-2 + y * (102042.605 + y * (354.9632885 + y)))));
5468
- return r1 / r2 + 0.636619772 * (besselJ1Scalar(x) * Math.log(x) - 1 / x);
5469
- } else {
5470
- const z = 8 / x;
5471
- const y = z * z;
5472
- const xx = x - 2.356194491;
5473
- const p1 = 1 + y * (183105e-8 + y * (-3516396496e-14 + y * (2457520174e-15 + y * -240337019e-15)));
5474
- const q1 = 0.04687499995 + y * (-2002690873e-13 + y * (8449199096e-15 + y * (-88228987e-14 + y * 105787412e-15)));
5475
- return Math.sqrt(0.636619772 / x) * (p1 * Math.sin(xx) + z * q1 * Math.cos(xx));
5476
- }
5551
+ return x <= 13 ? besselY1Series(x) : besselHankel(1, x, true);
5477
5552
  }
5478
5553
  function besselJScalar(n, x) {
5479
5554
  const ni = Math.round(n);
@@ -5481,7 +5556,7 @@ function besselJScalar(n, x) {
5481
5556
  if (ni === 0) return besselJ0Scalar(x);
5482
5557
  if (ni === 1) return besselJ1Scalar(x);
5483
5558
  if (Math.abs(x) < 1e-15) return 0;
5484
- if (ni <= 20 || Math.abs(x) > ni) {
5559
+ if (Math.abs(x) > ni) {
5485
5560
  let jPrev = besselJ0Scalar(x);
5486
5561
  let jCurr = besselJ1Scalar(x);
5487
5562
  for (let k = 1; k < ni; k++) {
@@ -5500,7 +5575,7 @@ function besselJScalar(n, x) {
5500
5575
  const jPrev = 2 * (k + 1) / x * jCurr - jNext;
5501
5576
  jNext = jCurr;
5502
5577
  jCurr = jPrev;
5503
- if (k === ni) result = jNext;
5578
+ if (k === ni) result = jCurr;
5504
5579
  if (k % 2 === 0) sum2 += jCurr;
5505
5580
  }
5506
5581
  sum2 = 2 * sum2 - jCurr;
@@ -5533,29 +5608,64 @@ function besselIScalar(n, x) {
5533
5608
  }
5534
5609
  return sum2;
5535
5610
  }
5611
+ function besselKAsym(nu, x) {
5612
+ const mu = 4 * nu * nu;
5613
+ let a = 1;
5614
+ let xk = 1;
5615
+ let sum2 = 1;
5616
+ let prevMag = Infinity;
5617
+ for (let k = 1; k <= 40; k++) {
5618
+ const t1 = 2 * k - 1;
5619
+ a = a * (mu - t1 * t1) / (8 * k);
5620
+ xk *= x;
5621
+ const t = a / xk;
5622
+ if (Math.abs(t) > prevMag) break;
5623
+ prevMag = Math.abs(t);
5624
+ sum2 += t;
5625
+ }
5626
+ return Math.sqrt(Math.PI / (2 * x)) * Math.exp(-x) * sum2;
5627
+ }
5628
+ function besselK0Series(x) {
5629
+ const z = 0.25 * x * x;
5630
+ let t = 1;
5631
+ let I0 = 1;
5632
+ let h = 0;
5633
+ let s = 0;
5634
+ for (let k = 1; k <= 80; k++) {
5635
+ t *= z / (k * k);
5636
+ I0 += t;
5637
+ h += 1 / k;
5638
+ s += h * t;
5639
+ if (k > 2 && t <= I0 * 1e-18) break;
5640
+ }
5641
+ return -(Math.log(0.5 * x) + 0.5772156649015329) * I0 + s;
5642
+ }
5643
+ function besselK1Series(x) {
5644
+ const z = 0.25 * x * x;
5645
+ let w = 1;
5646
+ let S1 = 1;
5647
+ let hk = 0;
5648
+ let hk1 = 1;
5649
+ let S2 = (hk + hk1) * 1;
5650
+ for (let k = 1; k <= 80; k++) {
5651
+ w *= z / (k * (k + 1));
5652
+ S1 += w;
5653
+ hk += 1 / k;
5654
+ hk1 += 1 / (k + 1);
5655
+ S2 += (hk + hk1) * w;
5656
+ if (k > 2 && w <= S1 * 1e-18) break;
5657
+ }
5658
+ return 1 / x + 0.5 * x * (Math.log(0.5 * x) + 0.5772156649015329) * S1 - 0.25 * x * S2;
5659
+ }
5536
5660
  function besselKScalar(n, x) {
5537
5661
  const ni = Math.round(Math.abs(n));
5538
5662
  if (x <= 0) return NaN;
5539
- function k0(x2) {
5540
- if (x2 <= 2) {
5541
- const y2 = x2 * x2 / 4;
5542
- return -Math.log(x2 / 2) * besselIScalar(0, x2) + (-0.57721566 + y2 * (0.4227842 + y2 * (0.23069756 + y2 * (0.0348859 + y2 * (262698e-8 + y2 * 1075e-7)))));
5543
- }
5544
- const y = 2 / x2;
5545
- return Math.exp(-x2) / Math.sqrt(x2) * (1.25331414 + y * (-0.07832358 + y * (0.02189568 + y * (-0.01062446 + y * (587872e-8 + y * (-25154e-7 + y * 53208e-8))))));
5546
- }
5547
- function k1(x2) {
5548
- if (x2 <= 2) {
5549
- const y2 = x2 * x2 / 4;
5550
- return Math.log(x2 / 2) * besselIScalar(1, x2) + 1 / x2 * (1 + y2 * (0.15443144 + y2 * (-0.67278579 + y2 * (-0.18156897 + y2 * (-0.01919402 + y2 * (-110404e-8 + y2 * -4686e-8))))));
5551
- }
5552
- const y = 2 / x2;
5553
- return Math.exp(-x2) / Math.sqrt(x2) * (1.25331414 + y * (0.23498619 + y * (-0.0365562 + y * (0.01504268 + y * (-780353e-8 + y * (325614e-8 + y * -68245e-8))))));
5554
- }
5555
- if (ni === 0) return k0(x);
5556
- if (ni === 1) return k1(x);
5557
- let kPrev = k0(x);
5558
- let kCurr = k1(x);
5663
+ const k0 = x <= 9 ? besselK0Series(x) : besselKAsym(0, x);
5664
+ const k1 = x <= 9 ? besselK1Series(x) : besselKAsym(1, x);
5665
+ if (ni === 0) return k0;
5666
+ if (ni === 1) return k1;
5667
+ let kPrev = k0;
5668
+ let kCurr = k1;
5559
5669
  for (let k = 1; k < ni; k++) {
5560
5670
  const kNext = 2 * k / x * kCurr + kPrev;
5561
5671
  kPrev = kCurr;
@@ -5821,27 +5931,28 @@ function fresnelCScalar(x) {
5821
5931
  }
5822
5932
  return sign3 * sum2;
5823
5933
  }
5824
- var AIRY_U = (() => {
5934
+ function airyUCoeffs() {
5825
5935
  const u = [1];
5826
- for (let k = 1; k <= 10; k++) {
5827
- u.push(u[k - 1] * ((6 * k - 5) * (6 * k - 3) * (6 * k - 1)) / (216 * k));
5936
+ for (let k = 1; k <= 12; k++) {
5937
+ u.push(u[k - 1] * ((6 * k - 5) * (6 * k - 3) * (6 * k - 1)) / ((2 * k - 1) * 216 * k));
5828
5938
  }
5829
5939
  return u;
5830
- })();
5940
+ }
5831
5941
  function airyAsymPQ(zeta2) {
5832
5942
  let p = 0, q = 0;
5833
5943
  let pTerm = Infinity, qTerm = Infinity;
5834
- const half = Math.floor((AIRY_U.length - 1) / 2);
5944
+ const U = airyUCoeffs();
5945
+ const half = Math.floor((U.length - 1) / 2);
5835
5946
  for (let k = 0; k <= half; k++) {
5836
5947
  const sign3 = k % 2 === 0 ? 1 : -1;
5837
- const pt = sign3 * AIRY_U[2 * k] / Math.pow(zeta2, 2 * k);
5948
+ const pt = sign3 * U[2 * k] / Math.pow(zeta2, 2 * k);
5838
5949
  if (Math.abs(pt) > Math.abs(pTerm)) break;
5839
5950
  p += pt;
5840
5951
  pTerm = pt;
5841
5952
  }
5842
5953
  for (let k = 0; k <= half - 1; k++) {
5843
5954
  const sign3 = k % 2 === 0 ? 1 : -1;
5844
- const qt = sign3 * AIRY_U[2 * k + 1] / Math.pow(zeta2, 2 * k + 1);
5955
+ const qt = sign3 * U[2 * k + 1] / Math.pow(zeta2, 2 * k + 1);
5845
5956
  if (Math.abs(qt) > Math.abs(qTerm)) break;
5846
5957
  q += qt;
5847
5958
  qTerm = qt;
@@ -5849,24 +5960,18 @@ function airyAsymPQ(zeta2) {
5849
5960
  return { p, q };
5850
5961
  }
5851
5962
  function airyAiScalar(x) {
5852
- const XBIG = 4.5;
5963
+ const XBIG = 5;
5853
5964
  const AI0 = 0.3550280538878172;
5854
5965
  const AI_PRIME0 = 0.2588194037928068;
5855
- const C = [
5856
- 1,
5857
- 5 / 72,
5858
- 385 / 10368,
5859
- 85085 / 2239488,
5860
- 37182145 / 644972544,
5861
- 576576001025e-2 / 61917364224,
5862
- 1519768071625 / 8918845788160
5863
- ];
5864
5966
  if (x > XBIG) {
5865
5967
  const xp = Math.pow(x, 0.25);
5866
5968
  const zeta2 = 2 / 3 * x * Math.sqrt(x);
5867
- let p = 0, zk = 1, sign3 = 1;
5868
- for (const ck of C) {
5869
- p += sign3 * ck / zk;
5969
+ let p = 0, zk = 1, sign3 = 1, prevMag = Infinity;
5970
+ for (const uk of airyUCoeffs()) {
5971
+ const t = uk / zk;
5972
+ if (Math.abs(t) > prevMag) break;
5973
+ prevMag = Math.abs(t);
5974
+ p += sign3 * t;
5870
5975
  zk *= zeta2;
5871
5976
  sign3 = -sign3;
5872
5977
  }
@@ -5898,24 +6003,18 @@ function airyAiScalar(x) {
5898
6003
  return AI0 * f - AI_PRIME0 * g;
5899
6004
  }
5900
6005
  function airyBiScalar(x) {
5901
- const XBIG = 4.5;
6006
+ const XBIG = 5;
5902
6007
  const AI0 = 0.3550280538878172;
5903
6008
  const AI_PRIME0 = 0.2588194037928068;
5904
- const C = [
5905
- 1,
5906
- 5 / 72,
5907
- 385 / 10368,
5908
- 85085 / 2239488,
5909
- 37182145 / 644972544,
5910
- 576576001025e-2 / 61917364224,
5911
- 1519768071625 / 8918845788160
5912
- ];
5913
6009
  if (x > XBIG) {
5914
6010
  const xp = Math.pow(x, 0.25);
5915
6011
  const zeta2 = 2 / 3 * x * Math.sqrt(x);
5916
- let p = 0, zk = 1;
5917
- for (const ck of C) {
5918
- p += ck / zk;
6012
+ let p = 0, zk = 1, prevMag = Infinity;
6013
+ for (const uk of airyUCoeffs()) {
6014
+ const t = uk / zk;
6015
+ if (Math.abs(t) > prevMag) break;
6016
+ prevMag = Math.abs(t);
6017
+ p += t;
5919
6018
  zk *= zeta2;
5920
6019
  }
5921
6020
  return Math.exp(zeta2) * p / (Math.sqrt(Math.PI) * xp);
@@ -5976,7 +6075,7 @@ async function mapArray(x, scalar, buildKernel) {
5976
6075
  }
5977
6076
  var erfc = mathTyped9("erfc", {
5978
6077
  number: erfcScalar,
5979
- Float64Array: (x) => mapArray(x, erfcScalar, () => kernelSource([_erf, erfcScalar], "(x) => erfcScalar(x)"))
6078
+ Float64Array: (x) => mapArray(x, erfcScalar, () => kernelSource([_erfSeries, _erfcCF, erfcScalar], "(x) => erfcScalar(x)"))
5980
6079
  });
5981
6080
  var erfi = mathTyped9("erfi", {
5982
6081
  number: erfiScalar,
@@ -6036,7 +6135,7 @@ var besselJ0 = mathTyped9("besselJ0", {
6036
6135
  return mapArray(
6037
6136
  x,
6038
6137
  besselJ0Scalar,
6039
- () => kernelSource([besselJ0Scalar], "(x) => besselJ0Scalar(x)")
6138
+ () => kernelSource([besselHankel, besselJ0Series, besselJ0Scalar], "(x) => besselJ0Scalar(x)")
6040
6139
  );
6041
6140
  }
6042
6141
  });
@@ -6049,7 +6148,7 @@ var besselJ1 = mathTyped9("besselJ1", {
6049
6148
  return mapArray(
6050
6149
  x,
6051
6150
  besselJ1Scalar,
6052
- () => kernelSource([besselJ1Scalar], "(x) => besselJ1Scalar(x)")
6151
+ () => kernelSource([besselHankel, besselJ1Series, besselJ1Scalar], "(x) => besselJ1Scalar(x)")
6053
6152
  );
6054
6153
  }
6055
6154
  });
@@ -6062,7 +6161,7 @@ var besselY0 = mathTyped9("besselY0", {
6062
6161
  return mapArray(
6063
6162
  x,
6064
6163
  besselY0Scalar,
6065
- () => kernelSource([besselJ0Scalar, besselY0Scalar], "(x) => besselY0Scalar(x)")
6164
+ () => kernelSource([besselHankel, besselJ0Series, besselY0Series, besselY0Scalar], "(x) => besselY0Scalar(x)")
6066
6165
  );
6067
6166
  }
6068
6167
  });
@@ -6075,7 +6174,7 @@ var besselY1 = mathTyped9("besselY1", {
6075
6174
  return mapArray(
6076
6175
  x,
6077
6176
  besselY1Scalar,
6078
- () => kernelSource([besselJ1Scalar, besselY1Scalar], "(x) => besselY1Scalar(x)")
6177
+ () => kernelSource([besselHankel, besselJ1Series, besselY1Series, besselY1Scalar], "(x) => besselY1Scalar(x)")
6079
6178
  );
6080
6179
  }
6081
6180
  });
@@ -6089,7 +6188,7 @@ var besselJ = mathTyped9("besselJ", {
6089
6188
  x,
6090
6189
  (v) => besselJScalar(n, v),
6091
6190
  () => kernelSource(
6092
- [besselJ0Scalar, besselJ1Scalar, besselJScalar],
6191
+ [besselHankel, besselJ0Series, besselJ1Series, besselJ0Scalar, besselJ1Scalar, besselJScalar],
6093
6192
  `(x) => besselJScalar(${n}, x)`
6094
6193
  )
6095
6194
  );
@@ -6105,7 +6204,7 @@ var besselY = mathTyped9("besselY", {
6105
6204
  x,
6106
6205
  (v) => besselYScalar(n, v),
6107
6206
  () => kernelSource(
6108
- [besselJ0Scalar, besselJ1Scalar, besselY0Scalar, besselY1Scalar, besselYScalar],
6207
+ [besselHankel, besselJ0Series, besselJ1Series, besselY0Series, besselY1Series, besselJ0Scalar, besselJ1Scalar, besselY0Scalar, besselY1Scalar, besselYScalar],
6109
6208
  `(x) => besselYScalar(${n}, x)`
6110
6209
  )
6111
6210
  );
@@ -6125,7 +6224,7 @@ var besselK = mathTyped9("besselK", {
6125
6224
  x,
6126
6225
  (v) => besselKScalar(n, v),
6127
6226
  () => kernelSource(
6128
- [factorial, _lgamma2, besselIScalar, besselKScalar],
6227
+ [besselKAsym, besselK0Series, besselK1Series, besselKScalar],
6129
6228
  `(x) => besselKScalar(${n}, x)`
6130
6229
  )
6131
6230
  )
@@ -6239,7 +6338,7 @@ var airyAi = mathTyped9("airyAi", {
6239
6338
  if (x.length >= WASM_SPECIAL_THRESHOLD) {
6240
6339
  return Promise.resolve(airyAiDispatch(x));
6241
6340
  }
6242
- return mapArray(x, airyAiScalar, () => kernelSource([airyAiScalar], "(x) => airyAiScalar(x)"));
6341
+ return mapArray(x, airyAiScalar, () => kernelSource([airyUCoeffs, airyAsymPQ, airyAiScalar], "(x) => airyAiScalar(x)"));
6243
6342
  }
6244
6343
  });
6245
6344
  var airyBi = mathTyped9("airyBi", {
@@ -6248,7 +6347,7 @@ var airyBi = mathTyped9("airyBi", {
6248
6347
  if (x.length >= WASM_SPECIAL_THRESHOLD) {
6249
6348
  return Promise.resolve(airyBiDispatch(x));
6250
6349
  }
6251
- return mapArray(x, airyBiScalar, () => kernelSource([airyBiScalar], "(x) => airyBiScalar(x)"));
6350
+ return mapArray(x, airyBiScalar, () => kernelSource([airyUCoeffs, airyAsymPQ, airyBiScalar], "(x) => airyBiScalar(x)"));
6252
6351
  }
6253
6352
  });
6254
6353
  var carlsonRC = mathTyped9("carlsonRC", {
@@ -6370,7 +6469,7 @@ function _lgammaD(x) {
6370
6469
  const t = xm1 + g + 0.5;
6371
6470
  return 0.5 * Math.log(2 * Math.PI) + (xm1 + 0.5) * Math.log(t) - t + Math.log(a);
6372
6471
  }
6373
- function _erf2(x) {
6472
+ function _erf(x) {
6374
6473
  if (x === 0) return 0;
6375
6474
  const sign3 = x < 0 ? -1 : 1;
6376
6475
  const a = Math.abs(x);
@@ -6401,7 +6500,7 @@ function normalPDFScalar(x, mu, sigma) {
6401
6500
  }
6402
6501
  function normalCDFScalar(x, mu, sigma) {
6403
6502
  if (sigma <= 0) return NaN;
6404
- return 0.5 * (1 + _erf2((x - mu) / (sigma * Math.SQRT2)));
6503
+ return 0.5 * (1 + _erf((x - mu) / (sigma * Math.SQRT2)));
6405
6504
  }
6406
6505
  function exponentialPDFScalar(x, lambda) {
6407
6506
  if (lambda <= 0) return NaN;
@@ -6470,12 +6569,12 @@ var normalCDF = mathTyped10("normalCDF", {
6470
6569
  Float64Array: (x) => mapArray2(
6471
6570
  x,
6472
6571
  (v) => normalCDFScalar(v, 0, 1),
6473
- () => kernelSource2([_erf2, normalCDFScalar], "(x) => normalCDFScalar(x, 0, 1)")
6572
+ () => kernelSource2([_erf, normalCDFScalar], "(x) => normalCDFScalar(x, 0, 1)")
6474
6573
  ),
6475
6574
  "Float64Array, number, number": (x, mu, sigma) => mapArray2(
6476
6575
  x,
6477
6576
  (v) => normalCDFScalar(v, mu, sigma),
6478
- () => kernelSource2([_erf2, normalCDFScalar], `(x) => normalCDFScalar(x, ${mu}, ${sigma})`)
6577
+ () => kernelSource2([_erf, normalCDFScalar], `(x) => normalCDFScalar(x, ${mu}, ${sigma})`)
6479
6578
  )
6480
6579
  });
6481
6580
  var exponentialPDF = mathTyped10("exponentialPDF", {
@@ -11635,7 +11734,7 @@ async function eigenvectorCentrality(adj, opts) {
11635
11734
  import { computePool as computePool10 } from "@danielsimonjr/mathts-parallel";
11636
11735
  var DIST_WORKER_THRESHOLD = 1e5;
11637
11736
  var SQRT_2PI = Math.sqrt(2 * Math.PI);
11638
- function _erf3(x) {
11737
+ function _erf2(x) {
11639
11738
  if (x === 0) return 0;
11640
11739
  const sign3 = x < 0 ? -1 : 1;
11641
11740
  const a = Math.abs(x);
@@ -11784,7 +11883,7 @@ function normalDist(mu = 0, sigma = 1) {
11784
11883
  if (sigma <= 0) throw new Error("normalDist: sigma must be positive");
11785
11884
  return {
11786
11885
  pdf: (x) => Math.exp(-0.5 * ((x - mu) / sigma) ** 2) / (sigma * SQRT_2PI),
11787
- cdf: (x) => 0.5 * (1 + _erf3((x - mu) / (sigma * Math.SQRT2))),
11886
+ cdf: (x) => 0.5 * (1 + _erf2((x - mu) / (sigma * Math.SQRT2))),
11788
11887
  quantile: (p) => mu + sigma * Math.SQRT2 * _erfInv(2 * p - 1),
11789
11888
  mean: mu,
11790
11889
  variance: sigma * sigma,
@@ -12129,7 +12228,7 @@ function logNormalDist(mu = 0, sigma = 1) {
12129
12228
  },
12130
12229
  cdf: (x) => {
12131
12230
  if (x <= 0) return 0;
12132
- return 0.5 * (1 + _erf3((Math.log(x) - mu) / (sigma * Math.SQRT2)));
12231
+ return 0.5 * (1 + _erf2((Math.log(x) - mu) / (sigma * Math.SQRT2)));
12133
12232
  },
12134
12233
  quantile: (p) => {
12135
12234
  if (p <= 0) return 0;
@@ -12352,7 +12451,7 @@ function _variance(arr, ddof = 1) {
12352
12451
  for (let i = 0; i < arr.length; i++) sum2 += (arr[i] - m) ** 2;
12353
12452
  return sum2 / (arr.length - ddof);
12354
12453
  }
12355
- function _erf4(x) {
12454
+ function _erf3(x) {
12356
12455
  if (x === 0) return 0;
12357
12456
  const sign3 = x < 0 ? -1 : 1;
12358
12457
  const a = Math.abs(x);
@@ -12456,7 +12555,7 @@ function _tPValue(t, df) {
12456
12555
  return ib;
12457
12556
  }
12458
12557
  function _normalCDF(x) {
12459
- return 0.5 * (1 + _erf4(x / Math.SQRT2));
12558
+ return 0.5 * (1 + _erf3(x / Math.SQRT2));
12460
12559
  }
12461
12560
  function _chiSquaredPValue(x, df) {
12462
12561
  return 1 - _gammainc2(df / 2, x / 2);
@@ -44200,46 +44299,8 @@ function seriesCoefficient(expr, varName, x0, k) {
44200
44299
  const deriv = numericalDerivative(expr, varName, x0, k);
44201
44300
  return deriv / factorial3(k);
44202
44301
  }
44203
- function realCbrt(x) {
44204
- return x < 0 ? -Math.pow(-x, 1 / 3) : Math.pow(x, 1 / 3);
44205
- }
44206
- function quadraticRoots(a, b, c) {
44207
- const disc = b * b - 4 * a * c;
44208
- if (disc >= 0) {
44209
- const s2 = Math.sqrt(disc);
44210
- return [(-b + s2) / (2 * a), (-b - s2) / (2 * a)];
44211
- }
44212
- const s = Math.sqrt(-disc);
44213
- const re3 = -b / (2 * a);
44214
- const im3 = s / (2 * a);
44215
- return [new Complex8(re3, im3), new Complex8(re3, -im3)];
44216
- }
44217
- function cubicRoots(a, b, c, d) {
44218
- const B = b / a;
44219
- const C = c / a;
44220
- const D = d / a;
44221
- const p = C - B * B / 3;
44222
- const q = 2 * B * B * B / 27 - B * C / 3 + D;
44223
- const shift = -B / 3;
44224
- const disc = q * q / 4 + p * p * p / 27;
44225
- if (Math.abs(disc) < 1e-12) {
44226
- if (Math.abs(p) < 1e-12 && Math.abs(q) < 1e-12) return [shift];
44227
- const u = realCbrt(-q / 2);
44228
- return [2 * u + shift, -u + shift];
44229
- }
44230
- if (disc > 0) {
44231
- const sq = Math.sqrt(disc);
44232
- const u = realCbrt(-q / 2 + sq);
44233
- const v = realCbrt(-q / 2 - sq);
44234
- const realPart = -(u + v) / 2 + shift;
44235
- const imagPart = (u - v) * Math.sqrt(3) / 2;
44236
- return [u + v + shift, new Complex8(realPart, imagPart), new Complex8(realPart, -imagPart)];
44237
- }
44238
- const m = 2 * Math.sqrt(-p / 3);
44239
- let arg3 = 3 * q / (2 * p) * Math.sqrt(-3 / p);
44240
- arg3 = Math.max(-1, Math.min(1, arg3));
44241
- const theta = Math.acos(arg3) / 3;
44242
- return [0, 1, 2].map((k) => m * Math.cos(theta - 2 * Math.PI * k / 3) + shift);
44302
+ function isComplexRoot(r) {
44303
+ return typeof r === "object" && r !== null && "re" in r && "im" in r;
44243
44304
  }
44244
44305
  function polyCoeffsDeg3(expr, varName) {
44245
44306
  const at = (x) => {
@@ -44356,16 +44417,25 @@ function solve(equation, varName) {
44356
44417
  };
44357
44418
  const [c0, c1, c2, c3] = coeffs;
44358
44419
  const eps = 1e-9;
44359
- let raw = [];
44360
- if (Math.abs(c3) > eps) raw = cubicRoots(c3, c2, c1, c0);
44361
- else if (Math.abs(c2) > eps) raw = quadraticRoots(c2, c1, c0);
44362
- else if (Math.abs(c1) > eps) raw = [-c0 / c1];
44363
- else raw = [];
44420
+ let degree2 = 0;
44421
+ if (Math.abs(c3) > eps) degree2 = 3;
44422
+ else if (Math.abs(c2) > eps) degree2 = 2;
44423
+ else if (Math.abs(c1) > eps) degree2 = 1;
44424
+ if (degree2 === 0) {
44425
+ return [];
44426
+ }
44427
+ let raw;
44428
+ try {
44429
+ const args = [c0, c1, c2, c3].slice(0, degree2 + 1);
44430
+ raw = polynomialRoot(...args);
44431
+ } catch {
44432
+ return numericRealRoots(expr, varName);
44433
+ }
44364
44434
  const reals = [];
44365
44435
  const complexRoots = [];
44366
44436
  const seen = /* @__PURE__ */ new Set();
44367
44437
  for (const r of raw) {
44368
- if (r instanceof Complex8) {
44438
+ if (isComplexRoot(r)) {
44369
44439
  if (Math.abs(r.im) < 1e-10) {
44370
44440
  pushReal(r.re);
44371
44441
  } else {
@@ -44709,8 +44779,8 @@ function solveQuarticRadicals(A, B, C, D, E, fm2, fm1, f0, f1, f2) {
44709
44779
  const p2 = c2 / A - c1 * c1 / (3 * A * A);
44710
44780
  const q2 = c3 / A - c1 * c2 / (3 * A * A) + 2 * c1 * c1 * c1 / (27 * A * A * A);
44711
44781
  const tRoots2 = depressedCubicRoots(p2, q2);
44712
- const cubicRoots2 = tRoots2.map((t) => t - shift2);
44713
- const allRoots = [r, ...cubicRoots2];
44782
+ const cubicRoots = tRoots2.map((t) => t - shift2);
44783
+ const allRoots = [r, ...cubicRoots];
44714
44784
  return allRoots.map(formatCoeff);
44715
44785
  }
44716
44786
  }
@@ -1 +1 @@
1
- {"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../src/typed/arithmetic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../src/typed/arithmetic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cas.d.ts","sourceRoot":"","sources":["../../src/typed/cas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cas.d.ts","sourceRoot":"","sources":["../../src/typed/cas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,KAAK,EAAY,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AASrD,KAAK,GAAG,GAAG,MAAM,CAAC;AAClB,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAwGzC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,GAAG,GAAG,CAgEvF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,GAAG,CAkE5F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAMhG;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,EAAE,GAAG,EAAE,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,GAAG,CAiBL;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAEhG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,CAE7F;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAOvF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAS3F;AA+ED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAsBlE;AAgED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBzE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,CAAC,EAAE,MAAM,GACR;IAAE,EAAE,EAAE,GAAG,CAAC;IAAC,EAAE,EAAE,GAAG,EAAE,CAAC;IAAC,EAAE,EAAE,GAAG,EAAE,CAAA;CAAE,CA6BnC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBrE;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAE,GAAO,EAAE,CAAC,GAAE,MAAU,GAAG,MAAM,CAWxF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,GAAE,MAAU,GAAG,MAAM,CA6DjG;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAE,GAAO,EAAE,CAAC,GAAE,MAAU,GAAG,MAAM,CAExF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAGxF;AA+HD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,CA6E7E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAShG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAOlF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAMxF;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS9D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAMvD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,GAAc,GACtB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAC;IAAC,WAAW,EAAE,GAAG,CAAA;CAAE,CAwCvD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAmIvE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2C9E;AA6RD;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA2HjD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CACvB,UAAU,EAAE,MAAM,EAAE,EACpB,MAAM,EAAE,MAAM,EAAE,GACf,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,GAAG,CAmBrC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,GAAG,EACP,EAAE,EAAE,GAAG,EACP,IAAI,EAAE,GAAG,EACT,KAAK,GAAE,MAAY,GAClB,KAAK,CAAC;IAAE,CAAC,EAAE,GAAG,CAAC;IAAC,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,CAwB3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAiBjG;AAgSD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,GAAG,QAAQ,EACvB,IAAI,GAAE,MAAY,EAClB,IAAI,GAAE,MAAY,GACjB,MAAM,CAQR;AAMD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC;AA+UtC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAmGhF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;AACjF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AA8EpG;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC3D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AA0C9E;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC3D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"special.d.ts","sourceRoot":"","sources":["../../src/typed/special.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"special.d.ts","sourceRoot":"","sources":["../../src/typed/special.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,71 +1,73 @@
1
- {
2
- "name": "@danielsimonjr/mathts-functions",
3
- "version": "0.2.9",
4
- "description": "Mathematical functions for MathTS - arithmetic, algebra, trigonometry, statistics, and more",
5
- "author": "Daniel Simon Jr.",
6
- "license": "MIT",
7
- "type": "module",
8
- "main": "./dist/index.js",
9
- "module": "./dist/index.js",
10
- "types": "./dist/index.d.ts",
11
- "exports": {
12
- ".": {
13
- "import": "./dist/index.js",
14
- "types": "./dist/index.d.ts"
15
- }
16
- },
17
- "files": [
18
- "dist",
19
- "README.md"
20
- ],
21
- "scripts": {
22
- "build": "tsup src/index.ts --format esm --clean && tsc -p tsconfig.dts.json",
23
- "dev": "tsup src/index.ts --format esm --dts --watch",
24
- "test": "vitest run",
25
- "test:watch": "vitest",
26
- "test:coverage": "vitest run --coverage",
27
- "typecheck": "tsc --noEmit",
28
- "lint": "eslint src --ext .ts",
29
- "lint:fix": "eslint src --ext .ts --fix",
30
- "clean": "rm -rf dist",
31
- "build:prod": "tsup src/index.ts --format esm --clean --minify --treeshake"
32
- },
33
- "dependencies": {
34
- "@danielsimonjr/mathts-core": "^0.1.5",
35
- "@danielsimonjr/mathts-expression": "^0.2.4",
36
- "@danielsimonjr/mathts-matrix": "^0.1.6",
37
- "@danielsimonjr/mathts-parallel": "^0.2.2",
38
- "bignumber.js": "^9.1.2",
39
- "complex.js": "^2.2.5",
40
- "decimal.js": "^10.4.3",
41
- "escape-latex": "^1.2.0",
42
- "fraction.js": "^5.2.1",
43
- "javascript-natural-sort": "^0.7.1",
44
- "seedrandom": "^3.0.5",
45
- "tiny-emitter": "^2.1.0",
46
- "typed-function": "github:danielsimonjr/typed-function"
47
- },
48
- "devDependencies": {
49
- "@types/node": "^25.5.2",
50
- "tsup": "^8.0.0",
51
- "typescript": "^5.3.0",
52
- "vitest": "^4.1.5"
53
- },
54
- "publishConfig": {
55
- "access": "public"
56
- },
57
- "repository": {
58
- "type": "git",
59
- "url": "https://github.com/danielsimonjr/mathts",
60
- "directory": "functions"
61
- },
62
- "keywords": [
63
- "math",
64
- "typescript",
65
- "functions",
66
- "arithmetic",
67
- "algebra",
68
- "trigonometry",
69
- "statistics"
70
- ]
71
- }
1
+ {
2
+ "name": "@danielsimonjr/mathts-functions",
3
+ "version": "0.2.11",
4
+ "description": "Mathematical functions for MathTS - arithmetic, algebra, trigonometry, statistics, and more",
5
+ "author": "Daniel Simon Jr.",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "main": "./dist/index.js",
9
+ "module": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/index.js",
14
+ "types": "./dist/index.d.ts"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "README.md"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsup src/index.ts --format esm --clean && tsc -p tsconfig.dts.json",
23
+ "dev": "tsup src/index.ts --format esm --dts --watch",
24
+ "test": "vitest run",
25
+ "test:diff": "node tests/diff-special.test.mjs",
26
+ "golden:gen": "python -X utf8 tests/golden/gen_special_goldens.py",
27
+ "test:watch": "vitest",
28
+ "test:coverage": "vitest run --coverage",
29
+ "typecheck": "tsc --noEmit",
30
+ "lint": "eslint src --ext .ts",
31
+ "lint:fix": "eslint src --ext .ts --fix",
32
+ "clean": "rm -rf dist",
33
+ "build:prod": "tsup src/index.ts --format esm --clean --minify --treeshake"
34
+ },
35
+ "dependencies": {
36
+ "@danielsimonjr/mathts-core": "^0.1.5",
37
+ "@danielsimonjr/mathts-expression": "^0.2.4",
38
+ "@danielsimonjr/mathts-matrix": "^0.1.6",
39
+ "@danielsimonjr/mathts-parallel": "^0.2.2",
40
+ "bignumber.js": "^9.1.2",
41
+ "complex.js": "^2.2.5",
42
+ "decimal.js": "^10.4.3",
43
+ "escape-latex": "^1.2.0",
44
+ "fraction.js": "^5.2.1",
45
+ "javascript-natural-sort": "^0.7.1",
46
+ "seedrandom": "^3.0.5",
47
+ "tiny-emitter": "^2.1.0",
48
+ "typed-function": "github:danielsimonjr/typed-function"
49
+ },
50
+ "devDependencies": {
51
+ "@types/node": "^25.5.2",
52
+ "tsup": "^8.0.0",
53
+ "typescript": "^5.3.0",
54
+ "vitest": "^4.1.5"
55
+ },
56
+ "publishConfig": {
57
+ "access": "public"
58
+ },
59
+ "repository": {
60
+ "type": "git",
61
+ "url": "https://github.com/danielsimonjr/mathts",
62
+ "directory": "functions"
63
+ },
64
+ "keywords": [
65
+ "math",
66
+ "typescript",
67
+ "functions",
68
+ "arithmetic",
69
+ "algebra",
70
+ "trigonometry",
71
+ "statistics"
72
+ ]
73
+ }