Package org.lemsml.jlems.core.expression
Class FunctionNode
- java.lang.Object
-
- org.lemsml.jlems.core.expression.Node
-
- org.lemsml.jlems.core.expression.AbstractUnaryNode
-
- org.lemsml.jlems.core.expression.FunctionNode
-
- All Implemented Interfaces:
DoubleParseTreeNode
,ParseTreeNode
public class FunctionNode extends AbstractUnaryNode implements DoubleParseTreeNode
-
-
Field Summary
Fields Modifier and Type Field Description (package private) DoubleParseTreeNode
argEvaluable
(package private) GroupNode
args
(package private) java.lang.String
fname
-
Fields inherited from class org.lemsml.jlems.core.expression.AbstractUnaryNode
right
-
-
Constructor Summary
Constructors Constructor Description FunctionNode(java.lang.String sf)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description double
call(double arg)
private void
checkArg()
void
claim()
void
doVisit(ExpressionVisitor ev)
static double
evaluate(double arg, java.lang.String fname)
Dimensional
evaluateDimensional(java.util.HashMap<java.lang.String,Dimensional> dhm)
Dimensional
getDimensionality(java.util.HashMap<java.lang.String,Dimensional> dimHM)
AbstractDVal
makeEvaluable(java.util.HashMap<java.lang.String,java.lang.Double> fixedHM)
void
replaceChild(Node nold, Node nnew)
void
substituteVariables(java.util.HashMap<java.lang.String,java.lang.String> varHM)
java.lang.String
toExpression()
java.lang.String
toString()
-
Methods inherited from class org.lemsml.jlems.core.expression.AbstractUnaryNode
claimRight, replaceSymbols
-
Methods inherited from class org.lemsml.jlems.core.expression.Node
deparent, detachNext, detachPrevious, dispose, isClose, isOpen, linkNext, next, parent, previous, remove, replaceNext, replacePrevious, replaceWith, setParent, siblingsToString
-
-
-
-
Field Detail
-
fname
java.lang.String fname
-
args
GroupNode args
-
argEvaluable
DoubleParseTreeNode argEvaluable
-
-
Method Detail
-
toExpression
public java.lang.String toExpression() throws ContentError
- Specified by:
toExpression
in interfaceDoubleParseTreeNode
- Specified by:
toExpression
in interfaceParseTreeNode
- Throws:
ContentError
-
claim
public void claim() throws ParseError
- Overrides:
claim
in classAbstractUnaryNode
- Throws:
ParseError
-
replaceChild
public void replaceChild(Node nold, Node nnew) throws ParseError
- Overrides:
replaceChild
in classNode
- Throws:
ParseError
-
call
public double call(double arg)
-
evaluate
public static double evaluate(double arg, java.lang.String fname)
-
checkArg
private void checkArg() throws ContentError
- Throws:
ContentError
-
makeEvaluable
public AbstractDVal makeEvaluable(java.util.HashMap<java.lang.String,java.lang.Double> fixedHM) throws ContentError
- Specified by:
makeEvaluable
in interfaceDoubleParseTreeNode
- Throws:
ContentError
-
getDimensionality
public Dimensional getDimensionality(java.util.HashMap<java.lang.String,Dimensional> dimHM) throws ContentError
- Specified by:
getDimensionality
in interfaceParseTreeNode
- Throws:
ContentError
-
evaluateDimensional
public Dimensional evaluateDimensional(java.util.HashMap<java.lang.String,Dimensional> dhm) throws ContentError
- Specified by:
evaluateDimensional
in interfaceParseTreeNode
- Throws:
ContentError
-
substituteVariables
public void substituteVariables(java.util.HashMap<java.lang.String,java.lang.String> varHM) throws ContentError
- Specified by:
substituteVariables
in interfaceParseTreeNode
- Throws:
ContentError
-
doVisit
public void doVisit(ExpressionVisitor ev) throws ContentError
- Specified by:
doVisit
in interfaceParseTreeNode
- Throws:
ContentError
-
-