universal-physics-tensor 0.25.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -5
- package/bin/upt.mjs +843 -751
- package/dist/canonical/entries/atomic.d.ts +17 -0
- package/dist/canonical/entries/atomic.d.ts.map +1 -0
- package/dist/canonical/entries/atomic.js +71 -0
- package/dist/canonical/entries/atomic.js.map +1 -0
- package/dist/canonical/entries/electromagnetism.d.ts +18 -0
- package/dist/canonical/entries/electromagnetism.d.ts.map +1 -0
- package/dist/canonical/entries/electromagnetism.js +212 -0
- package/dist/canonical/entries/electromagnetism.js.map +1 -0
- package/dist/canonical/entries/fluids-waves.d.ts +18 -0
- package/dist/canonical/entries/fluids-waves.d.ts.map +1 -0
- package/dist/canonical/entries/fluids-waves.js +130 -0
- package/dist/canonical/entries/fluids-waves.js.map +1 -0
- package/dist/canonical/entries/mechanics.d.ts +18 -0
- package/dist/canonical/entries/mechanics.d.ts.map +1 -0
- package/dist/canonical/entries/mechanics.js +275 -0
- package/dist/canonical/entries/mechanics.js.map +1 -0
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts +18 -0
- package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -0
- package/dist/canonical/entries/thermo-nuclear-cosmo.js +56 -0
- package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -0
- package/dist/canonical/registry.d.ts.map +1 -1
- package/dist/canonical/registry.js +10 -0
- package/dist/canonical/registry.js.map +1 -1
- package/dist/composition/compose.d.ts.map +1 -1
- package/dist/composition/compose.js +14 -0
- package/dist/composition/compose.js.map +1 -1
- package/dist/composition/dimension-adjacency.d.ts +39 -0
- package/dist/composition/dimension-adjacency.d.ts.map +1 -0
- package/dist/composition/dimension-adjacency.js +44 -0
- package/dist/composition/dimension-adjacency.js.map +1 -0
- package/dist/composition/graph-viz.d.ts +1 -1
- package/dist/composition/graph-viz.d.ts.map +1 -1
- package/dist/composition/graph-viz.js +2 -0
- package/dist/composition/graph-viz.js.map +1 -1
- package/dist/composition/index.d.ts +5 -0
- package/dist/composition/index.d.ts.map +1 -1
- package/dist/composition/index.js +2 -0
- package/dist/composition/index.js.map +1 -1
- package/dist/composition/user-equation.d.ts +136 -0
- package/dist/composition/user-equation.d.ts.map +1 -0
- package/dist/composition/user-equation.js +247 -0
- package/dist/composition/user-equation.js.map +1 -0
- package/dist/dimensional/dimension-inference.d.ts +37 -0
- package/dist/dimensional/dimension-inference.d.ts.map +1 -0
- package/dist/dimensional/dimension-inference.js +79 -0
- package/dist/dimensional/dimension-inference.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/numerical/formula-dimension.d.ts +16 -1
- package/dist/numerical/formula-dimension.d.ts.map +1 -1
- package/dist/numerical/formula-dimension.js +116 -84
- package/dist/numerical/formula-dimension.js.map +1 -1
- package/dist/numerical/formula-registry.d.ts +11 -1
- package/dist/numerical/formula-registry.d.ts.map +1 -1
- package/dist/numerical/formula-registry.js +12 -0
- package/dist/numerical/formula-registry.js.map +1 -1
- package/package.json +92 -92
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -151,6 +151,16 @@ export { buildVizModel, edgeToJunction } from './composition/index.js';
|
|
|
151
151
|
// SVG rendering via the optional @viz-js/viz peer (separate module so the
|
|
152
152
|
// graph-viz model stays pure/synchronous/dependency-free).
|
|
153
153
|
export { renderDotToSvg, SvgRendererUnavailableError } from './composition/index.js';
|
|
154
|
+
// User-equation injection — parse a free-form "TARGET = EXPR" and place it into
|
|
155
|
+
// the map as a connected 'user' junction (with a "did you mean?" hint).
|
|
156
|
+
export { parseUserEquation, resolveToCatalogName, suggestQuantities, suggestByDimension, equationLanding, analyzeUserEquation, UserEquationError, } from './composition/index.js';
|
|
157
|
+
// Phase 1 — string → dimensional ExprNode parser + single-unknown dimensional
|
|
158
|
+
// inference (the front-end to the physics AST).
|
|
159
|
+
export { parsePhysics } from './numerical/formula-registry.js';
|
|
160
|
+
export { FormulaDimensionError } from './numerical/formula-dimension.js';
|
|
161
|
+
export { inferUnknownDimension, substituteSymbolDim } from './dimensional/dimension-inference.js';
|
|
162
|
+
// Dimension-adjacency review surface (name-divergent but same-dimension quantities).
|
|
163
|
+
export { dimensionAdjacency } from './composition/index.js';
|
|
154
164
|
export { confrontBE36WithUncertainty } from './bridges/be36-gw170817-confrontation.js';
|
|
155
165
|
// Buckingham-π enumerator (the principled primitive for the exactly-
|
|
156
166
|
// determined case — build target 1 of the bridge-inference epistemics
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,13 @@
|
|
|
15
15
|
* @module numerical/formula-dimension
|
|
16
16
|
*/
|
|
17
17
|
import type { Dimension } from '../dimensional/types.js';
|
|
18
|
+
import type { ExprNode } from '../dimensional/validator.js';
|
|
19
|
+
/** A formula cannot be dimensionally analyzed (undeclared symbol, variable
|
|
20
|
+
* exponent, transcendental of a dimensional argument, unsupported node).
|
|
21
|
+
* @public */
|
|
22
|
+
export declare class FormulaDimensionError extends Error {
|
|
23
|
+
constructor(message: string);
|
|
24
|
+
}
|
|
18
25
|
/** The result of a formula dimensional check. */
|
|
19
26
|
interface FormulaDimensionResult {
|
|
20
27
|
/** True iff the formula is dimensionally homogeneous and well-formed. */
|
|
@@ -24,9 +31,17 @@ interface FormulaDimensionResult {
|
|
|
24
31
|
/** Human-readable reason when `!ok`. */
|
|
25
32
|
readonly error?: string;
|
|
26
33
|
}
|
|
27
|
-
/** A
|
|
34
|
+
/** A parsed physics expression: its dimensional `ExprNode` + inferred dimension. */
|
|
35
|
+
export interface ParsedPhysics {
|
|
36
|
+
readonly expr: ExprNode;
|
|
37
|
+
readonly dimension: Dimension;
|
|
38
|
+
}
|
|
39
|
+
/** A bound checker: non-throwing `check`, and throwing `parse` (the ExprNode). */
|
|
28
40
|
export interface FormulaDimensionChecker {
|
|
29
41
|
check(expr: string, dims: Readonly<Record<string, Dimension>>): FormulaDimensionResult;
|
|
42
|
+
/** Parse + transpile + validate → `{ expr, dimension }`.
|
|
43
|
+
* @throws {FormulaDimensionError} on a parse error or non-homogeneity. */
|
|
44
|
+
parse(expr: string, dims: Readonly<Record<string, Dimension>>): ParsedPhysics;
|
|
30
45
|
}
|
|
31
46
|
/** The built-in (Path B) dimensional checker — always available, no peer. */
|
|
32
47
|
export declare function builtinFormulaDimensionChecker(): FormulaDimensionChecker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-dimension.d.ts","sourceRoot":"","sources":["../../src/numerical/formula-dimension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"formula-dimension.d.ts","sourceRoot":"","sources":["../../src/numerical/formula-dimension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,6BAA6B,CAAC;AAK9E;;cAEc;AACd,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AA+LD,iDAAiD;AACjD,UAAU,sBAAsB;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,wCAAwC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,wCAAwC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B;AAED,kFAAkF;AAClF,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,sBAAsB,CAAC;IACvF;+EAC2E;IAC3E,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,aAAa,CAAC;CAC/E;AAiCD,6EAA6E;AAC7E,wBAAgB,8BAA8B,IAAI,uBAAuB,CAExE;AAMD;;;;GAIG;AACH,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAQpF"}
|
|
@@ -17,10 +17,11 @@
|
|
|
17
17
|
import { DIMENSIONLESS } from '../dimensional/types.js';
|
|
18
18
|
import { equals, format } from '../dimensional/algebra.js';
|
|
19
19
|
import { validate } from '../dimensional/validator.js';
|
|
20
|
-
import { parseFormulaToAst
|
|
20
|
+
import { parseFormulaToAst } from './formula.js';
|
|
21
21
|
/** A formula cannot be dimensionally analyzed (undeclared symbol, variable
|
|
22
|
-
* exponent, transcendental of a dimensional argument, unsupported node).
|
|
23
|
-
|
|
22
|
+
* exponent, transcendental of a dimensional argument, unsupported node).
|
|
23
|
+
* @public */
|
|
24
|
+
export class FormulaDimensionError extends Error {
|
|
24
25
|
constructor(message) {
|
|
25
26
|
super(message);
|
|
26
27
|
this.name = 'FormulaDimensionError';
|
|
@@ -28,15 +29,30 @@ class FormulaDimensionError extends Error {
|
|
|
28
29
|
}
|
|
29
30
|
/** Dimensionless math constants both parsers recognize. */
|
|
30
31
|
const MATH_CONSTANTS = new Set(['pi', 'tau', 'e', 'phi', 'Infinity', 'NaN']);
|
|
31
|
-
/**
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
'
|
|
36
|
-
|
|
32
|
+
/** Parser function names → the dimensional grammar's `transcendental` node fn
|
|
33
|
+
* (dimensionless → dimensionless). `log` is natural log (mathjs convention). */
|
|
34
|
+
const TRANSCENDENTAL_FN = {
|
|
35
|
+
exp: 'exp', ln: 'ln', log: 'ln', log10: 'log10', log2: 'log2',
|
|
36
|
+
sin: 'sin', cos: 'cos', tan: 'tan', sinh: 'sinh', cosh: 'cosh', tanh: 'tanh',
|
|
37
|
+
};
|
|
38
|
+
/** Transcendentals WITHOUT a grammar node — kept as dimensionless stubs (still
|
|
39
|
+
* dimensionless→dimensionless, just not a faithful node). */
|
|
40
|
+
const TRANSCENDENTAL_STUB = new Set(['asin', 'acos', 'atan', 'sec', 'csc', 'cot']);
|
|
37
41
|
const sym = (name, dim) => ({ kind: 'symbol', name, dim });
|
|
38
42
|
const op = (o, args) => ({ kind: 'op', op: o, args });
|
|
39
43
|
const powExpr = (base, exp) => op('^', [base, sym(String(exp), DIMENSIONLESS)]);
|
|
44
|
+
const transcendental = (fn, arg) => ({ kind: 'transcendental', fn, arg });
|
|
45
|
+
const absNode = (arg) => ({ kind: 'abs', arg });
|
|
46
|
+
/** Dispatch a parsed function name to its `ExprNode`. Shared by both transpilers. */
|
|
47
|
+
function transpileFunction(fn, argExpr) {
|
|
48
|
+
if (fn === 'abs')
|
|
49
|
+
return absNode(argExpr);
|
|
50
|
+
if (fn in TRANSCENDENTAL_FN)
|
|
51
|
+
return transcendental(TRANSCENDENTAL_FN[fn], argExpr);
|
|
52
|
+
if (TRANSCENDENTAL_STUB.has(fn))
|
|
53
|
+
return transcendentalStub(fn, argExpr);
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
40
56
|
/** Resolve a symbol to a dimensioned `ExprNode` (declared dim, or a
|
|
41
57
|
* dimensionless math constant, else an error). */
|
|
42
58
|
function resolveSymbol(name, dims) {
|
|
@@ -63,97 +79,104 @@ function transcendentalStub(fn, argExprNode) {
|
|
|
63
79
|
}
|
|
64
80
|
return sym(`${fn}(...)`, DIMENSIONLESS);
|
|
65
81
|
}
|
|
66
|
-
/**
|
|
67
|
-
function
|
|
68
|
-
let v;
|
|
69
|
-
try {
|
|
70
|
-
v = node.evaluate({});
|
|
71
|
-
}
|
|
72
|
-
catch {
|
|
73
|
-
throw new FormulaDimensionError('exponent must be a numeric constant');
|
|
74
|
-
}
|
|
75
|
-
if (typeof v !== 'number' || !Number.isFinite(v)) {
|
|
76
|
-
throw new FormulaDimensionError('exponent must be a finite numeric constant');
|
|
77
|
-
}
|
|
78
|
-
return v;
|
|
79
|
-
}
|
|
80
|
-
function transpileMathts(node, dims) {
|
|
82
|
+
/** Adapt a MathTS AST node to a `PNode` (pure shape map; no dimensions). */
|
|
83
|
+
function mathtsToPNode(node) {
|
|
81
84
|
switch (node.type) {
|
|
82
85
|
case 'ConstantNode':
|
|
83
|
-
return
|
|
86
|
+
return { kind: 'num', value: Number(node.value) };
|
|
84
87
|
case 'SymbolNode':
|
|
85
|
-
return
|
|
88
|
+
return { kind: 'sym', name: node.name };
|
|
86
89
|
case 'ParenthesisNode':
|
|
87
|
-
return
|
|
90
|
+
return mathtsToPNode(node.content);
|
|
88
91
|
case 'OperatorNode': {
|
|
89
|
-
const args = node.args ?? [];
|
|
92
|
+
const args = (node.args ?? []).map(mathtsToPNode);
|
|
90
93
|
if (node.op === '-' && args.length === 1)
|
|
91
|
-
return
|
|
94
|
+
return { kind: 'neg', arg: args[0] };
|
|
92
95
|
if (node.op === '^')
|
|
93
|
-
return
|
|
96
|
+
return { kind: 'pow', base: args[0], exp: args[1] };
|
|
94
97
|
if (node.op === '+' || node.op === '-' || node.op === '*' || node.op === '/') {
|
|
95
|
-
return op
|
|
98
|
+
return { kind: 'op', op: node.op, args };
|
|
96
99
|
}
|
|
97
100
|
throw new FormulaDimensionError(`unsupported operator '${node.op}'`);
|
|
98
101
|
}
|
|
99
|
-
case 'FunctionNode':
|
|
100
|
-
|
|
101
|
-
const args = node.args ?? [];
|
|
102
|
-
if (fn === 'sqrt')
|
|
103
|
-
return powExpr(transpileMathts(args[0], dims), 0.5);
|
|
104
|
-
if (fn === 'cbrt')
|
|
105
|
-
return powExpr(transpileMathts(args[0], dims), 1 / 3);
|
|
106
|
-
if (fn === 'pow')
|
|
107
|
-
return powExpr(transpileMathts(args[0], dims), mathtsConstant(args[1]));
|
|
108
|
-
if (fn === 'abs')
|
|
109
|
-
return transpileMathts(args[0], dims);
|
|
110
|
-
if (TRANSCENDENTAL.has(fn))
|
|
111
|
-
return transcendentalStub(fn, transpileMathts(args[0], dims));
|
|
112
|
-
throw new FormulaDimensionError(`unsupported function '${fn}'`);
|
|
113
|
-
}
|
|
102
|
+
case 'FunctionNode':
|
|
103
|
+
return { kind: 'call', fn: node.fn?.name ?? node.name ?? '', args: (node.args ?? []).map(mathtsToPNode) };
|
|
114
104
|
default:
|
|
115
105
|
throw new FormulaDimensionError(`unsupported node '${node.type}'`);
|
|
116
106
|
}
|
|
117
107
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
return
|
|
108
|
+
/** Adapt a built-in `FormulaAstNode` to a `PNode` (pure shape map). */
|
|
109
|
+
function pathBToPNode(node) {
|
|
110
|
+
switch (node.kind) {
|
|
111
|
+
case 'num':
|
|
112
|
+
return { kind: 'num', value: node.value };
|
|
113
|
+
case 'sym':
|
|
114
|
+
return { kind: 'sym', name: node.name };
|
|
115
|
+
case 'unary':
|
|
116
|
+
return node.op === '-'
|
|
117
|
+
? { kind: 'neg', arg: pathBToPNode(node.arg) }
|
|
118
|
+
: pathBToPNode(node.arg); // unary '+' is identity
|
|
119
|
+
case 'bin':
|
|
120
|
+
return node.op === '^'
|
|
121
|
+
? { kind: 'pow', base: pathBToPNode(node.left), exp: pathBToPNode(node.right) }
|
|
122
|
+
: { kind: 'op', op: node.op, args: [pathBToPNode(node.left), pathBToPNode(node.right)] };
|
|
123
|
+
case 'call':
|
|
124
|
+
return { kind: 'call', fn: node.fn, args: node.args.map(pathBToPNode) };
|
|
125
125
|
}
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
}
|
|
127
|
+
/** Fold a (presumed constant) `PNode` to a finite number, else throw. */
|
|
128
|
+
function pnodeConstant(node) {
|
|
129
|
+
const v = evalConstPNode(node);
|
|
130
|
+
if (!Number.isFinite(v))
|
|
131
|
+
throw new FormulaDimensionError('exponent must be a finite numeric constant');
|
|
132
|
+
return v;
|
|
133
|
+
}
|
|
134
|
+
function evalConstPNode(node) {
|
|
135
|
+
switch (node.kind) {
|
|
136
|
+
case 'num':
|
|
137
|
+
return node.value;
|
|
138
|
+
case 'neg':
|
|
139
|
+
return -evalConstPNode(node.arg);
|
|
140
|
+
case 'pow':
|
|
141
|
+
return Math.pow(evalConstPNode(node.base), evalConstPNode(node.exp));
|
|
142
|
+
case 'op': {
|
|
143
|
+
const v = node.args.map(evalConstPNode);
|
|
144
|
+
switch (node.op) {
|
|
145
|
+
case '+': return v.reduce((a, b) => a + b, 0);
|
|
146
|
+
case '-': return v.length === 1 ? -v[0] : v.reduce((a, b) => a - b);
|
|
147
|
+
case '*': return v.reduce((a, b) => a * b, 1);
|
|
148
|
+
case '/': return v.reduce((a, b) => a / b);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// falls through: a 'sym' or 'call' is not a numeric constant
|
|
152
|
+
default:
|
|
153
|
+
throw new FormulaDimensionError('exponent must be a numeric constant');
|
|
128
154
|
}
|
|
129
|
-
throw new FormulaDimensionError('exponent must be a numeric constant');
|
|
130
155
|
}
|
|
131
|
-
|
|
156
|
+
/** The ONE transpiler: normalized parse node → dimensional `ExprNode`. */
|
|
157
|
+
function normToExpr(node, dims) {
|
|
132
158
|
switch (node.kind) {
|
|
133
159
|
case 'num':
|
|
134
160
|
return sym(String(node.value), DIMENSIONLESS);
|
|
135
161
|
case 'sym':
|
|
136
162
|
return resolveSymbol(node.name, dims);
|
|
137
|
-
case '
|
|
138
|
-
return
|
|
139
|
-
case '
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
return
|
|
143
|
-
}
|
|
163
|
+
case 'neg':
|
|
164
|
+
return normToExpr(node.arg, dims); // sign is dimension-neutral
|
|
165
|
+
case 'op':
|
|
166
|
+
return op(node.op, node.args.map((a) => normToExpr(a, dims)));
|
|
167
|
+
case 'pow':
|
|
168
|
+
return powExpr(normToExpr(node.base, dims), pnodeConstant(node.exp));
|
|
144
169
|
case 'call': {
|
|
145
170
|
const fn = node.fn;
|
|
146
|
-
const args = node.args;
|
|
147
171
|
if (fn === 'sqrt')
|
|
148
|
-
return powExpr(
|
|
172
|
+
return powExpr(normToExpr(node.args[0], dims), 0.5);
|
|
149
173
|
if (fn === 'cbrt')
|
|
150
|
-
return powExpr(
|
|
174
|
+
return powExpr(normToExpr(node.args[0], dims), 1 / 3);
|
|
151
175
|
if (fn === 'pow')
|
|
152
|
-
return powExpr(
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
return transcendentalStub(fn, transpilePathB(args[0], dims));
|
|
176
|
+
return powExpr(normToExpr(node.args[0], dims), pnodeConstant(node.args[1]));
|
|
177
|
+
const fnNode = transpileFunction(fn, normToExpr(node.args[0], dims));
|
|
178
|
+
if (fnNode)
|
|
179
|
+
return fnNode;
|
|
157
180
|
throw new FormulaDimensionError(`unsupported function '${fn}'`);
|
|
158
181
|
}
|
|
159
182
|
}
|
|
@@ -161,28 +184,37 @@ function transpilePathB(node, dims) {
|
|
|
161
184
|
/** Build a checker from an `(expr, dims) → ExprNode` transpile (parse +
|
|
162
185
|
* transpile, which may throw a parse error or `FormulaDimensionError`). */
|
|
163
186
|
function createFormulaDimensionChecker(toExprNode) {
|
|
187
|
+
const parse = (expr, dims) => {
|
|
188
|
+
let exprNode;
|
|
189
|
+
try {
|
|
190
|
+
exprNode = toExprNode(expr, dims);
|
|
191
|
+
}
|
|
192
|
+
catch (e) {
|
|
193
|
+
if (e instanceof FormulaDimensionError)
|
|
194
|
+
throw e;
|
|
195
|
+
throw new FormulaDimensionError(`parse error: ${e instanceof Error ? e.message : String(e)}`);
|
|
196
|
+
}
|
|
197
|
+
const r = validate(exprNode);
|
|
198
|
+
if (!r.ok || r.inferredDimension === null) {
|
|
199
|
+
throw new FormulaDimensionError(r.violations[0]?.note ?? 'not dimensionally homogeneous');
|
|
200
|
+
}
|
|
201
|
+
return { expr: exprNode, dimension: r.inferredDimension };
|
|
202
|
+
};
|
|
164
203
|
return {
|
|
204
|
+
parse,
|
|
165
205
|
check(expr, dims) {
|
|
166
|
-
let exprNode;
|
|
167
206
|
try {
|
|
168
|
-
|
|
207
|
+
return { ok: true, dim: parse(expr, dims).dimension };
|
|
169
208
|
}
|
|
170
209
|
catch (e) {
|
|
171
|
-
|
|
172
|
-
return { ok: false, error: e.message };
|
|
173
|
-
return { ok: false, error: `parse error: ${e instanceof Error ? e.message : String(e)}` };
|
|
174
|
-
}
|
|
175
|
-
const r = validate(exprNode);
|
|
176
|
-
if (!r.ok || r.inferredDimension === null) {
|
|
177
|
-
return { ok: false, error: r.violations[0]?.note ?? 'not dimensionally homogeneous' };
|
|
210
|
+
return { ok: false, error: e instanceof Error ? e.message : String(e) };
|
|
178
211
|
}
|
|
179
|
-
return { ok: true, dim: r.inferredDimension };
|
|
180
212
|
},
|
|
181
213
|
};
|
|
182
214
|
}
|
|
183
215
|
/** The built-in (Path B) dimensional checker — always available, no peer. */
|
|
184
216
|
export function builtinFormulaDimensionChecker() {
|
|
185
|
-
return createFormulaDimensionChecker((expr, dims) =>
|
|
217
|
+
return createFormulaDimensionChecker((expr, dims) => normToExpr(pathBToPNode(parseFormulaToAst(expr)), dims));
|
|
186
218
|
}
|
|
187
219
|
/**
|
|
188
220
|
* Dynamically load the optional MathTS peer and build a dimensional checker
|
|
@@ -194,6 +226,6 @@ export async function loadFormulaDimensionChecker() {
|
|
|
194
226
|
if (typeof mod.parse !== 'function') {
|
|
195
227
|
throw new FormulaDimensionError('mathts-functions: no parse() export');
|
|
196
228
|
}
|
|
197
|
-
return createFormulaDimensionChecker((expr, dims) =>
|
|
229
|
+
return createFormulaDimensionChecker((expr, dims) => normToExpr(mathtsToPNode(mod.parse(expr)), dims));
|
|
198
230
|
}
|
|
199
231
|
//# sourceMappingURL=formula-dimension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-dimension.js","sourceRoot":"","sources":["../../src/numerical/formula-dimension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"formula-dimension.js","sourceRoot":"","sources":["../../src/numerical/formula-dimension.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
* @module numerical/formula-registry
|
|
14
14
|
*/
|
|
15
15
|
import type { FormulaParser } from './formula.js';
|
|
16
|
-
import type {
|
|
16
|
+
import type { Dimension } from '../dimensional/types.js';
|
|
17
|
+
import type { FormulaDimensionChecker, ParsedPhysics } from './formula-dimension.js';
|
|
17
18
|
type FormulaParserKind = 'mathts' | 'builtin';
|
|
18
19
|
/** Resolve the active formula parser (cached). @internal */
|
|
19
20
|
export declare function getFormulaParser(): Promise<FormulaParser>;
|
|
@@ -26,5 +27,14 @@ export declare function getFormulaParserKind(): Promise<FormulaParserKind>;
|
|
|
26
27
|
* the same `ExprNode`, so the dimensional verdict is identical. @internal
|
|
27
28
|
*/
|
|
28
29
|
export declare function getFormulaDimensionChecker(): Promise<FormulaDimensionChecker>;
|
|
30
|
+
/**
|
|
31
|
+
* Parse physics text to a dimensional `ExprNode` + its inferred dimension, using
|
|
32
|
+
* the active front-end (MathTS when the optional peer is installed, else the
|
|
33
|
+
* built-in parser). The single public string→`ExprNode` entry point.
|
|
34
|
+
*
|
|
35
|
+
* @throws {FormulaDimensionError} on a parse error or non-homogeneity.
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
export declare function parsePhysics(text: string, dims: Readonly<Record<string, Dimension>>): Promise<ParsedPhysics>;
|
|
29
39
|
export {};
|
|
30
40
|
//# sourceMappingURL=formula-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-registry.d.ts","sourceRoot":"","sources":["../../src/numerical/formula-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"formula-registry.d.ts","sourceRoot":"","sources":["../../src/numerical/formula-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGrF,KAAK,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AA8C9C,4DAA4D;AAC5D,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,CAG/D;AAED,kFAAkF;AAClF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAGvE;AAMD;;;;;GAKG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAYnF;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GACxC,OAAO,CAAC,aAAa,CAAC,CAGxB"}
|
|
@@ -85,4 +85,16 @@ export async function getFormulaDimensionChecker() {
|
|
|
85
85
|
})();
|
|
86
86
|
return cachedChecker;
|
|
87
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Parse physics text to a dimensional `ExprNode` + its inferred dimension, using
|
|
90
|
+
* the active front-end (MathTS when the optional peer is installed, else the
|
|
91
|
+
* built-in parser). The single public string→`ExprNode` entry point.
|
|
92
|
+
*
|
|
93
|
+
* @throws {FormulaDimensionError} on a parse error or non-homogeneity.
|
|
94
|
+
* @public
|
|
95
|
+
*/
|
|
96
|
+
export async function parsePhysics(text, dims) {
|
|
97
|
+
const checker = await getFormulaDimensionChecker();
|
|
98
|
+
return checker.parse(text, dims);
|
|
99
|
+
}
|
|
88
100
|
//# sourceMappingURL=formula-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula-registry.js","sourceRoot":"","sources":["../../src/numerical/formula-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"formula-registry.js","sourceRoot":"","sources":["../../src/numerical/formula-registry.ts"],"names":[],"mappings":"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"}
|