@danielsimonjr/mathts-core 0.18.0 → 0.18.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.
@@ -5308,16 +5308,21 @@ var Fraction = class _Fraction {
5308
5308
  let h1 = 1n, h2 = 0n;
5309
5309
  let k1 = 0n, k2 = 1n;
5310
5310
  let b = n;
5311
- do {
5311
+ for (let iter = 0; iter < 128; iter++) {
5312
5312
  const a = BigInt(Math.floor(b));
5313
- let aux = h1;
5314
- h1 = a * h1 + h2;
5315
- h2 = aux;
5316
- aux = k1;
5317
- k1 = a * k1 + k2;
5318
- k2 = aux;
5319
- b = 1 / (b - Number(a));
5320
- } while (Math.abs(n - Number(h1) / Number(k1)) > Number.EPSILON && k1 < maxDenominator);
5313
+ const hNext = a * h1 + h2;
5314
+ const kNext = a * k1 + k2;
5315
+ if (kNext > maxDenominator) break;
5316
+ h2 = h1;
5317
+ h1 = hNext;
5318
+ k2 = k1;
5319
+ k1 = kNext;
5320
+ if (Math.abs(n - Number(h1) / Number(k1)) <= Number.EPSILON * Math.max(1, n)) break;
5321
+ const rest = b - Number(a);
5322
+ if (rest <= 0) break;
5323
+ b = 1 / rest;
5324
+ }
5325
+ if (k1 === 0n) return new _Fraction(sign2 * BigInt(Math.round(n)), 1n);
5321
5326
  return new _Fraction(sign2 * h1, k1);
5322
5327
  }
5323
5328
  /**
package/dist/index.js CHANGED
@@ -77,7 +77,7 @@ import {
77
77
  unitRowExactOffset,
78
78
  unitRowExactScale,
79
79
  unitRowValue
80
- } from "./chunk-UEBMU6EV.js";
80
+ } from "./chunk-36FOYJAP.js";
81
81
 
82
82
  // src/types/matrix/Range.ts
83
83
  var name = "Range";
@@ -1453,7 +1453,7 @@ function neumaierCumsum(xs, out) {
1453
1453
  }
1454
1454
 
1455
1455
  // src/index.ts
1456
- var VERSION = "0.18.0";
1456
+ var VERSION = "0.18.1";
1457
1457
  export {
1458
1458
  ALL_UNITS,
1459
1459
  BASE_UNITS,
package/dist/internal.js CHANGED
@@ -78,7 +78,7 @@ import {
78
78
  typeOf,
79
79
  unitDependencies,
80
80
  warnOnce
81
- } from "./chunk-UEBMU6EV.js";
81
+ } from "./chunk-36FOYJAP.js";
82
82
 
83
83
  // src/error/DimensionError.ts
84
84
  var DimensionError = class _DimensionError extends RangeError {
@@ -1 +1 @@
1
- {"version":3,"file":"fraction.d.ts","sourceRoot":"","sources":["../../src/types/fraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fraction.d.ts","sourceRoot":"","sources":["../../src/types/fraction.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEzD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D;AA8BD;;;;GAIG;AACH,qBAAa,QAAS,YAAW,SAAS;IACxC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,YACE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,EAC9C,WAAW,GAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAa,EAqEtD;IAMD;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,GAAE,MAAiB,GAAG,QAAQ,CAuCxE;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAoC9C;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAgBlC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAC1E,QAAQ,CAKV;IAED;;;OAGG;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAK/C;IAMD,OAAO,IAAI,MAAM,CAEhB;IAED,QAAQ,IAAI,MAAM,CAKjB;IAED,MAAM,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAMjD;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,SAAS,CAAC,SAAS,GAAE,MAAW,GAAG,MAAM,CAoBxC;IAED;;OAEG;IACH,OAAO,IAAI,MAAM,CAOhB;IAED;;OAEG;IACH,OAAO,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAUnE;IAMD;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAU3B;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAUhC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAKhC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAQ9B;IAMD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAE3B;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAE3B;IAED,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAE3B;IAED;;OAEG;IACH,MAAM,IAAI,QAAQ,CAEjB;IAED;;OAEG;IACH,GAAG,IAAI,QAAQ,CAEd;IAED;;OAEG;IACH,OAAO,IAAI,QAAQ,CAKlB;IAED;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAoBhC;IAED;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAK7B;IAMD;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAE/B;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAEjC;IAED;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAExC;IAED;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAEpC;IAED;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAE3C;IAED;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAEjC;IAED,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAE/B;IAMD;;OAEG;IACH,QAAQ,IAAI,QAAQ,CAEnB;IAED;;OAEG;IACH,MAAM,IAAI,OAAO,CAEhB;IAED;;OAEG;IACH,UAAU,IAAI,OAAO,CAEpB;IAED;;OAEG;IACH,UAAU,IAAI,OAAO,CAEpB;IAED;;OAEG;IACH,SAAS,IAAI,OAAO,CAEnB;IAED;;OAEG;IACH,MAAM,IAAI,OAAO,CAEhB;IAED;;OAEG;IACH,KAAK,IAAI,QAAQ,CAShB;IAED;;OAEG;IACH,IAAI,IAAI,QAAQ,CASf;IAED;;OAEG;IACH,KAAK,IAAI,QAAQ,CAQhB;IAED;;OAEG;IACH,KAAK,IAAI,QAAQ,CAEhB;IAED;;OAEG;IACH,IAAI,IAAI,MAAM,CAIb;IAED;;OAEG;IACH,KAAK,IAAI,QAAQ,CAEhB;IAED;;OAEG;IACH,GAAG,IAAI,MAAM,CAEZ;IAED;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE,CAiB9B;IAED;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,QAAQ,CAenD;IAED;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ,CAEjC;CACF;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,UAAuB,CAAC;AAClD,eAAO,MAAM,YAAY,UAAuB,CAAC;AACjD,eAAO,MAAM,gBAAgB,UAAwB,CAAC;AACtD,eAAO,MAAM,aAAa,UAAuB,CAAC;AAClD,eAAO,MAAM,cAAc,UAAuB,CAAC;AACnD,eAAO,MAAM,gBAAgB,UAAuB,CAAC"}
@@ -28,9 +28,9 @@
28
28
  * places. Rounding `r × Π c^k` through these rationals is off from rounding the
29
29
  * true value only if the true value lies within about 1e-118 (relative) of a
30
30
  * midpoint between two doubles. The test files pin each entry's digits against
31
- * an independent computation. The constants are treated as algebraically
32
- * independent over Q (true for π and ln 2), so scales with different powers do
33
- * not add.
31
+ * an independent computation. The constants are assumed algebraically
32
+ * independent over Q (not known for π and ln 2; Schanuel's conjecture implies
33
+ * it), so scales with different irrational powers never compare equal or add.
34
34
  */
35
35
  export declare const NAMED_IRRATIONALS: Readonly<{
36
36
  readonly pi: '3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danielsimonjr/mathts-core",
3
- "version": "0.18.0",
3
+ "version": "0.18.1",
4
4
  "description": "Core types, utilities, and configuration for MathTS",
5
5
  "author": "Daniel Simon Jr.",
6
6
  "license": "MIT",