Package apron
Class Texpr1BinNode
java.lang.Object
apron.Texpr1Node
apron.Texpr1BinNode
- All Implemented Interfaces:
Serializable,Cloneable
Class of binary operator nodes in
Texpr1Node level 1
expression trees.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionLeft argument.intOperation (OP_ADD, etc.).static final intAddition.static final intDivision.static final intModulo (for integers or reals).static final intMultiplication.static final intPower.static final intSubtraction.Right argument.intRounding direction (Texpr1Node.RDIR_NEAREST, etc.).intRounding type (Texpr1Node.RTYPE_REAL, etc).Fields inherited from class apron.Texpr1Node
RDIR_DOWN, RDIR_NEAREST, RDIR_RND, RDIR_UP, RDIR_ZERO, RTYPE_DOUBLE, RTYPE_EXTENDED, RTYPE_INT, RTYPE_QUAD, RTYPE_REAL, RTYPE_SINGLE -
Constructor Summary
ConstructorsConstructorDescriptionTexpr1BinNode(int o, int rtyp, int rdi, Texpr1Node lAr, Texpr1Node rAr) Creates a new binary operator node, with the specified operator, rounding type, rounding direction, left and right arguments.Texpr1BinNode(int o, Texpr1Node lAr, Texpr1Node rAr) Creates a new binary operator node, with the specified operator, and left and right arguments, and no rounding. -
Method Summary
Modifier and TypeMethodDescriptiondeepCopy()Deep copy.booleanWhether x is a Texpr1 tree and structurally equal to this.protected voidUsed internally for getVars.intgetDepth()Returns the depth of the expression tree.intintPrecedence of the node, used when printing.intintintgetSize()Returns the number of internal nodes in the tree.inthashCode()Recursive hashing.booleanWhether the variable var occurs in the tree.booleanStructural (recursive) equality.booleanWhether the expression is constant.booleanWhether the expression is linear with interval or scalar coefficients, and there is no rounding.booleanWhether the expression is a polynomial fraction, with interval or scalar coefficients, and there is no rounding.booleanWhether the expression is polynomial, with interval or scalar coefficients, and there is no rounding.booleanisScalar()Whether all coefficients are scalar (non interval).voidvoidsetOperation(int o) voidvoidsetRoundingDirection(int d) voidsetRoundingType(int t) Shallow copy.substitute(Var var, Texpr1Node t) Substitutes all occurrences of the variable var with the tree t.toString()Converts the expression tree to a String.Converts the level 1 tree to a level 0 tree in the given environment.Methods inherited from class apron.Texpr1Node
clone, fromLinexpr1, getVars, hasVar, substitute, substituteCopy, substituteCopy
-
Field Details
-
op
public int opOperation (OP_ADD, etc.). -
rtype
public int rtypeRounding type (Texpr1Node.RTYPE_REAL, etc). -
rdir
public int rdirRounding direction (Texpr1Node.RDIR_NEAREST, etc.). -
lArg
Left argument. -
rArg
Right argument. -
OP_ADD
public static final int OP_ADDAddition.- See Also:
-
OP_SUB
public static final int OP_SUBSubtraction.- See Also:
-
OP_MUL
public static final int OP_MULMultiplication.- See Also:
-
OP_DIV
public static final int OP_DIVDivision.- See Also:
-
OP_MOD
public static final int OP_MODModulo (for integers or reals).- See Also:
-
OP_POW
public static final int OP_POWPower.- See Also:
-
-
Constructor Details
-
Texpr1BinNode
Creates a new binary operator node, with the specified operator, rounding type, rounding direction, left and right arguments.The subtree arguments are referenced, not copied.
-
Texpr1BinNode
Creates a new binary operator node, with the specified operator, and left and right arguments, and no rounding.The subtree arguments are referenced, not copied.
-
-
Method Details
-
shallowCopy
Description copied from class:Texpr1NodeShallow copy.- Specified by:
shallowCopyin classTexpr1Node
-
deepCopy
Description copied from class:Texpr1NodeDeep copy.- Specified by:
deepCopyin classTexpr1Node
-
toTexpr0Node
Description copied from class:Texpr1NodeConverts the level 1 tree to a level 0 tree in the given environment.- Specified by:
toTexpr0Nodein classTexpr1Node
-
toString
Description copied from class:Texpr1NodeConverts the expression tree to a String.- Specified by:
toStringin classTexpr1Node
-
getOperation
public int getOperation() -
setOperation
public void setOperation(int o) -
getRoundingType
public int getRoundingType() -
setRoundingType
public void setRoundingType(int t) -
getRoundingDirection
public int getRoundingDirection() -
setRoundingDirection
public void setRoundingDirection(int d) -
getLeftArgument
-
setLeftArgument
-
getRightArgument
-
setRightArgument
-
getDepth
public int getDepth()Description copied from class:Texpr1NodeReturns the depth of the expression tree.- Specified by:
getDepthin classTexpr1Node
-
getSize
public int getSize()Description copied from class:Texpr1NodeReturns the number of internal nodes in the tree.- Specified by:
getSizein classTexpr1Node
-
hasVar
Description copied from class:Texpr1NodeWhether the variable var occurs in the tree.- Specified by:
hasVarin classTexpr1Node
-
fillVars
Description copied from class:Texpr1NodeUsed internally for getVars.- Specified by:
fillVarsin classTexpr1Node
-
isIntervalCst
public boolean isIntervalCst()Description copied from class:Texpr1NodeWhether the expression is constant.- Specified by:
isIntervalCstin classTexpr1Node
-
isIntervalLinear
public boolean isIntervalLinear()Description copied from class:Texpr1NodeWhether the expression is linear with interval or scalar coefficients, and there is no rounding.- Specified by:
isIntervalLinearin classTexpr1Node
-
isIntervalPolynomial
public boolean isIntervalPolynomial()Description copied from class:Texpr1NodeWhether the expression is polynomial, with interval or scalar coefficients, and there is no rounding.- Specified by:
isIntervalPolynomialin classTexpr1Node
-
isIntervalPolyfrac
public boolean isIntervalPolyfrac()Description copied from class:Texpr1NodeWhether the expression is a polynomial fraction, with interval or scalar coefficients, and there is no rounding.- Specified by:
isIntervalPolyfracin classTexpr1Node
-
isScalar
public boolean isScalar()Description copied from class:Texpr1NodeWhether all coefficients are scalar (non interval).- Specified by:
isScalarin classTexpr1Node
-
substitute
Description copied from class:Texpr1NodeSubstitutes all occurrences of the variable var with the tree t.this is modified in-place.
As some nodes can change their kind (a node for a variable var becomes the root of the tree t), a new root node is returned.
- Specified by:
substitutein classTexpr1Node
-
hashCode
public int hashCode()Description copied from class:Texpr1NodeRecursive hashing.- Specified by:
hashCodein classTexpr1Node
-
isEqual
Description copied from class:Texpr1NodeStructural (recursive) equality.- Specified by:
isEqualin classTexpr1Node
-
getPrecedence
public int getPrecedence()Description copied from class:Texpr1NodePrecedence of the node, used when printing.- Specified by:
getPrecedencein classTexpr1Node
-
equals
Description copied from class:Texpr1NodeWhether x is a Texpr1 tree and structurally equal to this.- Specified by:
equalsin classTexpr1Node
-