symbolicjs 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +28 -15
  2. package/dist/analysis.d.ts +6 -0
  3. package/dist/analysis.d.ts.map +1 -0
  4. package/dist/analysis.js +43 -0
  5. package/dist/analysis.js.map +1 -0
  6. package/dist/budget.d.ts +15 -0
  7. package/dist/budget.d.ts.map +1 -0
  8. package/dist/budget.js +62 -0
  9. package/dist/budget.js.map +1 -0
  10. package/dist/constants.d.ts +3 -0
  11. package/dist/constants.d.ts.map +1 -0
  12. package/dist/constants.js +3 -0
  13. package/dist/constants.js.map +1 -0
  14. package/dist/custom-factory.d.ts +5 -0
  15. package/dist/custom-factory.d.ts.map +1 -0
  16. package/dist/custom-factory.js +3 -0
  17. package/dist/custom-factory.js.map +1 -0
  18. package/dist/equality-node.d.ts +4 -0
  19. package/dist/equality-node.d.ts.map +1 -0
  20. package/dist/equality-node.js +79 -0
  21. package/dist/equality-node.js.map +1 -0
  22. package/dist/index.d.ts +14 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +12 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/install.d.ts +5 -0
  27. package/dist/install.d.ts.map +1 -0
  28. package/dist/install.js +23 -0
  29. package/dist/install.js.map +1 -0
  30. package/dist/isolate.d.ts +19 -0
  31. package/dist/isolate.d.ts.map +1 -0
  32. package/dist/isolate.js +395 -0
  33. package/dist/isolate.js.map +1 -0
  34. package/dist/kernel.d.ts +25 -0
  35. package/dist/kernel.d.ts.map +1 -0
  36. package/dist/kernel.js +256 -0
  37. package/dist/kernel.js.map +1 -0
  38. package/dist/parse-equation.d.ts +8 -0
  39. package/dist/parse-equation.d.ts.map +1 -0
  40. package/dist/parse-equation.js +93 -0
  41. package/dist/parse-equation.js.map +1 -0
  42. package/dist/polynomial.d.ts +21 -0
  43. package/dist/polynomial.d.ts.map +1 -0
  44. package/dist/polynomial.js +535 -0
  45. package/dist/polynomial.js.map +1 -0
  46. package/dist/solve-all.d.ts +24 -0
  47. package/dist/solve-all.d.ts.map +1 -0
  48. package/dist/solve-all.js +54 -0
  49. package/dist/solve-all.js.map +1 -0
  50. package/dist/solve-types.d.ts +87 -0
  51. package/dist/solve-types.d.ts.map +1 -0
  52. package/dist/solve-types.js +18 -0
  53. package/dist/solve-types.js.map +1 -0
  54. package/dist/solve.d.ts +12 -0
  55. package/dist/solve.d.ts.map +1 -0
  56. package/dist/solve.js +75 -0
  57. package/dist/solve.js.map +1 -0
  58. package/dist/types.d.ts +37 -0
  59. package/dist/types.d.ts.map +1 -0
  60. package/dist/types.js +2 -0
  61. package/dist/types.js.map +1 -0
  62. package/docs/api.md +91 -0
  63. package/docs/implementation-plan.md +673 -0
  64. package/docs/release-checklist.md +17 -0
  65. package/docs/security.md +23 -0
  66. package/package.json +9 -3
package/README.md CHANGED
@@ -3,8 +3,7 @@
3
3
  Computer algebra extensions for [MathJS](https://mathjs.org/), beginning with
4
4
  first-class equations.
5
5
 
6
- > Early development release. The initial package provides the equation node and
7
- > parser boundary; solving is the next milestone.
6
+ > Early development release. The package API may change before 1.0.0.
8
7
 
9
8
  ## Install
10
9
 
@@ -24,6 +23,9 @@ first-class equations.
24
23
  equation.toString(); // 'x + 1 =:= y / 2'
25
24
  equation.toTex(); // MathJS LaTeX joined by '='
26
25
 
26
+ const result = math.solveEquation('x*x - 5*x + 6 =:= 0', 'x');
27
+ // result.kind === 'finite'; roots are 2 and 3
28
+
27
29
  The lower-level factory array can be imported directly when an application
28
30
  manages its own MathJS instance typing:
29
31
 
@@ -54,7 +56,7 @@ The package does not monkey-patch or silently replace **math.parse**. Ordinary
54
56
  MathJS parsing, including assignment parsing, remains unchanged.
55
57
  Assignments and function assignments are rejected inside equation sides.
56
58
 
57
- ## Initial API
59
+ ## API
58
60
 
59
61
  - **importsymbolicjs(math)** imports the symbolicjs factories and returns the same
60
62
  instance with typed **EqualityNode** and **parseEquation** members.
@@ -63,25 +65,32 @@ Assignments and function assignments are rejected inside equation sides.
63
65
  - **splitEquation(expression)** validates and splits one top-level **=:=**.
64
66
  - **isEqualityNode(value)** is the runtime type guard.
65
67
  - **EQUALITY_OPERATOR** is the canonical **=:=** token.
68
+ - **equationSymbols(equation)** returns sorted free member symbols.
69
+ - **solveEquation(equation, target, options?)** solves for one target.
70
+ - **solveEquationForAll(equation, options?)** independently attempts every
71
+ member symbol and returns an immutable result map.
66
72
 
67
73
  **EqualityNode** supports MathJS traversal, transformation, cloning,
68
74
  compilation, equality evaluation, string output, LaTeX output, HTML output, and
69
75
  its own JSON codec.
70
76
 
71
- ## Roadmap
77
+ See the [API guide](docs/api.md), [implementation plan](docs/implementation-plan.md),
78
+ and [security guidance](docs/security.md) for result types, supported families,
79
+ limits, and integration details.
80
+
81
+ ## Implemented solver scope
72
82
 
73
- 1. First-class equality node, parser boundary, formatting, and serialization.
74
- 2. Symbol discovery, immutable substitution, conservative simplification,
75
- domain conditions, and candidate verification.
76
- 3. Single-occurrence isolation for arithmetic, powers, roots, exponential,
77
- logarithm, and absolute value.
78
- 4. Target-relative rational and polynomial normalization, with symbolic linear
79
- and quadratic solving.
80
- 5. Typed solve cases for finite roots, identities, contradictions, conditions,
81
- partial results, unsupported families, and complexity limits.
82
- 6. Numeric cubic fallback when all coefficients are numeric.
83
+ - First-class equality nodes, parsing, formatting, and serialization.
84
+ - Symbol discovery, immutable substitution, conservative simplification,
85
+ domain conditions, candidate verification, and deterministic limits.
86
+ - Single-occurrence isolation for arithmetic, powers, roots, exponential,
87
+ logarithm, and absolute value.
88
+ - Target-relative rational normalization and symbolic affine/quadratic solving.
89
+ - Numeric cubic fallback when every coefficient is numeric.
90
+ - Typed finite, identity, contradiction, partial, unsupported, and limit results.
91
+ - Independent solve-for-all orchestration and opt-in diagnostics.
83
92
 
84
- The initial solver domain will be real scalar equations. Periodic
93
+ The solver domain is real scalar equations. Periodic
85
94
  trigonometric families, simultaneous systems, matrices, units, and a general
86
95
  equivalence prover are not part of the first solver release.
87
96
 
@@ -91,12 +100,16 @@ Requires Node 22 or newer.
91
100
 
92
101
  npm install
93
102
  npm run check
103
+ npm run test:benchmark
94
104
  npm run pack:dry
95
105
 
96
106
  The package is tested independently of any consuming application. MathJS is a
97
107
  peer dependency and is pinned to 15.2.0 in development so the node contract is
98
108
  tested against a known implementation.
99
109
 
110
+ The stable-release requirements are tracked in the
111
+ [release checklist](docs/release-checklist.md).
112
+
100
113
  ## Publishing
101
114
 
102
115
  The repository includes a tag-triggered GitHub Actions publishing workflow.
@@ -0,0 +1,6 @@
1
+ import type { MathNode } from 'mathjs';
2
+ import type { EqualityNode } from './types.js';
3
+ export declare function nodeSymbols(node: MathNode): readonly string[];
4
+ export declare function equationSymbols(equation: EqualityNode): readonly string[];
5
+ export declare const createEquationSymbols: import("mathjs").FactoryFunction<unknown>;
6
+ //# sourceMappingURL=analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAmB7C,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,MAAM,EAAE,CAc7D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,CAOzE;AAED,eAAO,MAAM,qBAAqB,2CAIjC,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { isFunctionNode, isSymbolNode } from 'mathjs';
2
+ import { customFactory } from './custom-factory.js';
3
+ const BUILTIN_CONSTANTS = new Set([
4
+ 'e',
5
+ 'false',
6
+ 'i',
7
+ 'Infinity',
8
+ 'NaN',
9
+ 'null',
10
+ 'phi',
11
+ 'pi',
12
+ 'SQRT1_2',
13
+ 'SQRT2',
14
+ 'tau',
15
+ 'true',
16
+ 'undefined',
17
+ 'version'
18
+ ]);
19
+ export function nodeSymbols(node) {
20
+ const symbols = new Set();
21
+ node.traverse((candidate, path, parent) => {
22
+ if (!isSymbolNode(candidate)) {
23
+ return;
24
+ }
25
+ if (parent && isFunctionNode(parent) && path === 'fn') {
26
+ return;
27
+ }
28
+ if (!BUILTIN_CONSTANTS.has(candidate.name)) {
29
+ symbols.add(candidate.name);
30
+ }
31
+ });
32
+ return Object.freeze([...symbols].sort());
33
+ }
34
+ export function equationSymbols(equation) {
35
+ if (!equation?.isEqualityNode) {
36
+ throw new TypeError('EqualityNode expected');
37
+ }
38
+ return Object.freeze([
39
+ ...new Set([...nodeSymbols(equation.lhs), ...nodeSymbols(equation.rhs)])
40
+ ].sort());
41
+ }
42
+ export const createEquationSymbols = customFactory('equationSymbols', [], () => equationSymbols);
43
+ //# sourceMappingURL=analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,YAAY,EAAC,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAGlD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,GAAG;IACH,OAAO;IACP,GAAG;IACH,UAAU;IACV,KAAK;IACL,MAAM;IACN,KAAK;IACL,IAAI;IACJ,SAAS;IACT,OAAO;IACP,KAAK;IACL,MAAM;IACN,WAAW;IACX,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,UAAU,WAAW,CAAC,IAAc;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACxC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAsB;IACpD,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KACzE,CAAC,IAAI,EAAE,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAChD,iBAAiB,EACjB,EAAE,EACF,GAAG,EAAE,CAAC,eAAe,CACtB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { MathNode } from 'mathjs';
2
+ import type { LimitKind, LimitResult, SolveOptions, SolverLimits } from './solve-types.js';
3
+ type ConsumableLimit = Exclude<LimitKind, 'input-nodes' | 'polynomial-degree'>;
4
+ export declare function resolveLimits(options?: SolveOptions): SolverLimits;
5
+ export declare class SolverContext {
6
+ readonly target: string;
7
+ readonly limits: SolverLimits;
8
+ readonly used: Record<ConsumableLimit, number>;
9
+ constructor(target: string, options?: SolveOptions);
10
+ preflight(node: MathNode): LimitResult | null;
11
+ checkPolynomialDegree(degree: number): LimitResult | null;
12
+ consume(kind: ConsumableLimit, amount?: number): LimitResult | null;
13
+ }
14
+ export {};
15
+ //# sourceMappingURL=budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../src/budget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAKrC,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,KAAK,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,aAAa,GAAG,mBAAmB,CAAC,CAAC;AAkB/E,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,YAAY,CASlE;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAO5C;IAEF,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAGjD;IAED,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI,CAQ5C;IAED,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAIxD;IAED,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,SAAI,GAAG,WAAW,GAAG,IAAI,CAO7D;CACF"}
package/dist/budget.js ADDED
@@ -0,0 +1,62 @@
1
+ import { DEFAULT_SOLVER_LIMITS, limitResult } from './solve-types.js';
2
+ const LIMIT_PROPERTY = {
3
+ 'rewrite-steps': 'rewriteSteps',
4
+ 'recursion-depth': 'recursionDepth',
5
+ branches: 'branches',
6
+ candidates: 'candidates',
7
+ 'numeric-iterations': 'numericIterations',
8
+ 'total-work': 'totalWork'
9
+ };
10
+ function validateLimit(name, value) {
11
+ if (!Number.isSafeInteger(value) || value < 0) {
12
+ throw new RangeError('Solver limit "' + name + '" must be a nonnegative safe integer');
13
+ }
14
+ return value;
15
+ }
16
+ export function resolveLimits(options) {
17
+ const supplied = options?.limits ?? {};
18
+ const limits = { ...DEFAULT_SOLVER_LIMITS, ...supplied };
19
+ for (const [name, value] of Object.entries(limits)) {
20
+ validateLimit(name, value);
21
+ }
22
+ return Object.freeze(limits);
23
+ }
24
+ export class SolverContext {
25
+ target;
26
+ limits;
27
+ used = {
28
+ 'rewrite-steps': 0,
29
+ 'recursion-depth': 0,
30
+ branches: 0,
31
+ candidates: 0,
32
+ 'numeric-iterations': 0,
33
+ 'total-work': 0
34
+ };
35
+ constructor(target, options) {
36
+ this.target = target;
37
+ this.limits = resolveLimits(options);
38
+ }
39
+ preflight(node) {
40
+ let count = 0;
41
+ node.traverse(() => {
42
+ count += 1;
43
+ });
44
+ return count > this.limits.inputNodes
45
+ ? limitResult(this.target, 'input-nodes')
46
+ : null;
47
+ }
48
+ checkPolynomialDegree(degree) {
49
+ return degree > this.limits.polynomialDegree
50
+ ? limitResult(this.target, 'polynomial-degree')
51
+ : null;
52
+ }
53
+ consume(kind, amount = 1) {
54
+ validateLimit('amount', amount);
55
+ this.used[kind] += amount;
56
+ const property = LIMIT_PROPERTY[kind];
57
+ return this.used[kind] > this.limits[property]
58
+ ? limitResult(this.target, kind)
59
+ : null;
60
+ }
61
+ }
62
+ //# sourceMappingURL=budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../src/budget.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,WAAW,EACZ,MAAM,kBAAkB,CAAC;AAU1B,MAAM,cAAc,GAA0D;IAC5E,eAAe,EAAE,cAAc;IAC/B,iBAAiB,EAAE,gBAAgB;IACnC,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,oBAAoB,EAAE,mBAAmB;IACzC,YAAY,EAAE,WAAW;CAC1B,CAAC;AAEF,SAAS,aAAa,CAAC,IAAY,EAAE,KAAa;IAChD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAAC,gBAAgB,GAAG,IAAI,GAAG,sCAAsC,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAsB;IAClD,MAAM,QAAQ,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,EAAC,GAAG,qBAAqB,EAAE,GAAG,QAAQ,EAAC,CAAC;IAEvD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,OAAO,aAAa;IACf,MAAM,CAAS;IACf,MAAM,CAAe;IACrB,IAAI,GAAoC;QAC/C,eAAe,EAAE,CAAC;QAClB,iBAAiB,EAAE,CAAC;QACpB,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,CAAC;QACb,oBAAoB,EAAE,CAAC;QACvB,YAAY,EAAE,CAAC;KAChB,CAAC;IAEF,YAAY,MAAc,EAAE,OAAsB;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,SAAS,CAAC,IAAc;QACtB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACjB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;YACnC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,qBAAqB,CAAC,MAAc;QAClC,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAC1C,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED,OAAO,CAAC,IAAqB,EAAE,MAAM,GAAG,CAAC;QACvC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;QAC1B,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC5C,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export declare const EQUALITY_OPERATOR: '=:=';
2
+ export declare const EQUALITY_NODE_NAME: 'EqualityNode';
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,EAAG,KAAc,CAAC;AAChD,eAAO,MAAM,kBAAkB,EAAG,cAAuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const EQUALITY_OPERATOR = '=:=';
2
+ export const EQUALITY_NODE_NAME = 'EqualityNode';
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAc,CAAC;AAChD,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAuB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { factory } from 'mathjs';
2
+ type CustomFactory = (name: string, dependencies: string[], create: (dependencies: Record<string, unknown>) => unknown, meta?: Record<string, unknown>) => ReturnType<typeof factory>;
3
+ export declare const customFactory: CustomFactory;
4
+ export {};
5
+ //# sourceMappingURL=custom-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-factory.d.ts","sourceRoot":"","sources":["../src/custom-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAE/B,KAAK,aAAa,GAAG,CACnB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EAAE,EACtB,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,EAC1D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAEhC,eAAO,MAAM,aAAa,EAAyB,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { factory } from 'mathjs';
2
+ export const customFactory = factory;
3
+ //# sourceMappingURL=custom-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-factory.js","sourceRoot":"","sources":["../src/custom-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAS/B,MAAM,CAAC,MAAM,aAAa,GAAG,OAAmC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { EqualityNode, EqualityNodeConstructor } from './types.js';
2
+ export declare const createEqualityNode: import("mathjs").FactoryFunction<EqualityNodeConstructor>;
3
+ export declare function isEqualityNode(node: unknown): node is EqualityNode;
4
+ //# sourceMappingURL=equality-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equality-node.d.ts","sourceRoot":"","sources":["../src/equality-node.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EAGxB,MAAM,YAAY,CAAC;AA0BpB,eAAO,MAAM,kBAAkB,2DAkG9B,CAAC;AAEF,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,YAAY,CAMlE"}
@@ -0,0 +1,79 @@
1
+ import { factory } from 'mathjs';
2
+ import { EQUALITY_NODE_NAME, EQUALITY_OPERATOR } from './constants.js';
3
+ function assertNode(node, name) {
4
+ if (!node?.isNode) {
5
+ throw new TypeError('MathJS Node expected for parameter "' + name + '"');
6
+ }
7
+ }
8
+ export const createEqualityNode = factory(EQUALITY_NODE_NAME, ['Node', 'equal'], ({ Node, equal }) => {
9
+ // MathJS exposes NodeCtor as constructing MathNode, while custom node
10
+ // implementations also need its protected runtime hooks. Keep that
11
+ // unavoidable type assertion confined to this factory.
12
+ const MathJsNode = Node;
13
+ class EqualityNodeImpl extends MathJsNode {
14
+ static name = EQUALITY_NODE_NAME;
15
+ lhs;
16
+ rhs;
17
+ constructor(lhs, rhs) {
18
+ super();
19
+ assertNode(lhs, 'lhs');
20
+ assertNode(rhs, 'rhs');
21
+ this.lhs = lhs;
22
+ this.rhs = rhs;
23
+ }
24
+ get type() {
25
+ return EQUALITY_NODE_NAME;
26
+ }
27
+ get isEqualityNode() {
28
+ return true;
29
+ }
30
+ _compile(math, argNames) {
31
+ const evalLhs = this.lhs._compile(math, argNames);
32
+ const evalRhs = this.rhs._compile(math, argNames);
33
+ return (scope, args, context) => equal(evalLhs(scope, args, context), evalRhs(scope, args, context));
34
+ }
35
+ forEach(callback) {
36
+ callback(this.lhs, 'lhs', this);
37
+ callback(this.rhs, 'rhs', this);
38
+ }
39
+ map(callback) {
40
+ const lhs = this._ifNode(callback(this.lhs, 'lhs', this));
41
+ const rhs = this._ifNode(callback(this.rhs, 'rhs', this));
42
+ return new EqualityNodeImpl(lhs, rhs);
43
+ }
44
+ clone() {
45
+ return new EqualityNodeImpl(this.lhs, this.rhs);
46
+ }
47
+ _toString(options) {
48
+ return (this.lhs.toString(options) +
49
+ ' ' + EQUALITY_OPERATOR + ' ' +
50
+ this.rhs.toString(options));
51
+ }
52
+ _toTex(options) {
53
+ return this.lhs.toTex(options) + '=' + this.rhs.toTex(options);
54
+ }
55
+ _toHTML(options) {
56
+ return (this.lhs.toHTML(options) +
57
+ '<span class="math-operator math-binary-operator">=:=' +
58
+ '</span>' +
59
+ this.rhs.toHTML(options));
60
+ }
61
+ toJSON() {
62
+ return {
63
+ mathjs: EQUALITY_NODE_NAME,
64
+ lhs: this.lhs,
65
+ rhs: this.rhs
66
+ };
67
+ }
68
+ static fromJSON(json) {
69
+ return new EqualityNodeImpl(json.lhs, json.rhs);
70
+ }
71
+ }
72
+ return EqualityNodeImpl;
73
+ }, { isClass: true, isNode: true });
74
+ export function isEqualityNode(node) {
75
+ return Boolean(node &&
76
+ typeof node === 'object' &&
77
+ node.isEqualityNode === true);
78
+ }
79
+ //# sourceMappingURL=equality-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equality-node.js","sourceRoot":"","sources":["../src/equality-node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export { EQUALITY_NODE_NAME, EQUALITY_OPERATOR } from './constants.js';
2
+ export { createEqualityNode, isEqualityNode } from './equality-node.js';
3
+ export { createParseEquation, splitEquation } from './parse-equation.js';
4
+ export { createEquationSymbols, equationSymbols, nodeSymbols } from './analysis.js';
5
+ export { createSymbolicKernel, SymbolicKernel } from './kernel.js';
6
+ export { createIsolateEquation, IsolationEngine } from './isolate.js';
7
+ export { createPolynomialSolve, PolynomialEngine } from './polynomial.js';
8
+ export { createSolveEquation, solveEquation } from './solve.js';
9
+ export { createSolveEquationForAll, ReadonlyResultMap, solveEquationForAll } from './solve-all.js';
10
+ export { DEFAULT_SOLVER_LIMITS, DEFAULT_SOLVE_TOLERANCE } from './solve-types.js';
11
+ export { symbolicjsFactories, importsymbolicjs } from './install.js';
12
+ export type { symbolicjsInstance, EqualityNode, EqualityNodeConstructor, EqualityNodeJSON } from './types.js';
13
+ export type { Condition, ConditionKind, ContradictionResult, FiniteSolutions, IdentityResult, LimitKind, LimitResult, PartialResult, Solution, SolveDiagnostics, SolveOptions, SolveResult, SolveTraceStage, SolveTraceStep, SolverLimits, UnsupportedReason, UnsupportedResult, VerificationResult, VerificationStatus } from './solve-types.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,oBAAoB,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AACpE,OAAO,EAAC,qBAAqB,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAC,mBAAmB,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAC9D,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,SAAS,EACT,WAAW,EACX,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,12 @@
1
+ export { EQUALITY_NODE_NAME, EQUALITY_OPERATOR } from './constants.js';
2
+ export { createEqualityNode, isEqualityNode } from './equality-node.js';
3
+ export { createParseEquation, splitEquation } from './parse-equation.js';
4
+ export { createEquationSymbols, equationSymbols, nodeSymbols } from './analysis.js';
5
+ export { createSymbolicKernel, SymbolicKernel } from './kernel.js';
6
+ export { createIsolateEquation, IsolationEngine } from './isolate.js';
7
+ export { createPolynomialSolve, PolynomialEngine } from './polynomial.js';
8
+ export { createSolveEquation, solveEquation } from './solve.js';
9
+ export { createSolveEquationForAll, ReadonlyResultMap, solveEquationForAll } from './solve-all.js';
10
+ export { DEFAULT_SOLVER_LIMITS, DEFAULT_SOLVE_TOLERANCE } from './solve-types.js';
11
+ export { symbolicjsFactories, importsymbolicjs } from './install.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,EACnB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,oBAAoB,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AACpE,OAAO,EAAC,qBAAqB,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAC,mBAAmB,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAC9D,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { MathJsInstance } from 'mathjs';
2
+ import type { symbolicjsInstance } from './types.js';
3
+ export declare const symbolicjsFactories: readonly [import("mathjs").FactoryFunction<import("./types.js").EqualityNodeConstructor>, import("mathjs").FactoryFunction<unknown>, import("mathjs").FactoryFunction<unknown>, import("mathjs").FactoryFunction<unknown>, import("mathjs").FactoryFunction<unknown>, import("mathjs").FactoryFunction<unknown>, import("mathjs").FactoryFunction<unknown>, import("mathjs").FactoryFunction<unknown>];
4
+ export declare function importsymbolicjs(math: MathJsInstance): symbolicjsInstance;
5
+ //# sourceMappingURL=install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,QAAQ,CAAC;AAS3C,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,mBAAmB,wYAStB,CAAC;AAEX,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,kBAAkB,CAGzE"}
@@ -0,0 +1,23 @@
1
+ import { createEqualityNode } from './equality-node.js';
2
+ import { createParseEquation } from './parse-equation.js';
3
+ import { createEquationSymbols } from './analysis.js';
4
+ import { createSolveEquation } from './solve.js';
5
+ import { createSymbolicKernel } from './kernel.js';
6
+ import { createIsolateEquation } from './isolate.js';
7
+ import { createPolynomialSolve } from './polynomial.js';
8
+ import { createSolveEquationForAll } from './solve-all.js';
9
+ export const symbolicjsFactories = [
10
+ createEqualityNode,
11
+ createParseEquation,
12
+ createEquationSymbols,
13
+ createSymbolicKernel,
14
+ createIsolateEquation,
15
+ createPolynomialSolve,
16
+ createSolveEquation,
17
+ createSolveEquationForAll
18
+ ];
19
+ export function importsymbolicjs(math) {
20
+ math.import([...symbolicjsFactories]);
21
+ return math;
22
+ }
23
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAC,qBAAqB,EAAC,MAAM,eAAe,CAAC;AACpD,OAAO,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,EAAC,qBAAqB,EAAC,MAAM,cAAc,CAAC;AACnD,OAAO,EAAC,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,yBAAyB,EAAC,MAAM,gBAAgB,CAAC;AAGzD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,kBAAkB;IAClB,mBAAmB;IACnB,qBAAqB;IACrB,oBAAoB;IACpB,qBAAqB;IACrB,qBAAqB;IACrB,mBAAmB;IACnB,yBAAyB;CACjB,CAAC;AAEX,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC;IACtC,OAAO,IAA0B,CAAC;AACpC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { MathJsInstance } from 'mathjs';
2
+ import type { SymbolicKernel } from './kernel.js';
3
+ import type { SolveOptions, SolveResult } from './solve-types.js';
4
+ import type { EqualityNode } from './types.js';
5
+ interface IsolationDependencies {
6
+ ConstantNode: MathJsInstance['ConstantNode'];
7
+ FunctionNode: MathJsInstance['FunctionNode'];
8
+ OperatorNode: MathJsInstance['OperatorNode'];
9
+ SymbolNode: MathJsInstance['SymbolNode'];
10
+ symbolicKernel: SymbolicKernel;
11
+ }
12
+ export declare class IsolationEngine {
13
+ #private;
14
+ constructor(dependencies: IsolationDependencies);
15
+ solve(equation: EqualityNode, target: string, options?: SolveOptions): SolveResult;
16
+ }
17
+ export declare const createIsolateEquation: import("mathjs").FactoryFunction<unknown>;
18
+ export {};
19
+ //# sourceMappingURL=isolate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isolate.d.ts","sourceRoot":"","sources":["../src/isolate.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,cAAc,EAAW,MAAM,QAAQ,CAAC;AAIrD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAMhD,OAAO,KAAK,EAQV,YAAY,EACZ,WAAW,EAEZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAE7C,UAAU,qBAAqB;IAC7B,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC7C,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC7C,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC7C,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACzC,cAAc,EAAE,cAAc,CAAC;CAChC;AAyCD,qBAAa,eAAe;;IAG1B,YAAY,YAAY,EAAE,qBAAqB,EAE9C;IA2TD,KAAK,CACH,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,GACrB,WAAW,CA6Fb;CACF;AAED,eAAO,MAAM,qBAAqB,2CAmBjC,CAAC"}