public class TreeUtils extends java.lang.Object implements JepComponent
isConstant
test if its a constant. Many other is... methods.
Modifier | Constructor and Description |
---|---|
|
TreeUtils() |
|
TreeUtils(NumberFactory nf)
Stand alone constructor with supplied NumberFactory
|
protected |
TreeUtils(java.lang.Object zero,
java.lang.Object one,
java.lang.Object minus_one,
java.lang.Object two,
java.lang.Object pinf,
java.lang.Object ninf,
java.lang.Object nan)
Constructor when used as a Jep component.
|
Modifier and Type | Method and Description |
---|---|
static Node[] |
getChildrenAsArray(Node node)
returns the children of a node as an array of nodes.
|
java.lang.Object |
getCI()
Complex imaginary unit
|
java.lang.Object |
getCMinusI()
Complex minus i
|
java.lang.Object |
getCMinusOne()
Complex minus one
|
java.lang.Object |
getCOne()
Complex one
|
java.lang.Object |
getCZero()
Complex zero
|
java.lang.Object |
getFalse()
The value used to represent a False ASTconstant value.
|
int |
getIntValue(java.lang.Object val)
Value of an ASTConstant node cast to an Integer
should only be used if
isIntegerVal(Object) returns true. |
JepComponent |
getLightWeightInstance()
Gets a light-weight instance suitable for using in multiple threads.
|
java.lang.Object |
getMinusOne()
Number representing -1
|
java.lang.Object |
getNAN()
Number representing NaN
|
java.lang.Object |
getNegativeInfinity()
Number representing +Infty
|
java.lang.Object |
getOne()
Number representing one
|
java.lang.Object |
getPositiveInfinity()
Number representing +Infty
|
java.lang.Object |
getTrue()
The value used to represent a True ASTconstant value.
|
java.lang.Object |
getTwo()
Number representing two
|
java.lang.Object |
getZero()
Number representing zero
|
boolean |
hasInfinity()
Whether we have a working value for +/- Infinity
|
boolean |
hasNaN()
Whether we have a working value for NaN
|
void |
init(Jep jep)
Initialize the component.
|
int |
intValue(Node node)
Value of an ASTConstant node cast to an Integer
should only be used if isInteger returns true.
|
boolean |
isBinaryOperator(Node node)
Returns true if node represents a binary operator
|
boolean |
isComplex(Node node)
returns true if node is an ASTConstant of type Complex
|
boolean |
isComplexVal(java.lang.Object val)
Test a value for being complex.
|
boolean |
isConstant(Node node)
returns true if node is an ASTConstant
|
boolean |
isConstantVariable(Node node)
returns true if node is an ASTVarNode with a constant variable
|
boolean |
isFunction(Node node)
returns true if node is an ASTFunNode
|
boolean |
isInfinity(Node node)
returns true if node is a ASTConstant with a Infinite component
TODO do proper treatment of signed infinity
|
boolean |
isInfinityVal(java.lang.Object val)
Test a value for being infinite.
|
boolean |
isInteger(Node node)
return true is the node is an ASTConstant with a value which is integral like 1.0.
|
boolean |
isIntegerVal(java.lang.Object val)
Test a value for being an integer.
|
boolean |
isMinusOne(Node node)
returns true if node is a ASTConstant with value Double(-1) or Complex(-1,0)
|
boolean |
isMinusOneVal(java.lang.Object val)
Test a value for being minus one.
|
boolean |
isNaN(Node node)
returns true if node is a ASTConstant with a NaN component
|
boolean |
isNaNVal(java.lang.Object val)
Test a value for being NaN.
|
boolean |
isNegative(Node node)
returns true if node is an ASTConstant with a negative Double value
|
boolean |
isNegativeVal(java.lang.Object val)
Test a value for being negative.
|
boolean |
isOne(Node node)
returns true if node is a ASTConstant with value Double(1) or Complex(1,0)
|
boolean |
isOneVal(java.lang.Object val)
Test a value for being one.
|
boolean |
isOperator(Node node)
returns true if node is an ASTOpNode
|
boolean |
isPositive(Node node)
returns true if node is an ASTConstant with a positive Number value
|
boolean |
isPositiveVal(java.lang.Object val)
Test a value for being positive.
|
boolean |
isReal(Node node)
returns true if node is a ASTConstant with Number value
|
boolean |
isRealVal(java.lang.Object val) |
boolean |
isUnaryOperator(Node node)
Returns true if node represents a unary operator
|
boolean |
isVariable(Node node)
returns true if node is an ASTVarNode
|
boolean |
isZero(Node node)
returns true if node is a ASTConstant with value Double(0) or Complex(0,0)
|
boolean |
isZeroVal(java.lang.Object val)
Test a value for being zero.
|
static Node |
setChildrenIfNeeded(Node node,
Node[] children)
Sets the children of a node if they have changed for it current children.
|
public TreeUtils(NumberFactory nf)
nf
- public TreeUtils()
protected TreeUtils(java.lang.Object zero, java.lang.Object one, java.lang.Object minus_one, java.lang.Object two, java.lang.Object pinf, java.lang.Object ninf, java.lang.Object nan)
init(Jep)
methodpublic boolean isReal(Node node)
public boolean isRealVal(java.lang.Object val)
public boolean isZero(Node node)
public boolean isZeroVal(java.lang.Object val)
val
- value to testpublic boolean isOne(Node node)
public boolean isOneVal(java.lang.Object val)
val
- value to testpublic boolean isMinusOne(Node node)
public boolean isMinusOneVal(java.lang.Object val)
val
- value to testpublic boolean isInfinity(Node node)
public boolean isInfinityVal(java.lang.Object val)
val
- value to testpublic boolean isNaN(Node node)
public boolean isNaNVal(java.lang.Object val)
val
- value to testpublic boolean isNegative(Node node)
public boolean isNegativeVal(java.lang.Object val)
val
- value to testpublic boolean isPositive(Node node)
public boolean isPositiveVal(java.lang.Object val)
val
- value to testpublic boolean isComplex(Node node)
public boolean isComplexVal(java.lang.Object val)
val
- value to testpublic boolean isInteger(Node node)
public boolean isIntegerVal(java.lang.Object val)
val
- value to testpublic int intValue(Node node) throws EvaluationException
node
- EvaluationException
public int getIntValue(java.lang.Object val) throws EvaluationException
isIntegerVal(Object)
returns true.EvaluationException
public java.lang.Object getTrue()
public java.lang.Object getFalse()
public boolean isConstant(Node node)
public boolean isVariable(Node node)
public boolean isConstantVariable(Node node)
public boolean isOperator(Node node)
public boolean isBinaryOperator(Node node)
public boolean isUnaryOperator(Node node)
public boolean isFunction(Node node)
public static Node setChildrenIfNeeded(Node node, Node[] children) throws ParseException
ParseException
public static Node[] getChildrenAsArray(Node node)
public java.lang.Object getCI()
public java.lang.Object getCMinusI()
public java.lang.Object getCMinusOne()
public java.lang.Object getCOne()
public java.lang.Object getCZero()
public java.lang.Object getZero()
public java.lang.Object getOne()
public java.lang.Object getMinusOne()
public java.lang.Object getTwo()
public boolean hasNaN()
public boolean hasInfinity()
public java.lang.Object getNAN()
hasNaN()
returns falsepublic java.lang.Object getPositiveInfinity()
hasNaN()
returns falsepublic java.lang.Object getNegativeInfinity()
hasNaN()
returns falsepublic JepComponent getLightWeightInstance()
JepComponent
getLightWeightInstance
in interface JepComponent
public void init(Jep jep)
JepComponent
init
in interface JepComponent
jep
- the current Jep instanceCopyright © 2018 Singular Systems http://www.singularsys.com/jep