new Expression(exprParsed)
Wrapper around a mathjs expression tree used by Heta model elements.
Parameters:
| Name | Type | Description |
|---|---|---|
exprParsed |
math.Node | Parsed mathjs expression node. |
Properties:
| Name | Type | Description |
|---|---|---|
exprParsed |
math.Node | Parsed mathjs expression node. |
num |
number | undefined | Numeric value for constant expressions. |
isComparison |
boolean |
|
Methods
calcUnit(component) → {Unit|undefined}
Calculates expression units in the context of a model component.
Parameters:
| Name | Type | Description |
|---|---|---|
component |
Component | Component used for reference lookup and logging. |
Returns:
Calculated unit, if it can be inferred.
- Type
- Unit | undefined
clone() → {Expression}
Creates a deep clone of this expression.
Returns:
Cloned expression.
- Type
- Expression
dependOn() → {Array.<string>}
Lists unique symbols used by the expression.
Returns:
Symbol names excluding function names and constants e, pi.
- Type
- Array.<string>
dependOnNodes() → {Array.<math.SymbolNode>}
Lists symbol nodes used by the expression.
Returns:
Symbol nodes excluding function names and constants e, pi.
- Type
- Array.<math.SymbolNode>
functionList() → {Array.<math.FunctionNode>}
Lists function calls used by the expression.
Returns:
Unique function nodes.
- Type
- Array.<math.FunctionNode>
hasBooleanResult() → {boolean}
Checks whether the expression has a boolean result.
Returns:
true for boolean operators or boolean constants.
- Type
- boolean
linearizeFor(target) → {Array.<math.Node>}
Linearizes the expression by a target symbol.
Parameters:
| Name | Type | Description |
|---|---|---|
target |
string | Symbol name. |
Returns:
Pair [slope, intercept] as mathjs nodes.
- Type
- Array.<math.Node>
multiply(multiplier) → {Expression}
Creates an expression equal to this expression multiplied by multiplier.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
multiplier |
string | number | 1 | Multiplier expression. |
Returns:
Product expression.
- Type
- Expression
substituteByDefinitions() → {Expression}
Expands non-core user-defined function calls.
Returns:
Expression with function bodies substituted.
- Type
- Expression
toString(options) → {string}
Serializes the expression with mathjs formatting options.
Parameters:
| Name | Type | Description |
|---|---|---|
options |
object | mathjs |
Returns:
Expression string.
- Type
- string
translateSymbol(translator) → {Expression}
Creates a translated copy with renamed symbols.
Function names are not renamed. Existing user-defined function nodes are
kept as-is so their fnObj metadata remains attached.
Parameters:
| Name | Type | Description |
|---|---|---|
translator |
object.<string, string> | Map from old symbol names to new names. |
Returns:
Translated expression.
- Type
- Expression
updateReferences(q) → {void}
Rewrites symbol references using prefix, suffix, and rename.
Parameters:
| Name | Type | Description |
|---|---|---|
q |
object | Import options. |
Returns:
- Type
- void
(static) fromString(exprStringOrNumber) → {Expression}
Parses a string or number into an Expression.
Parameters:
| Name | Type | Description |
|---|---|---|
exprStringOrNumber |
string | number | Expression source. |
Returns:
Parsed expression.
- Type
- Expression