SMTStabilizer API
Public API documentation for SMTStabilizer
Loading...
Searching...
No Matches
stabilizer::parser::DAGNode Class Reference

#include <dag.h>

Public Member Functions

 DAGNode (std::shared_ptr< Sort > sort, NODE_KIND kind, std::string name, std::vector< std::shared_ptr< DAGNode > > children)
 
 DAGNode (std::shared_ptr< Sort > sort, NODE_KIND kind, std::string name)
 
 DAGNode (std::shared_ptr< Sort > sort, NODE_KIND kind)
 
 DAGNode (std::shared_ptr< Sort > sort)
 
 DAGNode ()
 
 DAGNode (const DAGNode &other)
 
 DAGNode (NODE_KIND kind, std::string name)
 
 DAGNode (NODE_KIND kind)
 
 DAGNode (std::shared_ptr< Sort > sort, const Integer &v)
 
 DAGNode (std::shared_ptr< Sort > sort, const Real &v)
 
 DAGNode (std::shared_ptr< Sort > sort, const double &v)
 
 DAGNode (std::shared_ptr< Sort > sort, const int &v)
 
 DAGNode (std::shared_ptr< Sort > sort, const bool &v)
 
 DAGNode (const std::string &n)
 
void clear ()
 
bool operator== (const DAGNode elem)
 
bool operator!= (const DAGNode elem)
 
void replace_children (const std::vector< std::shared_ptr< DAGNode > > &new_children)
 
void setName (const std::string &n)
 
bool isLeaf () const
 
bool isInternal () const
 
bool isNull () const
 
bool isErr () const
 
bool isUnknown () const
 
bool isCBool () const
 
bool isTrue () const
 
bool isFalse () const
 
bool isConst () const
 
bool isNumeral () const
 
bool isCInt () const
 
bool isCReal () const
 
bool isCBV () const
 
bool isCFP () const
 
bool isCRoundingMode () const
 
bool isCStr () const
 
bool isAttribute () const
 
bool isAttributeParam () const
 
bool isVBool () const
 
bool isLiteral () const
 
bool isVInt () const
 
bool isVReal () const
 
bool isVBV () const
 
bool isVFP () const
 
bool isVRoundingMode () const
 
bool isVStr () const
 
bool isTempVar () const
 
bool isQuantVar () const
 
bool isLetBindVar () const
 
bool isPlaceholderVar () const
 
bool isVReg () const
 
bool isVar () const
 
bool isVUF () const
 
bool isUFName () const
 
bool isMax () const
 
bool isMin () const
 
bool isArray () const
 
bool isConstArray () const
 
bool isAnd () const
 
bool isOr () const
 
bool isNot () const
 
bool isImplies () const
 
bool isXor () const
 
bool isEqBool () const
 
bool isEqOther () const
 
bool isEq () const
 
bool isDistinctBool () const
 
bool isDistinctOther () const
 
bool isDistinct () const
 
bool isNeq () const
 
bool isUFApplication () const
 
bool isAdd () const
 
bool isSub () const
 
bool isMul () const
 
bool isNeg () const
 
bool isDivInt () const
 
bool isDivReal () const
 
bool isMod () const
 
bool isAbs () const
 
bool isCeil () const
 
bool isFloor () const
 
bool isRound () const
 
bool isArithOp () const
 
bool isIAnd () const
 
bool isPow2 () const
 
bool isPow () const
 
bool isSqrt () const
 
bool isSafeSqrt () const
 
bool isRealNonlinearOp () const
 
bool isExp () const
 
bool isLog () const
 
bool isLn () const
 
bool isLb () const
 
bool isLg () const
 
bool isSin () const
 
bool isCos () const
 
bool isSec () const
 
bool isCsc () const
 
bool isTan () const
 
bool isCot () const
 
bool isAsin () const
 
bool isAcos () const
 
bool isAsec () const
 
bool isAcsc () const
 
bool isAtan () const
 
bool isAcot () const
 
bool isSinh () const
 
bool isCosh () const
 
bool isTanh () const
 
bool isSech () const
 
bool isCsch () const
 
bool isCoth () const
 
bool isAsinh () const
 
bool isAcosh () const
 
bool isAtanh () const
 
bool isAsech () const
 
bool isAcsch () const
 
bool isAcoth () const
 
bool isAtan2 () const
 
bool isTranscendentalOp () const
 
bool isLe () const
 
bool isLt () const
 
bool isGe () const
 
bool isGt () const
 
bool isArithTerm () const
 
bool isArithComp () const
 
bool isToReal () const
 
bool isToInt () const
 
bool isArithConv () const
 
bool isInt () const
 
bool isDivisible () const
 
bool isPrime () const
 
bool isEven () const
 
bool isOdd () const
 
bool isArithProp () const
 
bool isPi () const
 
bool isE () const
 
bool isInfinity () const
 
bool isPosInfinity () const
 
bool isNegInfinity () const
 
bool isNaN () const
 
bool isEpsilon () const
 
bool isPosEpsilon () const
 
bool isNegEpsilon () const
 
bool isGcd () const
 
bool isLcm () const
 
bool isFact () const
 
bool isBVNot () const
 
bool isBVAnd () const
 
bool isBVOr () const
 
bool isBVXor () const
 
bool isBVNand () const
 
bool isBVNor () const
 
bool isBVXnor () const
 
bool isBVComp () const
 
bool isBVNeg () const
 
bool isBVAdd () const
 
bool isBVSub () const
 
bool isBVMul () const
 
bool isBVUDiv () const
 
bool isBVURem () const
 
bool isBVSDiv () const
 
bool isBVSRem () const
 
bool isBVUMod () const
 
bool isBVSMod () const
 
bool isBVNegO () const
 
bool isBVUAddO () const
 
bool isBVSAddO () const
 
bool isBVUMulO () const
 
bool isBVSMulO () const
 
bool isBVUDivO () const
 
bool isBVSDivO () const
 
bool isBVURemO () const
 
bool isBVSRemO () const
 
bool isBVUModO () const
 
bool isBVSModO () const
 
bool isBVShl () const
 
bool isBVLSHR () const
 
bool isBVASHR () const
 
bool isBVConcat () const
 
bool isBVExtract () const
 
bool isBVRepeat () const
 
bool isBVZeroExt () const
 
bool isBVSignExt () const
 
bool isBVRotLeft () const
 
bool isBVRotRight () const
 
bool isBVOp () const
 
bool isBVUlt () const
 
bool isBVUle () const
 
bool isBVUgt () const
 
bool isBVUge () const
 
bool isBVSlt () const
 
bool isBVSle () const
 
bool isBVSgt () const
 
bool isBVSge () const
 
bool isBVTerm () const
 
bool isBVCompOp () const
 
bool isBvAtom () const
 
bool isBVToNat () const
 
bool isNatToBV () const
 
bool isBVToInt () const
 
bool isUBVToInt () const
 
bool isSBVToInt () const
 
bool isIntToBV () const
 
bool isBVConv () const
 
bool isFPAdd () const
 
bool isFPSub () const
 
bool isFPMul () const
 
bool isFPDiv () const
 
bool isFPAbs () const
 
bool isFPNeg () const
 
bool isFPRem () const
 
bool isFPFMA () const
 
bool isFPSqrt () const
 
bool isFPRoundToIntegral () const
 
bool isFPRoToInt () const
 
bool isFPMin () const
 
bool isFPMax () const
 
bool isFPOp () const
 
bool isFPLe () const
 
bool isFPLt () const
 
bool isFPGe () const
 
bool isFPGt () const
 
bool isFPEq () const
 
bool isFPComp () const
 
bool isFPToUBV () const
 
bool isFPToSBV () const
 
bool isFPToReal () const
 
bool isToFP () const
 
bool isToFPUnsigned () const
 
bool isFPConv () const
 
bool isFPIsNormal () const
 
bool isFPIsSubnormal () const
 
bool isFPIsZero () const
 
bool isFPIsInf () const
 
bool isFPIsNaN () const
 
bool isFPIsNeg () const
 
bool isFPIsPos () const
 
bool isFPProp () const
 
bool isSelect () const
 
bool isStore () const
 
bool isArrayOp () const
 
bool isStrLen () const
 
bool isStrConcat () const
 
bool isStrSubstr () const
 
bool isStrPrefixof () const
 
bool isStrSuffixof () const
 
bool isStrIndexof () const
 
bool isStrCharat () const
 
bool isStrUpdate () const
 
bool isStrReplace () const
 
bool isStrReplaceAll () const
 
bool isStrToLower () const
 
bool isStrToUpper () const
 
bool isStrRev () const
 
bool isStrSplit () const
 
bool isStrSplitAt () const
 
bool isStrSplitRest () const
 
bool isStrNumSplits () const
 
bool isStrSplitAtRe () const
 
bool isStrSplitRestRe () const
 
bool isStrNumSplitsRe () const
 
bool isStrOp () const
 
bool isStrLt () const
 
bool isStrLe () const
 
bool isStrGt () const
 
bool isStrGe () const
 
bool isStrEq () const
 
bool isStrComp () const
 
bool isStrInReg () const
 
bool isStrContains () const
 
bool isStrIsDigit () const
 
bool isStrProp () const
 
bool isStrFromInt () const
 
bool isStrToInt () const
 
bool isStrToReg () const
 
bool isStrToCode () const
 
bool isStrFromCode () const
 
bool isStrConv () const
 
bool isRegNone () const
 
bool isRegAll () const
 
bool isRegAllChar () const
 
bool isRegConcat () const
 
bool isRegUnion () const
 
bool isRegInter () const
 
bool isRegDiff () const
 
bool isRegStar () const
 
bool isRegPlus () const
 
bool isRegOpt () const
 
bool isRegRange () const
 
bool isRegRepeat () const
 
bool isRegLoop () const
 
bool isRegComplement () const
 
bool isAtom () const
 
bool isLet () const
 
bool isLetChain () const
 
bool isLetBindVarList () const
 
bool isIte () const
 
bool isFuncDec () const
 
bool isFuncDef () const
 
bool isFuncRec () const
 
bool isFuncParam () const
 
bool isFuncApplication () const
 
bool isDtFunApplication () const
 
bool isFuncRecApplication () const
 
size_t getUseCount () const
 
void incUseCount ()
 
void decUseCount ()
 
std::string getPureName () const
 
std::string toString () const
 
std::shared_ptr< SortgetSort () const
 Get the sort of the node.
 
std::string getName () const
 Get the name of the node.
 
std::string rename (const std::string &new_name)
 Get the re-named name of the node.
 
NODE_KIND getKind () const
 Get the kind of the node.
 
std::shared_ptr< ValuegetValue () const
 Get the value of the node.
 
void setValue (std::shared_ptr< Value > v)
 Set the value of the node.
 
void setValue (const Integer &v)
 
void setValue (const Real &v)
 
void setValue (const double &v)
 
void setValue (const int &v)
 
void setValue (const Interval &v)
 
size_t getChildrenSize () const
 Get the number of children of the node.
 
std::vector< std::shared_ptr< DAGNode > > getChildren () const
 Get the children of the node.
 
std::shared_ptr< DAGNodegetChild (int i) const
 Get the child of the node.
 
std::shared_ptr< DAGNodegetFuncBody () const
 Get the body of the function.
 
std::vector< std::shared_ptr< DAGNode > > getFuncParams () const
 Get the parameters of the function.
 
size_t getFuncParamsSize () const
 Get the number of parameters of the function.
 
std::shared_ptr< DAGNodegetQuantBody () const
 Get the body of the quantifier.
 
std::vector< std::shared_ptr< DAGNode > > getQuantVars () const
 Get the variables of the quantifier.
 
bool isEquivalentTo (const std::shared_ptr< DAGNode > &other) const
 Check if the node is equivalent to another node.
 
bool isEquivalentTo (const DAGNode &other) const
 Check if the node is equivalent to another node.
 
std::size_t hashCode () const
 Get the hash code of the node.
 
void updateFuncDef (std::shared_ptr< Sort > out_sort, std::shared_ptr< DAGNode > body, const std::vector< std::shared_ptr< DAGNode > > &params, bool is_rec=false)
 Update the function definition.
 
void updateApplyFunc (std::shared_ptr< Sort > out_sort, std::shared_ptr< DAGNode > body, const std::vector< std::shared_ptr< DAGNode > > &params, bool is_rec=false)
 Update the function application.
 

Private Member Functions

bool isEquivalentTo (const DAGNode &other, std::unordered_set< std::pair< const DAGNode *, const DAGNode * >, PairNodePtrHash, PairNodePtrEqual > &visited) const
 

Private Attributes

std::shared_ptr< Sortsort
 
NODE_KIND kind
 
std::string name
 
std::shared_ptr< Valuevalue
 
std::vector< std::shared_ptr< DAGNode > > children
 
std::string children_hash
 
size_t cached_hash_code
 
bool hash_computed
 
size_t _use_count
 

Detailed Description

Definition at line 74 of file dag.h.

Constructor & Destructor Documentation

◆ DAGNode() [1/14]

stabilizer::parser::DAGNode::DAGNode ( std::shared_ptr< Sort sort,
NODE_KIND  kind,
std::string  name,
std::vector< std::shared_ptr< DAGNode > >  children 
)
inline

◆ DAGNode() [2/14]

stabilizer::parser::DAGNode::DAGNode ( std::shared_ptr< Sort sort,
NODE_KIND  kind,
std::string  name 
)
inline

◆ DAGNode() [3/14]

stabilizer::parser::DAGNode::DAGNode ( std::shared_ptr< Sort sort,
NODE_KIND  kind 
)
inline

◆ DAGNode() [4/14]

stabilizer::parser::DAGNode::DAGNode ( std::shared_ptr< Sort sort)
inline

◆ DAGNode() [5/14]

stabilizer::parser::DAGNode::DAGNode ( )
inline

Definition at line 157 of file dag.h.

References children_hash.

◆ DAGNode() [6/14]

stabilizer::parser::DAGNode::DAGNode ( const DAGNode other)
inline

Definition at line 161 of file dag.h.

◆ DAGNode() [7/14]

◆ DAGNode() [8/14]

stabilizer::parser::DAGNode::DAGNode ( NODE_KIND  kind)
inline

◆ DAGNode() [9/14]

stabilizer::parser::DAGNode::DAGNode ( std::shared_ptr< Sort sort,
const Integer v 
)
inline

◆ DAGNode() [10/14]

stabilizer::parser::DAGNode::DAGNode ( std::shared_ptr< Sort sort,
const Real v 
)
inline

◆ DAGNode() [11/14]

stabilizer::parser::DAGNode::DAGNode ( std::shared_ptr< Sort sort,
const double &  v 
)
inline

Definition at line 208 of file dag.h.

References _use_count, cached_hash_code, children_hash, hash_computed, and name.

◆ DAGNode() [12/14]

stabilizer::parser::DAGNode::DAGNode ( std::shared_ptr< Sort sort,
const int &  v 
)
inline

Definition at line 216 of file dag.h.

References _use_count, cached_hash_code, children_hash, hash_computed, and name.

◆ DAGNode() [13/14]

stabilizer::parser::DAGNode::DAGNode ( std::shared_ptr< Sort sort,
const bool &  v 
)
inline

Definition at line 224 of file dag.h.

References _use_count, cached_hash_code, children_hash, hash_computed, and name.

◆ DAGNode() [14/14]

Member Function Documentation

◆ clear()

void stabilizer::parser::DAGNode::clear ( )
inline

◆ decUseCount()

void stabilizer::parser::DAGNode::decUseCount ( )
inline

Definition at line 897 of file dag.h.

References _use_count.

◆ getChild()

std::shared_ptr< DAGNode > stabilizer::parser::DAGNode::getChild ( int  i) const
inline

Get the child of the node.

Parameters
iThe index of the child
Returns
The child of the node

Definition at line 987 of file dag.h.

References children.

Referenced by stabilizer::parser::dumpSMTLIB2_streaming(), getFuncParams(), getQuantVars(), isArithComp(), isBVCompOp(), isBVTerm(), isLiteral(), and isStrEq().

◆ getChildren()

std::vector< std::shared_ptr< DAGNode > > stabilizer::parser::DAGNode::getChildren ( ) const
inline

Get the children of the node.

Returns
The children of the node

Definition at line 977 of file dag.h.

References children.

Referenced by stabilizer::parser::dumpSMTLIB2_streaming().

◆ getChildrenSize()

size_t stabilizer::parser::DAGNode::getChildrenSize ( ) const
inline

Get the number of children of the node.

Returns
The number of children of the node

Definition at line 970 of file dag.h.

References children.

Referenced by stabilizer::parser::dumpSMTLIB2_streaming(), getFuncParams(), getFuncParamsSize(), getQuantVars(), and isStrEq().

◆ getFuncBody()

std::shared_ptr< DAGNode > stabilizer::parser::DAGNode::getFuncBody ( ) const
inline

Get the body of the function.

Returns
The body of the function

Definition at line 995 of file dag.h.

References children.

◆ getFuncParams()

std::vector< std::shared_ptr< DAGNode > > stabilizer::parser::DAGNode::getFuncParams ( ) const
inline

Get the parameters of the function.

Returns
The parameters of the function

Definition at line 1002 of file dag.h.

References getChild(), and getChildrenSize().

◆ getFuncParamsSize()

size_t stabilizer::parser::DAGNode::getFuncParamsSize ( ) const
inline

Get the number of parameters of the function.

Returns
The number of parameters of the function

Definition at line 1015 of file dag.h.

References getChildrenSize().

◆ getKind()

NODE_KIND stabilizer::parser::DAGNode::getKind ( ) const
inline

Get the kind of the node.

Returns
The kind of the node

Definition at line 939 of file dag.h.

References kind.

Referenced by stabilizer::parser::dumpSMTLIB2_streaming().

◆ getName()

std::string stabilizer::parser::DAGNode::getName ( ) const
inline

Get the name of the node.

Returns
The name of the node

Definition at line 921 of file dag.h.

References name.

Referenced by stabilizer::parser::dumpSMTLIB2_streaming().

◆ getPureName()

std::string stabilizer::parser::DAGNode::getPureName ( ) const
inline

◆ getQuantBody()

std::shared_ptr< DAGNode > stabilizer::parser::DAGNode::getQuantBody ( ) const
inline

Get the body of the quantifier.

Returns
The body of the quantifier

Definition at line 1023 of file dag.h.

References children.

◆ getQuantVars()

std::vector< std::shared_ptr< DAGNode > > stabilizer::parser::DAGNode::getQuantVars ( ) const
inline

Get the variables of the quantifier.

Returns
The variables of the quantifier

Definition at line 1030 of file dag.h.

References getChild(), and getChildrenSize().

◆ getSort()

std::shared_ptr< Sort > stabilizer::parser::DAGNode::getSort ( ) const
inline

Get the sort of the node.

Returns
The sort of the node

Definition at line 915 of file dag.h.

References sort.

Referenced by stabilizer::parser::dumpSMTLIB2_streaming().

◆ getUseCount()

size_t stabilizer::parser::DAGNode::getUseCount ( ) const
inline

Definition at line 895 of file dag.h.

References _use_count.

◆ getValue()

std::shared_ptr< Value > stabilizer::parser::DAGNode::getValue ( ) const
inline

Get the value of the node.

Returns
The value of the node

Definition at line 946 of file dag.h.

References value.

◆ hashCode()

std::size_t stabilizer::parser::DAGNode::hashCode ( ) const
inline

Get the hash code of the node.

Returns
The hash code of the node

Definition at line 1068 of file dag.h.

References cached_hash_code, children, children_hash, hash_computed, kind, name, and sort.

◆ incUseCount()

void stabilizer::parser::DAGNode::incUseCount ( )
inline

Definition at line 896 of file dag.h.

References _use_count.

◆ isAbs()

bool stabilizer::parser::DAGNode::isAbs ( ) const
inline

Definition at line 497 of file dag.h.

References kind, and stabilizer::parser::NT_ABS.

Referenced by isArithOp().

◆ isAcos()

bool stabilizer::parser::DAGNode::isAcos ( ) const
inline

Definition at line 528 of file dag.h.

References kind, and stabilizer::parser::NT_ACOS.

Referenced by isTranscendentalOp().

◆ isAcosh()

bool stabilizer::parser::DAGNode::isAcosh ( ) const
inline

Definition at line 540 of file dag.h.

References kind, and stabilizer::parser::NT_ACOSH.

Referenced by isTranscendentalOp().

◆ isAcot()

bool stabilizer::parser::DAGNode::isAcot ( ) const
inline

Definition at line 532 of file dag.h.

References kind, and stabilizer::parser::NT_ACOT.

Referenced by isTranscendentalOp().

◆ isAcoth()

bool stabilizer::parser::DAGNode::isAcoth ( ) const
inline

Definition at line 544 of file dag.h.

References kind, and stabilizer::parser::NT_ACOTH.

Referenced by isTranscendentalOp().

◆ isAcsc()

bool stabilizer::parser::DAGNode::isAcsc ( ) const
inline

Definition at line 530 of file dag.h.

References kind, and stabilizer::parser::NT_ACSC.

Referenced by isTranscendentalOp().

◆ isAcsch()

bool stabilizer::parser::DAGNode::isAcsch ( ) const
inline

Definition at line 543 of file dag.h.

References kind, and stabilizer::parser::NT_ACSCH.

Referenced by isTranscendentalOp().

◆ isAdd()

bool stabilizer::parser::DAGNode::isAdd ( ) const
inline

Definition at line 490 of file dag.h.

References kind, and stabilizer::parser::NT_ADD.

Referenced by isArithOp().

◆ isAnd()

bool stabilizer::parser::DAGNode::isAnd ( ) const
inline

Definition at line 464 of file dag.h.

References kind, and stabilizer::parser::NT_AND.

◆ isArithComp()

bool stabilizer::parser::DAGNode::isArithComp ( ) const
inline

Definition at line 567 of file dag.h.

References getChild(), isArithTerm(), isDistinct(), isEq(), isGe(), isGt(), isLe(), and isLt().

Referenced by isAtom().

◆ isArithConv()

bool stabilizer::parser::DAGNode::isArithConv ( ) const
inline

Definition at line 576 of file dag.h.

References isToInt(), and isToReal().

Referenced by isArithTerm().

◆ isArithOp()

bool stabilizer::parser::DAGNode::isArithOp ( ) const
inline

Definition at line 501 of file dag.h.

References isAbs(), isAdd(), isCeil(), isDivInt(), isDivReal(), isFloor(), isMod(), isMul(), isNeg(), isRound(), and isSub().

Referenced by isArithTerm().

◆ isArithProp()

bool stabilizer::parser::DAGNode::isArithProp ( ) const
inline

Definition at line 584 of file dag.h.

References isDivisible(), isEven(), isInt(), isOdd(), and isPrime().

Referenced by isAtom().

◆ isArithTerm()

bool stabilizer::parser::DAGNode::isArithTerm ( ) const
inline

◆ isArray()

bool stabilizer::parser::DAGNode::isArray ( ) const
inline

◆ isArrayOp()

bool stabilizer::parser::DAGNode::isArrayOp ( ) const
inline

Definition at line 768 of file dag.h.

References isSelect(), isStore(), isUFApplication(), and sort.

◆ isAsec()

bool stabilizer::parser::DAGNode::isAsec ( ) const
inline

Definition at line 529 of file dag.h.

References kind, and stabilizer::parser::NT_ASEC.

Referenced by isTranscendentalOp().

◆ isAsech()

bool stabilizer::parser::DAGNode::isAsech ( ) const
inline

Definition at line 542 of file dag.h.

References kind, and stabilizer::parser::NT_ASECH.

Referenced by isTranscendentalOp().

◆ isAsin()

bool stabilizer::parser::DAGNode::isAsin ( ) const
inline

Definition at line 527 of file dag.h.

References kind, and stabilizer::parser::NT_ASIN.

Referenced by isTranscendentalOp().

◆ isAsinh()

bool stabilizer::parser::DAGNode::isAsinh ( ) const
inline

Definition at line 539 of file dag.h.

References kind, and stabilizer::parser::NT_ASINH.

Referenced by isTranscendentalOp().

◆ isAtan()

bool stabilizer::parser::DAGNode::isAtan ( ) const
inline

Definition at line 531 of file dag.h.

References kind, and stabilizer::parser::NT_ATAN.

Referenced by isTranscendentalOp().

◆ isAtan2()

bool stabilizer::parser::DAGNode::isAtan2 ( ) const
inline

Definition at line 545 of file dag.h.

References kind, and stabilizer::parser::NT_ATAN2.

Referenced by isTranscendentalOp().

◆ isAtanh()

bool stabilizer::parser::DAGNode::isAtanh ( ) const
inline

Definition at line 541 of file dag.h.

References kind, and stabilizer::parser::NT_ATANH.

Referenced by isTranscendentalOp().

◆ isAtom()

bool stabilizer::parser::DAGNode::isAtom ( ) const
inline

◆ isAttribute()

bool stabilizer::parser::DAGNode::isAttribute ( ) const
inline

◆ isAttributeParam()

bool stabilizer::parser::DAGNode::isAttributeParam ( ) const
inline

◆ isBVAdd()

bool stabilizer::parser::DAGNode::isBVAdd ( ) const
inline

Definition at line 625 of file dag.h.

References kind, and stabilizer::parser::NT_BV_ADD.

Referenced by isBVOp().

◆ isBVAnd()

bool stabilizer::parser::DAGNode::isBVAnd ( ) const
inline

Definition at line 616 of file dag.h.

References kind, and stabilizer::parser::NT_BV_AND.

Referenced by isBVOp().

◆ isBVASHR()

bool stabilizer::parser::DAGNode::isBVASHR ( ) const
inline

Definition at line 649 of file dag.h.

References kind, and stabilizer::parser::NT_BV_ASHR.

Referenced by isBVOp().

◆ isBvAtom()

bool stabilizer::parser::DAGNode::isBvAtom ( ) const
inline

Definition at line 688 of file dag.h.

References isBVCompOp().

◆ isBVComp()

bool stabilizer::parser::DAGNode::isBVComp ( ) const
inline

Definition at line 622 of file dag.h.

References kind, and stabilizer::parser::NT_BV_COMP.

◆ isBVCompOp()

bool stabilizer::parser::DAGNode::isBVCompOp ( ) const
inline

Definition at line 682 of file dag.h.

References getChild(), isBVSge(), isBVSgt(), isBVSle(), isBVSlt(), isBVTerm(), isBVUge(), isBVUgt(), isBVUle(), isBVUlt(), isDistinct(), and isEq().

Referenced by isAtom(), and isBvAtom().

◆ isBVConcat()

bool stabilizer::parser::DAGNode::isBVConcat ( ) const
inline

Definition at line 650 of file dag.h.

References kind, and stabilizer::parser::NT_BV_CONCAT.

Referenced by isBVOp().

◆ isBVConv()

bool stabilizer::parser::DAGNode::isBVConv ( ) const
inline

Definition at line 697 of file dag.h.

References isBVToInt(), isBVToNat(), isIntToBV(), and isNatToBV().

◆ isBVExtract()

bool stabilizer::parser::DAGNode::isBVExtract ( ) const
inline

Definition at line 651 of file dag.h.

References kind, and stabilizer::parser::NT_BV_EXTRACT.

Referenced by isBVOp().

◆ isBVLSHR()

bool stabilizer::parser::DAGNode::isBVLSHR ( ) const
inline

Definition at line 648 of file dag.h.

References kind, and stabilizer::parser::NT_BV_LSHR.

Referenced by isBVOp().

◆ isBVMul()

bool stabilizer::parser::DAGNode::isBVMul ( ) const
inline

Definition at line 627 of file dag.h.

References kind, and stabilizer::parser::NT_BV_MUL.

Referenced by isBVOp().

◆ isBVNand()

bool stabilizer::parser::DAGNode::isBVNand ( ) const
inline

Definition at line 619 of file dag.h.

References kind, and stabilizer::parser::NT_BV_NAND.

Referenced by isBVOp().

◆ isBVNeg()

bool stabilizer::parser::DAGNode::isBVNeg ( ) const
inline

Definition at line 624 of file dag.h.

References kind, and stabilizer::parser::NT_BV_NEG.

◆ isBVNegO()

bool stabilizer::parser::DAGNode::isBVNegO ( ) const
inline

Definition at line 635 of file dag.h.

References kind, and stabilizer::parser::NT_BV_NEGO.

◆ isBVNor()

bool stabilizer::parser::DAGNode::isBVNor ( ) const
inline

Definition at line 620 of file dag.h.

References kind, and stabilizer::parser::NT_BV_NOR.

Referenced by isBVOp().

◆ isBVNot()

bool stabilizer::parser::DAGNode::isBVNot ( ) const
inline

Definition at line 615 of file dag.h.

References kind, and stabilizer::parser::NT_BV_NOT.

Referenced by isBVOp().

◆ isBVOp()

◆ isBVOr()

bool stabilizer::parser::DAGNode::isBVOr ( ) const
inline

Definition at line 617 of file dag.h.

References kind, and stabilizer::parser::NT_BV_OR.

Referenced by isBVOp().

◆ isBVRepeat()

bool stabilizer::parser::DAGNode::isBVRepeat ( ) const
inline

Definition at line 652 of file dag.h.

References kind, and stabilizer::parser::NT_BV_REPEAT.

Referenced by isBVOp().

◆ isBVRotLeft()

bool stabilizer::parser::DAGNode::isBVRotLeft ( ) const
inline

Definition at line 655 of file dag.h.

References kind, and stabilizer::parser::NT_BV_ROTATE_LEFT.

Referenced by isBVOp().

◆ isBVRotRight()

bool stabilizer::parser::DAGNode::isBVRotRight ( ) const
inline

Definition at line 656 of file dag.h.

References kind, and stabilizer::parser::NT_BV_ROTATE_RIGHT.

Referenced by isBVOp().

◆ isBVSAddO()

bool stabilizer::parser::DAGNode::isBVSAddO ( ) const
inline

Definition at line 637 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SADDO.

◆ isBVSDiv()

bool stabilizer::parser::DAGNode::isBVSDiv ( ) const
inline

Definition at line 630 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SDIV.

Referenced by isBVOp().

◆ isBVSDivO()

bool stabilizer::parser::DAGNode::isBVSDivO ( ) const
inline

Definition at line 641 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SDIVO.

◆ isBVSge()

bool stabilizer::parser::DAGNode::isBVSge ( ) const
inline

Definition at line 674 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SGE.

Referenced by isBVCompOp().

◆ isBVSgt()

bool stabilizer::parser::DAGNode::isBVSgt ( ) const
inline

Definition at line 673 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SGT.

Referenced by isBVCompOp().

◆ isBVShl()

bool stabilizer::parser::DAGNode::isBVShl ( ) const
inline

Definition at line 647 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SHL.

Referenced by isBVOp().

◆ isBVSignExt()

bool stabilizer::parser::DAGNode::isBVSignExt ( ) const
inline

Definition at line 654 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SIGN_EXT.

Referenced by isBVOp().

◆ isBVSle()

bool stabilizer::parser::DAGNode::isBVSle ( ) const
inline

Definition at line 672 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SLE.

Referenced by isBVCompOp().

◆ isBVSlt()

bool stabilizer::parser::DAGNode::isBVSlt ( ) const
inline

Definition at line 671 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SLT.

Referenced by isBVCompOp().

◆ isBVSMod()

bool stabilizer::parser::DAGNode::isBVSMod ( ) const
inline

Definition at line 633 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SMOD.

Referenced by isBVOp().

◆ isBVSModO()

bool stabilizer::parser::DAGNode::isBVSModO ( ) const
inline

Definition at line 645 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SMODO.

◆ isBVSMulO()

bool stabilizer::parser::DAGNode::isBVSMulO ( ) const
inline

Definition at line 639 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SMULO.

◆ isBVSRem()

bool stabilizer::parser::DAGNode::isBVSRem ( ) const
inline

Definition at line 631 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SREM.

Referenced by isBVOp().

◆ isBVSRemO()

bool stabilizer::parser::DAGNode::isBVSRemO ( ) const
inline

Definition at line 643 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SREMO.

◆ isBVSub()

bool stabilizer::parser::DAGNode::isBVSub ( ) const
inline

Definition at line 626 of file dag.h.

References kind, and stabilizer::parser::NT_BV_SUB.

Referenced by isBVOp().

◆ isBVTerm()

bool stabilizer::parser::DAGNode::isBVTerm ( ) const
inline

Definition at line 675 of file dag.h.

References getChild(), isBVOp(), isBVTerm(), isCBV(), isConst(), isIte(), isMax(), isMin(), isUFApplication(), isVar(), isVBV(), and sort.

Referenced by isBVCompOp(), and isBVTerm().

◆ isBVToInt()

bool stabilizer::parser::DAGNode::isBVToInt ( ) const
inline

Definition at line 693 of file dag.h.

References kind, and stabilizer::parser::NT_BV_TO_INT.

Referenced by isBVConv().

◆ isBVToNat()

bool stabilizer::parser::DAGNode::isBVToNat ( ) const
inline

Definition at line 691 of file dag.h.

References kind, and stabilizer::parser::NT_BV_TO_NAT.

Referenced by isBVConv().

◆ isBVUAddO()

bool stabilizer::parser::DAGNode::isBVUAddO ( ) const
inline

Definition at line 636 of file dag.h.

References kind, and stabilizer::parser::NT_BV_UADDO.

◆ isBVUDiv()

bool stabilizer::parser::DAGNode::isBVUDiv ( ) const
inline

Definition at line 628 of file dag.h.

References kind, and stabilizer::parser::NT_BV_UDIV.

Referenced by isBVOp().

◆ isBVUDivO()

bool stabilizer::parser::DAGNode::isBVUDivO ( ) const
inline

Definition at line 640 of file dag.h.

References kind, and stabilizer::parser::NT_BV_UDIVO.

◆ isBVUge()

bool stabilizer::parser::DAGNode::isBVUge ( ) const
inline

Definition at line 670 of file dag.h.

References kind, and stabilizer::parser::NT_BV_UGE.

Referenced by isBVCompOp().

◆ isBVUgt()

bool stabilizer::parser::DAGNode::isBVUgt ( ) const
inline

Definition at line 669 of file dag.h.

References kind, and stabilizer::parser::NT_BV_UGT.

Referenced by isBVCompOp().

◆ isBVUle()

bool stabilizer::parser::DAGNode::isBVUle ( ) const
inline

Definition at line 668 of file dag.h.

References kind, and stabilizer::parser::NT_BV_ULE.

Referenced by isBVCompOp().

◆ isBVUlt()

bool stabilizer::parser::DAGNode::isBVUlt ( ) const
inline

Definition at line 667 of file dag.h.

References kind, and stabilizer::parser::NT_BV_ULT.

Referenced by isBVCompOp().

◆ isBVUMod()

bool stabilizer::parser::DAGNode::isBVUMod ( ) const
inline

Definition at line 632 of file dag.h.

References kind, and stabilizer::parser::NT_BV_UMOD.

◆ isBVUModO()

bool stabilizer::parser::DAGNode::isBVUModO ( ) const
inline

Definition at line 644 of file dag.h.

References kind, and stabilizer::parser::NT_BV_UMODO.

◆ isBVUMulO()

bool stabilizer::parser::DAGNode::isBVUMulO ( ) const
inline

Definition at line 638 of file dag.h.

References kind, and stabilizer::parser::NT_BV_UMULO.

◆ isBVURem()

bool stabilizer::parser::DAGNode::isBVURem ( ) const
inline

Definition at line 629 of file dag.h.

References kind, and stabilizer::parser::NT_BV_UREM.

Referenced by isBVOp().

◆ isBVURemO()

bool stabilizer::parser::DAGNode::isBVURemO ( ) const
inline

Definition at line 642 of file dag.h.

References kind, and stabilizer::parser::NT_BV_UREMO.

◆ isBVXnor()

bool stabilizer::parser::DAGNode::isBVXnor ( ) const
inline

Definition at line 621 of file dag.h.

References kind, and stabilizer::parser::NT_BV_XNOR.

Referenced by isBVOp().

◆ isBVXor()

bool stabilizer::parser::DAGNode::isBVXor ( ) const
inline

Definition at line 618 of file dag.h.

References kind, and stabilizer::parser::NT_BV_XOR.

Referenced by isBVOp().

◆ isBVZeroExt()

bool stabilizer::parser::DAGNode::isBVZeroExt ( ) const
inline

Definition at line 653 of file dag.h.

References kind, and stabilizer::parser::NT_BV_ZERO_EXT.

Referenced by isBVOp().

◆ isCBool()

bool stabilizer::parser::DAGNode::isCBool ( ) const
inline

Definition at line 331 of file dag.h.

References kind, stabilizer::parser::NT_CONST_FALSE, stabilizer::parser::NT_CONST_TRUE, and sort.

Referenced by isLiteral().

◆ isCBV()

bool stabilizer::parser::DAGNode::isCBV ( ) const
inline

Definition at line 359 of file dag.h.

References isConst(), and sort.

Referenced by isBVTerm().

◆ isCeil()

bool stabilizer::parser::DAGNode::isCeil ( ) const
inline

Definition at line 498 of file dag.h.

References kind, and stabilizer::parser::NT_CEIL.

Referenced by isArithOp().

◆ isCFP()

bool stabilizer::parser::DAGNode::isCFP ( ) const
inline

Definition at line 360 of file dag.h.

References isConst(), and sort.

◆ isCInt()

bool stabilizer::parser::DAGNode::isCInt ( ) const
inline

Definition at line 353 of file dag.h.

References isConst(), and sort.

Referenced by isArithTerm(), and isNumeral().

◆ isConst()

◆ isConstArray()

bool stabilizer::parser::DAGNode::isConstArray ( ) const
inline

Definition at line 461 of file dag.h.

References kind, and stabilizer::parser::NT_CONST_ARRAY.

◆ isCos()

bool stabilizer::parser::DAGNode::isCos ( ) const
inline

Definition at line 522 of file dag.h.

References kind, and stabilizer::parser::NT_COS.

Referenced by isTranscendentalOp().

◆ isCosh()

bool stabilizer::parser::DAGNode::isCosh ( ) const
inline

Definition at line 534 of file dag.h.

References kind, and stabilizer::parser::NT_COSH.

Referenced by isTranscendentalOp().

◆ isCot()

bool stabilizer::parser::DAGNode::isCot ( ) const
inline

Definition at line 526 of file dag.h.

References kind, and stabilizer::parser::NT_COT.

Referenced by isTranscendentalOp().

◆ isCoth()

bool stabilizer::parser::DAGNode::isCoth ( ) const
inline

Definition at line 538 of file dag.h.

References kind, and stabilizer::parser::NT_COTH.

Referenced by isTranscendentalOp().

◆ isCReal()

bool stabilizer::parser::DAGNode::isCReal ( ) const
inline

Definition at line 356 of file dag.h.

References isConst(), and sort.

Referenced by isArithTerm(), and isNumeral().

◆ isCRoundingMode()

bool stabilizer::parser::DAGNode::isCRoundingMode ( ) const
inline

Definition at line 361 of file dag.h.

References isConst(), and sort.

◆ isCsc()

bool stabilizer::parser::DAGNode::isCsc ( ) const
inline

Definition at line 524 of file dag.h.

References kind, and stabilizer::parser::NT_CSC.

Referenced by isTranscendentalOp().

◆ isCsch()

bool stabilizer::parser::DAGNode::isCsch ( ) const
inline

Definition at line 537 of file dag.h.

References kind, and stabilizer::parser::NT_CSCH.

Referenced by isTranscendentalOp().

◆ isCStr()

bool stabilizer::parser::DAGNode::isCStr ( ) const
inline

Definition at line 362 of file dag.h.

References isConst(), and sort.

Referenced by isStrEq().

◆ isDistinct()

bool stabilizer::parser::DAGNode::isDistinct ( ) const
inline

Definition at line 480 of file dag.h.

References isDistinctBool(), isDistinctOther(), kind, and stabilizer::parser::NT_DISTINCT.

Referenced by isArithComp(), isBVCompOp(), and isNeq().

◆ isDistinctBool()

bool stabilizer::parser::DAGNode::isDistinctBool ( ) const
inline

Definition at line 476 of file dag.h.

References kind, and stabilizer::parser::NT_DISTINCT_BOOL.

Referenced by isDistinct().

◆ isDistinctOther()

bool stabilizer::parser::DAGNode::isDistinctOther ( ) const
inline

Definition at line 477 of file dag.h.

References kind, and stabilizer::parser::NT_DISTINCT_OTHER.

Referenced by isDistinct().

◆ isDivInt()

bool stabilizer::parser::DAGNode::isDivInt ( ) const
inline

Definition at line 494 of file dag.h.

References kind, and stabilizer::parser::NT_DIV_INT.

Referenced by isArithOp().

◆ isDivisible()

bool stabilizer::parser::DAGNode::isDivisible ( ) const
inline

Definition at line 580 of file dag.h.

References kind, and stabilizer::parser::NT_IS_DIVISIBLE.

Referenced by isArithProp().

◆ isDivReal()

bool stabilizer::parser::DAGNode::isDivReal ( ) const
inline

Definition at line 495 of file dag.h.

References kind, and stabilizer::parser::NT_DIV_REAL.

Referenced by isArithOp().

◆ isDtFunApplication()

bool stabilizer::parser::DAGNode::isDtFunApplication ( ) const
inline

Definition at line 887 of file dag.h.

References kind, and stabilizer::parser::NT_DT_FUN_APPLY.

◆ isE()

bool stabilizer::parser::DAGNode::isE ( ) const
inline

Definition at line 590 of file dag.h.

References kind, and stabilizer::parser::NT_CONST_E.

◆ isEpsilon()

bool stabilizer::parser::DAGNode::isEpsilon ( ) const
inline

◆ isEq()

bool stabilizer::parser::DAGNode::isEq ( ) const
inline

Definition at line 473 of file dag.h.

References isEqBool(), isEqOther(), kind, and stabilizer::parser::NT_EQ.

Referenced by isArithComp(), isBVCompOp(), and isStrEq().

◆ isEqBool()

bool stabilizer::parser::DAGNode::isEqBool ( ) const
inline

Definition at line 471 of file dag.h.

References kind, and stabilizer::parser::NT_EQ_BOOL.

Referenced by isEq().

◆ isEqOther()

bool stabilizer::parser::DAGNode::isEqOther ( ) const
inline

Definition at line 472 of file dag.h.

References kind, and stabilizer::parser::NT_EQ_OTHER.

Referenced by isEq().

◆ isEquivalentTo() [1/3]

bool stabilizer::parser::DAGNode::isEquivalentTo ( const DAGNode other) const
inline

Check if the node is equivalent to another node.

Parameters
otherThe other node
Returns
True if the node is equivalent to the other node, false otherwise

Definition at line 1055 of file dag.h.

References isEquivalentTo().

◆ isEquivalentTo() [2/3]

bool stabilizer::parser::DAGNode::isEquivalentTo ( const DAGNode other,
std::unordered_set< std::pair< const DAGNode *, const DAGNode * >, PairNodePtrHash, PairNodePtrEqual > &  visited 
) const
inlineprivate

Definition at line 1127 of file dag.h.

References children, children_hash, isEquivalentTo(), kind, name, and sort.

◆ isEquivalentTo() [3/3]

bool stabilizer::parser::DAGNode::isEquivalentTo ( const std::shared_ptr< DAGNode > &  other) const
inline

Check if the node is equivalent to another node.

Parameters
otherThe other node
Returns
True if the node is equivalent to the other node, false otherwise

Definition at line 1045 of file dag.h.

References isEquivalentTo().

Referenced by isEquivalentTo(), isEquivalentTo(), and isEquivalentTo().

◆ isErr()

bool stabilizer::parser::DAGNode::isErr ( ) const
inline

Definition at line 325 of file dag.h.

References kind, and stabilizer::parser::NT_ERROR.

◆ isEven()

bool stabilizer::parser::DAGNode::isEven ( ) const
inline

Definition at line 582 of file dag.h.

References kind, and stabilizer::parser::NT_IS_EVEN.

Referenced by isArithProp().

◆ isExp()

bool stabilizer::parser::DAGNode::isExp ( ) const
inline

Definition at line 516 of file dag.h.

References kind, and stabilizer::parser::NT_EXP.

Referenced by isTranscendentalOp().

◆ isFact()

bool stabilizer::parser::DAGNode::isFact ( ) const
inline

Definition at line 613 of file dag.h.

References kind, and stabilizer::parser::NT_FACT.

◆ isFalse()

bool stabilizer::parser::DAGNode::isFalse ( ) const
inline

Definition at line 339 of file dag.h.

References kind, stabilizer::parser::NT_CONST_FALSE, and sort.

◆ isFloor()

bool stabilizer::parser::DAGNode::isFloor ( ) const
inline

Definition at line 499 of file dag.h.

References kind, and stabilizer::parser::NT_FLOOR.

Referenced by isArithOp().

◆ isFPAbs()

bool stabilizer::parser::DAGNode::isFPAbs ( ) const
inline

Definition at line 706 of file dag.h.

References kind, and stabilizer::parser::NT_FP_ABS.

Referenced by isFPOp().

◆ isFPAdd()

bool stabilizer::parser::DAGNode::isFPAdd ( ) const
inline

Definition at line 702 of file dag.h.

References kind, and stabilizer::parser::NT_FP_ADD.

Referenced by isFPOp().

◆ isFPComp()

bool stabilizer::parser::DAGNode::isFPComp ( ) const
inline

Definition at line 732 of file dag.h.

References isFPEq(), isFPGe(), isFPGt(), isFPLe(), and isFPLt().

Referenced by isAtom().

◆ isFPConv()

bool stabilizer::parser::DAGNode::isFPConv ( ) const
inline

Definition at line 745 of file dag.h.

References isFPToReal(), isFPToSBV(), isFPToUBV(), isToFP(), and isToFPUnsigned().

◆ isFPDiv()

bool stabilizer::parser::DAGNode::isFPDiv ( ) const
inline

Definition at line 705 of file dag.h.

References kind, and stabilizer::parser::NT_FP_DIV.

Referenced by isFPOp().

◆ isFPEq()

bool stabilizer::parser::DAGNode::isFPEq ( ) const
inline

Definition at line 731 of file dag.h.

References kind, and stabilizer::parser::NT_FP_EQ.

Referenced by isFPComp().

◆ isFPFMA()

bool stabilizer::parser::DAGNode::isFPFMA ( ) const
inline

Definition at line 709 of file dag.h.

References kind, and stabilizer::parser::NT_FP_FMA.

Referenced by isFPOp().

◆ isFPGe()

bool stabilizer::parser::DAGNode::isFPGe ( ) const
inline

Definition at line 729 of file dag.h.

References kind, and stabilizer::parser::NT_FP_GE.

Referenced by isFPComp().

◆ isFPGt()

bool stabilizer::parser::DAGNode::isFPGt ( ) const
inline

Definition at line 730 of file dag.h.

References kind, and stabilizer::parser::NT_FP_GT.

Referenced by isFPComp().

◆ isFPIsInf()

bool stabilizer::parser::DAGNode::isFPIsInf ( ) const
inline

Definition at line 756 of file dag.h.

References kind, and stabilizer::parser::NT_FP_IS_INF.

Referenced by isFPProp().

◆ isFPIsNaN()

bool stabilizer::parser::DAGNode::isFPIsNaN ( ) const
inline

Definition at line 757 of file dag.h.

References kind, and stabilizer::parser::NT_FP_IS_NAN.

Referenced by isFPProp().

◆ isFPIsNeg()

bool stabilizer::parser::DAGNode::isFPIsNeg ( ) const
inline

Definition at line 758 of file dag.h.

References kind, and stabilizer::parser::NT_FP_IS_NEG.

Referenced by isFPProp().

◆ isFPIsNormal()

bool stabilizer::parser::DAGNode::isFPIsNormal ( ) const
inline

Definition at line 751 of file dag.h.

References kind, and stabilizer::parser::NT_FP_IS_NORMAL.

Referenced by isFPProp().

◆ isFPIsPos()

bool stabilizer::parser::DAGNode::isFPIsPos ( ) const
inline

Definition at line 759 of file dag.h.

References kind, and stabilizer::parser::NT_FP_IS_POS.

Referenced by isFPProp().

◆ isFPIsSubnormal()

bool stabilizer::parser::DAGNode::isFPIsSubnormal ( ) const
inline

Definition at line 752 of file dag.h.

References kind, and stabilizer::parser::NT_FP_IS_SUBNORMAL.

Referenced by isFPProp().

◆ isFPIsZero()

bool stabilizer::parser::DAGNode::isFPIsZero ( ) const
inline

Definition at line 755 of file dag.h.

References kind, and stabilizer::parser::NT_FP_IS_ZERO.

Referenced by isFPProp().

◆ isFPLe()

bool stabilizer::parser::DAGNode::isFPLe ( ) const
inline

Definition at line 727 of file dag.h.

References kind, and stabilizer::parser::NT_FP_LE.

Referenced by isFPComp().

◆ isFPLt()

bool stabilizer::parser::DAGNode::isFPLt ( ) const
inline

Definition at line 728 of file dag.h.

References kind, and stabilizer::parser::NT_FP_LT.

Referenced by isFPComp().

◆ isFPMax()

bool stabilizer::parser::DAGNode::isFPMax ( ) const
inline

Definition at line 718 of file dag.h.

References kind, and stabilizer::parser::NT_FP_MAX.

Referenced by isFPOp().

◆ isFPMin()

bool stabilizer::parser::DAGNode::isFPMin ( ) const
inline

Definition at line 717 of file dag.h.

References kind, and stabilizer::parser::NT_FP_MIN.

Referenced by isFPOp().

◆ isFPMul()

bool stabilizer::parser::DAGNode::isFPMul ( ) const
inline

Definition at line 704 of file dag.h.

References kind, and stabilizer::parser::NT_FP_MUL.

Referenced by isFPOp().

◆ isFPNeg()

bool stabilizer::parser::DAGNode::isFPNeg ( ) const
inline

Definition at line 707 of file dag.h.

References kind, and stabilizer::parser::NT_FP_NEG.

Referenced by isFPOp().

◆ isFPOp()

bool stabilizer::parser::DAGNode::isFPOp ( ) const
inline

◆ isFPProp()

bool stabilizer::parser::DAGNode::isFPProp ( ) const
inline

Definition at line 760 of file dag.h.

References isFPIsInf(), isFPIsNaN(), isFPIsNeg(), isFPIsNormal(), isFPIsPos(), isFPIsSubnormal(), and isFPIsZero().

Referenced by isAtom().

◆ isFPRem()

bool stabilizer::parser::DAGNode::isFPRem ( ) const
inline

Definition at line 708 of file dag.h.

References kind, and stabilizer::parser::NT_FP_REM.

Referenced by isFPOp().

◆ isFPRoToInt()

bool stabilizer::parser::DAGNode::isFPRoToInt ( ) const
inline

Definition at line 714 of file dag.h.

References kind, and stabilizer::parser::NT_FP_ROUND_TO_INTEGRAL.

Referenced by isFPOp().

◆ isFPRoundToIntegral()

bool stabilizer::parser::DAGNode::isFPRoundToIntegral ( ) const
inline

Definition at line 711 of file dag.h.

References kind, and stabilizer::parser::NT_FP_ROUND_TO_INTEGRAL.

◆ isFPSqrt()

bool stabilizer::parser::DAGNode::isFPSqrt ( ) const
inline

Definition at line 710 of file dag.h.

References kind, and stabilizer::parser::NT_FP_SQRT.

Referenced by isFPOp().

◆ isFPSub()

bool stabilizer::parser::DAGNode::isFPSub ( ) const
inline

Definition at line 703 of file dag.h.

References kind, and stabilizer::parser::NT_FP_SUB.

Referenced by isFPOp().

◆ isFPToReal()

bool stabilizer::parser::DAGNode::isFPToReal ( ) const
inline

Definition at line 739 of file dag.h.

References kind, and stabilizer::parser::NT_FP_TO_REAL.

Referenced by isFPConv().

◆ isFPToSBV()

bool stabilizer::parser::DAGNode::isFPToSBV ( ) const
inline

Definition at line 738 of file dag.h.

References kind, and stabilizer::parser::NT_FP_TO_SBV.

Referenced by isFPConv().

◆ isFPToUBV()

bool stabilizer::parser::DAGNode::isFPToUBV ( ) const
inline

Definition at line 737 of file dag.h.

References kind, and stabilizer::parser::NT_FP_TO_UBV.

Referenced by isFPConv().

◆ isFuncApplication()

bool stabilizer::parser::DAGNode::isFuncApplication ( ) const
inline

Definition at line 886 of file dag.h.

References kind, and stabilizer::parser::NT_FUNC_APPLY.

◆ isFuncDec()

bool stabilizer::parser::DAGNode::isFuncDec ( ) const
inline

Definition at line 882 of file dag.h.

References kind, and stabilizer::parser::NT_FUNC_DEC.

◆ isFuncDef()

bool stabilizer::parser::DAGNode::isFuncDef ( ) const
inline

Definition at line 883 of file dag.h.

References kind, and stabilizer::parser::NT_FUNC_DEF.

◆ isFuncParam()

bool stabilizer::parser::DAGNode::isFuncParam ( ) const
inline

Definition at line 885 of file dag.h.

References kind, and stabilizer::parser::NT_FUNC_PARAM.

◆ isFuncRec()

bool stabilizer::parser::DAGNode::isFuncRec ( ) const
inline

Definition at line 884 of file dag.h.

References kind, and stabilizer::parser::NT_FUNC_REC.

◆ isFuncRecApplication()

bool stabilizer::parser::DAGNode::isFuncRecApplication ( ) const
inline

Definition at line 890 of file dag.h.

References kind, and stabilizer::parser::NT_FUNC_REC_APPLY.

◆ isGcd()

bool stabilizer::parser::DAGNode::isGcd ( ) const
inline

Definition at line 611 of file dag.h.

References kind, and stabilizer::parser::NT_GCD.

◆ isGe()

bool stabilizer::parser::DAGNode::isGe ( ) const
inline

Definition at line 558 of file dag.h.

References kind, and stabilizer::parser::NT_GE.

Referenced by isArithComp().

◆ isGt()

bool stabilizer::parser::DAGNode::isGt ( ) const
inline

Definition at line 559 of file dag.h.

References kind, and stabilizer::parser::NT_GT.

Referenced by isArithComp().

◆ isIAnd()

bool stabilizer::parser::DAGNode::isIAnd ( ) const
inline

Definition at line 508 of file dag.h.

References kind, and stabilizer::parser::NT_IAND.

Referenced by isRealNonlinearOp().

◆ isImplies()

bool stabilizer::parser::DAGNode::isImplies ( ) const
inline

Definition at line 467 of file dag.h.

References kind, and stabilizer::parser::NT_IMPLIES.

◆ isInfinity()

bool stabilizer::parser::DAGNode::isInfinity ( ) const
inline

◆ isInt()

bool stabilizer::parser::DAGNode::isInt ( ) const
inline

Definition at line 579 of file dag.h.

References kind, and stabilizer::parser::NT_IS_INT.

Referenced by isArithProp().

◆ isInternal()

bool stabilizer::parser::DAGNode::isInternal ( ) const
inline

Definition at line 319 of file dag.h.

References children.

◆ isIntToBV()

bool stabilizer::parser::DAGNode::isIntToBV ( ) const
inline

Definition at line 696 of file dag.h.

References kind, and stabilizer::parser::NT_INT_TO_BV.

Referenced by isBVConv().

◆ isIte()

bool stabilizer::parser::DAGNode::isIte ( ) const
inline

Definition at line 879 of file dag.h.

References kind, and stabilizer::parser::NT_ITE.

Referenced by isArithTerm(), and isBVTerm().

◆ isLb()

bool stabilizer::parser::DAGNode::isLb ( ) const
inline

Definition at line 519 of file dag.h.

References kind, and stabilizer::parser::NT_LB.

Referenced by isTranscendentalOp().

◆ isLcm()

bool stabilizer::parser::DAGNode::isLcm ( ) const
inline

Definition at line 612 of file dag.h.

References kind, and stabilizer::parser::NT_LCM.

◆ isLe()

bool stabilizer::parser::DAGNode::isLe ( ) const
inline

Definition at line 556 of file dag.h.

References kind, and stabilizer::parser::NT_LE.

Referenced by isArithComp().

◆ isLeaf()

bool stabilizer::parser::DAGNode::isLeaf ( ) const
inline

Definition at line 318 of file dag.h.

References children.

◆ isLet()

bool stabilizer::parser::DAGNode::isLet ( ) const
inline

Definition at line 872 of file dag.h.

References kind, and stabilizer::parser::NT_LET.

◆ isLetBindVar()

bool stabilizer::parser::DAGNode::isLetBindVar ( ) const
inline

Definition at line 427 of file dag.h.

References kind, and stabilizer::parser::NT_LET_BIND_VAR.

Referenced by getPureName(), and isVar().

◆ isLetBindVarList()

bool stabilizer::parser::DAGNode::isLetBindVarList ( ) const
inline

Definition at line 874 of file dag.h.

References kind, and stabilizer::parser::NT_LET_BIND_VAR_LIST.

◆ isLetChain()

bool stabilizer::parser::DAGNode::isLetChain ( ) const
inline

Definition at line 873 of file dag.h.

References kind, and stabilizer::parser::NT_LET_CHAIN.

◆ isLg()

bool stabilizer::parser::DAGNode::isLg ( ) const
inline

Definition at line 520 of file dag.h.

References kind, and stabilizer::parser::NT_LG.

Referenced by isTranscendentalOp().

◆ isLiteral()

bool stabilizer::parser::DAGNode::isLiteral ( ) const
inline

Definition at line 380 of file dag.h.

References getChild(), isCBool(), isNot(), and isVBool().

◆ isLn()

bool stabilizer::parser::DAGNode::isLn ( ) const
inline

Definition at line 518 of file dag.h.

References kind, and stabilizer::parser::NT_LN.

Referenced by isTranscendentalOp().

◆ isLog()

bool stabilizer::parser::DAGNode::isLog ( ) const
inline

Definition at line 517 of file dag.h.

References kind, and stabilizer::parser::NT_LOG.

Referenced by isTranscendentalOp().

◆ isLt()

bool stabilizer::parser::DAGNode::isLt ( ) const
inline

Definition at line 557 of file dag.h.

References kind, and stabilizer::parser::NT_LT.

Referenced by isArithComp().

◆ isMax()

bool stabilizer::parser::DAGNode::isMax ( ) const
inline

Definition at line 451 of file dag.h.

References kind, and stabilizer::parser::NT_MAX.

Referenced by isArithTerm(), and isBVTerm().

◆ isMin()

bool stabilizer::parser::DAGNode::isMin ( ) const
inline

Definition at line 452 of file dag.h.

References kind, and stabilizer::parser::NT_MIN.

Referenced by isArithTerm(), and isBVTerm().

◆ isMod()

bool stabilizer::parser::DAGNode::isMod ( ) const
inline

Definition at line 496 of file dag.h.

References kind, and stabilizer::parser::NT_MOD.

Referenced by isArithOp().

◆ isMul()

bool stabilizer::parser::DAGNode::isMul ( ) const
inline

Definition at line 492 of file dag.h.

References kind, and stabilizer::parser::NT_MUL.

Referenced by isArithOp().

◆ isNaN()

bool stabilizer::parser::DAGNode::isNaN ( ) const
inline

Definition at line 598 of file dag.h.

References kind, and stabilizer::parser::NT_NAN.

◆ isNatToBV()

bool stabilizer::parser::DAGNode::isNatToBV ( ) const
inline

Definition at line 692 of file dag.h.

References kind, and stabilizer::parser::NT_NAT_TO_BV.

Referenced by isBVConv().

◆ isNeg()

bool stabilizer::parser::DAGNode::isNeg ( ) const
inline

Definition at line 493 of file dag.h.

References kind, and stabilizer::parser::NT_NEG.

Referenced by isArithOp().

◆ isNegEpsilon()

bool stabilizer::parser::DAGNode::isNegEpsilon ( ) const
inline

Definition at line 605 of file dag.h.

References kind, and stabilizer::parser::NT_NEG_EPSILON.

◆ isNegInfinity()

bool stabilizer::parser::DAGNode::isNegInfinity ( ) const
inline

Definition at line 597 of file dag.h.

References kind, and stabilizer::parser::NT_NEG_INFINITY.

◆ isNeq()

bool stabilizer::parser::DAGNode::isNeq ( ) const
inline

Definition at line 484 of file dag.h.

References isDistinct().

◆ isNot()

bool stabilizer::parser::DAGNode::isNot ( ) const
inline

Definition at line 466 of file dag.h.

References kind, and stabilizer::parser::NT_NOT.

Referenced by isLiteral().

◆ isNull()

bool stabilizer::parser::DAGNode::isNull ( ) const
inline

Definition at line 322 of file dag.h.

References kind, and stabilizer::parser::NT_NULL.

◆ isNumeral()

bool stabilizer::parser::DAGNode::isNumeral ( ) const
inline

Definition at line 352 of file dag.h.

References isCInt(), and isCReal().

◆ isOdd()

bool stabilizer::parser::DAGNode::isOdd ( ) const
inline

Definition at line 583 of file dag.h.

References kind, and stabilizer::parser::NT_IS_ODD.

Referenced by isArithProp().

◆ isOr()

bool stabilizer::parser::DAGNode::isOr ( ) const
inline

Definition at line 465 of file dag.h.

References kind, and stabilizer::parser::NT_OR.

◆ isPi()

bool stabilizer::parser::DAGNode::isPi ( ) const
inline

Definition at line 589 of file dag.h.

References kind, and stabilizer::parser::NT_CONST_PI.

◆ isPlaceholderVar()

bool stabilizer::parser::DAGNode::isPlaceholderVar ( ) const
inline

Definition at line 428 of file dag.h.

References kind, and stabilizer::parser::NT_PLACEHOLDER_VAR.

Referenced by isVar().

◆ isPosEpsilon()

bool stabilizer::parser::DAGNode::isPosEpsilon ( ) const
inline

Definition at line 604 of file dag.h.

References kind, and stabilizer::parser::NT_POS_EPSILON.

◆ isPosInfinity()

bool stabilizer::parser::DAGNode::isPosInfinity ( ) const
inline

Definition at line 596 of file dag.h.

References kind, and stabilizer::parser::NT_POS_INFINITY.

◆ isPow()

bool stabilizer::parser::DAGNode::isPow ( ) const
inline

Definition at line 510 of file dag.h.

References kind, and stabilizer::parser::NT_POW.

Referenced by isRealNonlinearOp().

◆ isPow2()

bool stabilizer::parser::DAGNode::isPow2 ( ) const
inline

Definition at line 509 of file dag.h.

References kind, and stabilizer::parser::NT_POW2.

Referenced by isRealNonlinearOp().

◆ isPrime()

bool stabilizer::parser::DAGNode::isPrime ( ) const
inline

Definition at line 581 of file dag.h.

References kind, and stabilizer::parser::NT_IS_PRIME.

Referenced by isArithProp().

◆ isQuantVar()

bool stabilizer::parser::DAGNode::isQuantVar ( ) const
inline

Definition at line 426 of file dag.h.

References kind, and stabilizer::parser::NT_QUANT_VAR.

Referenced by isVar().

◆ isRealNonlinearOp()

bool stabilizer::parser::DAGNode::isRealNonlinearOp ( ) const
inline

Definition at line 513 of file dag.h.

References isIAnd(), isPow(), isPow2(), isSafeSqrt(), and isSqrt().

Referenced by isArithTerm().

◆ isRegAll()

bool stabilizer::parser::DAGNode::isRegAll ( ) const
inline

Definition at line 850 of file dag.h.

References kind, and stabilizer::parser::NT_REG_ALL.

◆ isRegAllChar()

bool stabilizer::parser::DAGNode::isRegAllChar ( ) const
inline

Definition at line 851 of file dag.h.

References kind, and stabilizer::parser::NT_REG_ALLCHAR.

◆ isRegComplement()

bool stabilizer::parser::DAGNode::isRegComplement ( ) const
inline

Definition at line 862 of file dag.h.

References kind, and stabilizer::parser::NT_REG_COMPLEMENT.

◆ isRegConcat()

bool stabilizer::parser::DAGNode::isRegConcat ( ) const
inline

Definition at line 852 of file dag.h.

References kind, and stabilizer::parser::NT_REG_CONCAT.

◆ isRegDiff()

bool stabilizer::parser::DAGNode::isRegDiff ( ) const
inline

Definition at line 855 of file dag.h.

References kind, and stabilizer::parser::NT_REG_DIFF.

◆ isRegInter()

bool stabilizer::parser::DAGNode::isRegInter ( ) const
inline

Definition at line 854 of file dag.h.

References kind, and stabilizer::parser::NT_REG_INTER.

◆ isRegLoop()

bool stabilizer::parser::DAGNode::isRegLoop ( ) const
inline

Definition at line 861 of file dag.h.

References kind, and stabilizer::parser::NT_REG_LOOP.

◆ isRegNone()

bool stabilizer::parser::DAGNode::isRegNone ( ) const
inline

Definition at line 849 of file dag.h.

References kind, and stabilizer::parser::NT_REG_NONE.

◆ isRegOpt()

bool stabilizer::parser::DAGNode::isRegOpt ( ) const
inline

Definition at line 858 of file dag.h.

References kind, and stabilizer::parser::NT_REG_OPT.

◆ isRegPlus()

bool stabilizer::parser::DAGNode::isRegPlus ( ) const
inline

Definition at line 857 of file dag.h.

References kind, and stabilizer::parser::NT_REG_PLUS.

◆ isRegRange()

bool stabilizer::parser::DAGNode::isRegRange ( ) const
inline

Definition at line 859 of file dag.h.

References kind, and stabilizer::parser::NT_REG_RANGE.

◆ isRegRepeat()

bool stabilizer::parser::DAGNode::isRegRepeat ( ) const
inline

Definition at line 860 of file dag.h.

References kind, and stabilizer::parser::NT_REG_REPEAT.

◆ isRegStar()

bool stabilizer::parser::DAGNode::isRegStar ( ) const
inline

Definition at line 856 of file dag.h.

References kind, and stabilizer::parser::NT_REG_STAR.

◆ isRegUnion()

bool stabilizer::parser::DAGNode::isRegUnion ( ) const
inline

Definition at line 853 of file dag.h.

References kind, and stabilizer::parser::NT_REG_UNION.

◆ isRound()

bool stabilizer::parser::DAGNode::isRound ( ) const
inline

Definition at line 500 of file dag.h.

References kind, and stabilizer::parser::NT_ROUND.

Referenced by isArithOp().

◆ isSafeSqrt()

bool stabilizer::parser::DAGNode::isSafeSqrt ( ) const
inline

Definition at line 512 of file dag.h.

References kind, and stabilizer::parser::NT_SAFESQRT.

Referenced by isRealNonlinearOp().

◆ isSBVToInt()

bool stabilizer::parser::DAGNode::isSBVToInt ( ) const
inline

Definition at line 695 of file dag.h.

References kind, and stabilizer::parser::NT_SBV_TO_INT.

◆ isSec()

bool stabilizer::parser::DAGNode::isSec ( ) const
inline

Definition at line 523 of file dag.h.

References kind, and stabilizer::parser::NT_SEC.

Referenced by isTranscendentalOp().

◆ isSech()

bool stabilizer::parser::DAGNode::isSech ( ) const
inline

Definition at line 536 of file dag.h.

References kind, and stabilizer::parser::NT_SECH.

Referenced by isTranscendentalOp().

◆ isSelect()

bool stabilizer::parser::DAGNode::isSelect ( ) const
inline

Definition at line 766 of file dag.h.

References kind, and stabilizer::parser::NT_SELECT.

Referenced by isArrayOp().

◆ isSin()

bool stabilizer::parser::DAGNode::isSin ( ) const
inline

Definition at line 521 of file dag.h.

References kind, and stabilizer::parser::NT_SIN.

Referenced by isTranscendentalOp().

◆ isSinh()

bool stabilizer::parser::DAGNode::isSinh ( ) const
inline

Definition at line 533 of file dag.h.

References kind, and stabilizer::parser::NT_SINH.

Referenced by isTranscendentalOp().

◆ isSqrt()

bool stabilizer::parser::DAGNode::isSqrt ( ) const
inline

Definition at line 511 of file dag.h.

References kind, and stabilizer::parser::NT_SQRT.

Referenced by isRealNonlinearOp().

◆ isStore()

bool stabilizer::parser::DAGNode::isStore ( ) const
inline

Definition at line 767 of file dag.h.

References kind, and stabilizer::parser::NT_STORE.

Referenced by isArrayOp().

◆ isStrCharat()

bool stabilizer::parser::DAGNode::isStrCharat ( ) const
inline

Definition at line 779 of file dag.h.

References kind, and stabilizer::parser::NT_STR_CHARAT.

Referenced by isStrOp().

◆ isStrComp()

bool stabilizer::parser::DAGNode::isStrComp ( ) const
inline

Definition at line 825 of file dag.h.

References isStrEq(), isStrGe(), isStrGt(), isStrLe(), and isStrLt().

Referenced by isAtom().

◆ isStrConcat()

bool stabilizer::parser::DAGNode::isStrConcat ( ) const
inline

Definition at line 774 of file dag.h.

References kind, and stabilizer::parser::NT_STR_CONCAT.

Referenced by isStrOp().

◆ isStrContains()

bool stabilizer::parser::DAGNode::isStrContains ( ) const
inline

Definition at line 831 of file dag.h.

References kind, and stabilizer::parser::NT_STR_CONTAINS.

Referenced by isStrProp().

◆ isStrConv()

bool stabilizer::parser::DAGNode::isStrConv ( ) const
inline

Definition at line 843 of file dag.h.

References isStrFromCode(), isStrFromInt(), isStrToCode(), isStrToInt(), and isStrToReg().

◆ isStrEq()

bool stabilizer::parser::DAGNode::isStrEq ( ) const
inline

Definition at line 820 of file dag.h.

References getChild(), getChildrenSize(), isCStr(), isEq(), isStrOp(), and isVStr().

Referenced by isStrComp().

◆ isStrFromCode()

bool stabilizer::parser::DAGNode::isStrFromCode ( ) const
inline

Definition at line 842 of file dag.h.

References kind, and stabilizer::parser::NT_STR_FROM_CODE.

Referenced by isStrConv().

◆ isStrFromInt()

bool stabilizer::parser::DAGNode::isStrFromInt ( ) const
inline

Definition at line 838 of file dag.h.

References kind, and stabilizer::parser::NT_STR_FROM_INT.

Referenced by isStrConv().

◆ isStrGe()

bool stabilizer::parser::DAGNode::isStrGe ( ) const
inline

Definition at line 819 of file dag.h.

References kind, and stabilizer::parser::NT_STR_GE.

Referenced by isStrComp().

◆ isStrGt()

bool stabilizer::parser::DAGNode::isStrGt ( ) const
inline

Definition at line 818 of file dag.h.

References kind, and stabilizer::parser::NT_STR_GT.

Referenced by isStrComp().

◆ isStrIndexof()

bool stabilizer::parser::DAGNode::isStrIndexof ( ) const
inline

Definition at line 778 of file dag.h.

References kind, and stabilizer::parser::NT_STR_INDEXOF.

Referenced by isStrOp().

◆ isStrInReg()

bool stabilizer::parser::DAGNode::isStrInReg ( ) const
inline

Definition at line 830 of file dag.h.

References kind, and stabilizer::parser::NT_STR_IN_REG.

Referenced by isStrProp().

◆ isStrIsDigit()

bool stabilizer::parser::DAGNode::isStrIsDigit ( ) const
inline

Definition at line 832 of file dag.h.

References kind, and stabilizer::parser::NT_STR_IS_DIGIT.

Referenced by isStrProp().

◆ isStrLe()

bool stabilizer::parser::DAGNode::isStrLe ( ) const
inline

Definition at line 817 of file dag.h.

References kind, and stabilizer::parser::NT_STR_LE.

Referenced by isStrComp().

◆ isStrLen()

bool stabilizer::parser::DAGNode::isStrLen ( ) const
inline

Definition at line 773 of file dag.h.

References kind, and stabilizer::parser::NT_STR_LEN.

Referenced by isStrOp().

◆ isStrLt()

bool stabilizer::parser::DAGNode::isStrLt ( ) const
inline

Definition at line 816 of file dag.h.

References kind, and stabilizer::parser::NT_STR_LT.

Referenced by isStrComp().

◆ isStrNumSplits()

bool stabilizer::parser::DAGNode::isStrNumSplits ( ) const
inline

Definition at line 793 of file dag.h.

References kind, and stabilizer::parser::NT_STR_NUM_SPLITS.

Referenced by isStrOp().

◆ isStrNumSplitsRe()

bool stabilizer::parser::DAGNode::isStrNumSplitsRe ( ) const
inline

Definition at line 802 of file dag.h.

References kind, and stabilizer::parser::NT_STR_NUM_SPLITS_RE.

Referenced by isStrOp().

◆ isStrOp()

◆ isStrPrefixof()

bool stabilizer::parser::DAGNode::isStrPrefixof ( ) const
inline

Definition at line 776 of file dag.h.

References kind, and stabilizer::parser::NT_STR_PREFIXOF.

Referenced by isStrOp().

◆ isStrProp()

bool stabilizer::parser::DAGNode::isStrProp ( ) const
inline

Definition at line 833 of file dag.h.

References isStrContains(), isStrInReg(), and isStrIsDigit().

Referenced by isAtom().

◆ isStrReplace()

bool stabilizer::parser::DAGNode::isStrReplace ( ) const
inline

Definition at line 781 of file dag.h.

References kind, and stabilizer::parser::NT_STR_REPLACE.

Referenced by isStrOp().

◆ isStrReplaceAll()

bool stabilizer::parser::DAGNode::isStrReplaceAll ( ) const
inline

Definition at line 782 of file dag.h.

References kind, and stabilizer::parser::NT_STR_REPLACE_ALL.

Referenced by isStrOp().

◆ isStrRev()

bool stabilizer::parser::DAGNode::isStrRev ( ) const
inline

Definition at line 787 of file dag.h.

References kind, and stabilizer::parser::NT_STR_REV.

Referenced by isStrOp().

◆ isStrSplit()

bool stabilizer::parser::DAGNode::isStrSplit ( ) const
inline

Definition at line 788 of file dag.h.

References kind, and stabilizer::parser::NT_STR_SPLIT.

Referenced by isStrOp().

◆ isStrSplitAt()

bool stabilizer::parser::DAGNode::isStrSplitAt ( ) const
inline

Definition at line 789 of file dag.h.

References kind, and stabilizer::parser::NT_STR_SPLIT_AT.

Referenced by isStrOp().

◆ isStrSplitAtRe()

bool stabilizer::parser::DAGNode::isStrSplitAtRe ( ) const
inline

Definition at line 796 of file dag.h.

References kind, and stabilizer::parser::NT_STR_SPLIT_AT_RE.

Referenced by isStrOp().

◆ isStrSplitRest()

bool stabilizer::parser::DAGNode::isStrSplitRest ( ) const
inline

Definition at line 790 of file dag.h.

References kind, and stabilizer::parser::NT_STR_SPLIT_REST.

Referenced by isStrOp().

◆ isStrSplitRestRe()

bool stabilizer::parser::DAGNode::isStrSplitRestRe ( ) const
inline

Definition at line 799 of file dag.h.

References kind, and stabilizer::parser::NT_STR_SPLIT_REST_RE.

Referenced by isStrOp().

◆ isStrSubstr()

bool stabilizer::parser::DAGNode::isStrSubstr ( ) const
inline

Definition at line 775 of file dag.h.

References kind, and stabilizer::parser::NT_STR_SUBSTR.

Referenced by isStrOp().

◆ isStrSuffixof()

bool stabilizer::parser::DAGNode::isStrSuffixof ( ) const
inline

Definition at line 777 of file dag.h.

References kind, and stabilizer::parser::NT_STR_SUFFIXOF.

Referenced by isStrOp().

◆ isStrToCode()

bool stabilizer::parser::DAGNode::isStrToCode ( ) const
inline

Definition at line 841 of file dag.h.

References kind, and stabilizer::parser::NT_STR_TO_CODE.

Referenced by isStrConv().

◆ isStrToInt()

bool stabilizer::parser::DAGNode::isStrToInt ( ) const
inline

Definition at line 839 of file dag.h.

References kind, and stabilizer::parser::NT_STR_TO_INT.

Referenced by isStrConv().

◆ isStrToLower()

bool stabilizer::parser::DAGNode::isStrToLower ( ) const
inline

Definition at line 785 of file dag.h.

References kind, and stabilizer::parser::NT_STR_TO_LOWER.

Referenced by isStrOp().

◆ isStrToReg()

bool stabilizer::parser::DAGNode::isStrToReg ( ) const
inline

Definition at line 840 of file dag.h.

References kind, and stabilizer::parser::NT_STR_TO_REG.

Referenced by isStrConv().

◆ isStrToUpper()

bool stabilizer::parser::DAGNode::isStrToUpper ( ) const
inline

Definition at line 786 of file dag.h.

References kind, and stabilizer::parser::NT_STR_TO_UPPER.

Referenced by isStrOp().

◆ isStrUpdate()

bool stabilizer::parser::DAGNode::isStrUpdate ( ) const
inline

Definition at line 780 of file dag.h.

References kind, and stabilizer::parser::NT_STR_UPDATE.

Referenced by isStrOp().

◆ isSub()

bool stabilizer::parser::DAGNode::isSub ( ) const
inline

Definition at line 491 of file dag.h.

References kind, and stabilizer::parser::NT_SUB.

Referenced by isArithOp().

◆ isTan()

bool stabilizer::parser::DAGNode::isTan ( ) const
inline

Definition at line 525 of file dag.h.

References kind, and stabilizer::parser::NT_TAN.

Referenced by isTranscendentalOp().

◆ isTanh()

bool stabilizer::parser::DAGNode::isTanh ( ) const
inline

Definition at line 535 of file dag.h.

References kind, and stabilizer::parser::NT_TANH.

Referenced by isTranscendentalOp().

◆ isTempVar()

bool stabilizer::parser::DAGNode::isTempVar ( ) const
inline

Definition at line 425 of file dag.h.

References kind, and stabilizer::parser::NT_TEMP_VAR.

Referenced by isVar().

◆ isToFP()

bool stabilizer::parser::DAGNode::isToFP ( ) const
inline

Definition at line 740 of file dag.h.

References kind, and stabilizer::parser::NT_FP_TO_FP.

Referenced by isFPConv().

◆ isToFPUnsigned()

bool stabilizer::parser::DAGNode::isToFPUnsigned ( ) const
inline

Definition at line 741 of file dag.h.

References kind, and stabilizer::parser::NT_FP_TO_FP_UNSIGNED.

Referenced by isFPConv().

◆ isToInt()

bool stabilizer::parser::DAGNode::isToInt ( ) const
inline

Definition at line 575 of file dag.h.

References kind, and stabilizer::parser::NT_TO_INT.

Referenced by isArithConv().

◆ isToReal()

bool stabilizer::parser::DAGNode::isToReal ( ) const
inline

Definition at line 574 of file dag.h.

References kind, and stabilizer::parser::NT_TO_REAL.

Referenced by isArithConv().

◆ isTranscendentalOp()

bool stabilizer::parser::DAGNode::isTranscendentalOp ( ) const
inline

◆ isTrue()

bool stabilizer::parser::DAGNode::isTrue ( ) const
inline

Definition at line 336 of file dag.h.

References kind, stabilizer::parser::NT_CONST_TRUE, and sort.

◆ isUBVToInt()

bool stabilizer::parser::DAGNode::isUBVToInt ( ) const
inline

Definition at line 694 of file dag.h.

References kind, and stabilizer::parser::NT_UBV_TO_INT.

◆ isUFApplication()

bool stabilizer::parser::DAGNode::isUFApplication ( ) const
inline

Definition at line 487 of file dag.h.

References kind, and stabilizer::parser::NT_UF_APPLY.

Referenced by isArithTerm(), isArrayOp(), isAtom(), isBVTerm(), isFPOp(), and isStrOp().

◆ isUFName()

bool stabilizer::parser::DAGNode::isUFName ( ) const
inline

Definition at line 448 of file dag.h.

References kind, and stabilizer::parser::NT_UF_NAME.

◆ isUnknown()

bool stabilizer::parser::DAGNode::isUnknown ( ) const
inline

Definition at line 328 of file dag.h.

References kind, and stabilizer::parser::NT_UNKNOWN.

◆ isVar()

bool stabilizer::parser::DAGNode::isVar ( ) const
inline

◆ isVBool()

bool stabilizer::parser::DAGNode::isVBool ( ) const
inline

◆ isVBV()

bool stabilizer::parser::DAGNode::isVBV ( ) const
inline

◆ isVFP()

bool stabilizer::parser::DAGNode::isVFP ( ) const
inline

◆ isVInt()

bool stabilizer::parser::DAGNode::isVInt ( ) const
inline

◆ isVReal()

bool stabilizer::parser::DAGNode::isVReal ( ) const
inline

◆ isVReg()

bool stabilizer::parser::DAGNode::isVReg ( ) const
inline

◆ isVRoundingMode()

bool stabilizer::parser::DAGNode::isVRoundingMode ( ) const
inline

◆ isVStr()

bool stabilizer::parser::DAGNode::isVStr ( ) const
inline

◆ isVUF()

bool stabilizer::parser::DAGNode::isVUF ( ) const
inline

Definition at line 445 of file dag.h.

References kind, stabilizer::parser::NT_VAR, and sort.

◆ isXor()

bool stabilizer::parser::DAGNode::isXor ( ) const
inline

Definition at line 468 of file dag.h.

References kind, and stabilizer::parser::NT_XOR.

◆ operator!=()

bool stabilizer::parser::DAGNode::operator!= ( const DAGNode  elem)
inline

Definition at line 306 of file dag.h.

References children_hash, kind, name, and sort.

◆ operator==()

bool stabilizer::parser::DAGNode::operator== ( const DAGNode  elem)
inline

Definition at line 302 of file dag.h.

References children_hash, kind, name, and sort.

◆ rename()

std::string stabilizer::parser::DAGNode::rename ( const std::string &  new_name)
inline

Get the re-named name of the node.

Returns
The re-named name of the node

Definition at line 928 of file dag.h.

References name.

◆ replace_children()

void stabilizer::parser::DAGNode::replace_children ( const std::vector< std::shared_ptr< DAGNode > > &  new_children)
inline

Definition at line 312 of file dag.h.

References children.

◆ setName()

void stabilizer::parser::DAGNode::setName ( const std::string &  n)
inline

Definition at line 316 of file dag.h.

References name.

◆ setValue() [1/6]

void stabilizer::parser::DAGNode::setValue ( const double &  v)
inline

Definition at line 959 of file dag.h.

References stabilizer::parser::newValue(), and value.

◆ setValue() [2/6]

void stabilizer::parser::DAGNode::setValue ( const int &  v)
inline

Definition at line 961 of file dag.h.

References stabilizer::parser::newValue(), and value.

◆ setValue() [3/6]

void stabilizer::parser::DAGNode::setValue ( const Integer v)
inline

Definition at line 955 of file dag.h.

References stabilizer::parser::newValue(), and value.

◆ setValue() [4/6]

void stabilizer::parser::DAGNode::setValue ( const Interval v)
inline

Definition at line 963 of file dag.h.

References stabilizer::parser::newValue(), and value.

◆ setValue() [5/6]

void stabilizer::parser::DAGNode::setValue ( const Real v)
inline

Definition at line 957 of file dag.h.

References stabilizer::parser::newValue(), and value.

◆ setValue() [6/6]

void stabilizer::parser::DAGNode::setValue ( std::shared_ptr< Value v)
inline

Set the value of the node.

Parameters
vThe value to set

Definition at line 953 of file dag.h.

References value.

◆ toString()

std::string stabilizer::parser::DAGNode::toString ( ) const
inline

Definition at line 907 of file dag.h.

References getPureName().

◆ updateApplyFunc()

void stabilizer::parser::DAGNode::updateApplyFunc ( std::shared_ptr< Sort out_sort,
std::shared_ptr< DAGNode body,
const std::vector< std::shared_ptr< DAGNode > > &  params,
bool  is_rec = false 
)

Update the function application.

Note
This function is only used to update the function application.
Parameters
out_sortThe output sort
bodyThe body of the function
paramsThe parameters of the function
is_recTrue when updating a recursive function application

Definition at line 57 of file dag.cpp.

References children, condAssert, kind, stabilizer::parser::NT_FUNC_APPLY, stabilizer::parser::NT_FUNC_REC_APPLY, and sort.

◆ updateFuncDef()

void stabilizer::parser::DAGNode::updateFuncDef ( std::shared_ptr< Sort out_sort,
std::shared_ptr< DAGNode body,
const std::vector< std::shared_ptr< DAGNode > > &  params,
bool  is_rec = false 
)

Update the function definition.

Note
This function is only used to update the function definition.
Parameters
out_sortThe output sort
bodyThe body of the function
paramsThe parameters of the function
is_recTrue when updating a recursive function definition

Definition at line 43 of file dag.cpp.

References children, condAssert, kind, stabilizer::parser::NT_FUNC_DEF, stabilizer::parser::NT_FUNC_REC, and sort.

Member Data Documentation

◆ _use_count

size_t stabilizer::parser::DAGNode::_use_count
mutableprivate

◆ cached_hash_code

size_t stabilizer::parser::DAGNode::cached_hash_code
mutableprivate

◆ children

std::vector<std::shared_ptr<DAGNode> > stabilizer::parser::DAGNode::children
private

◆ children_hash

std::string stabilizer::parser::DAGNode::children_hash
private

◆ hash_computed

bool stabilizer::parser::DAGNode::hash_computed
mutableprivate

◆ kind

NODE_KIND stabilizer::parser::DAGNode::kind
private

Definition at line 78 of file dag.h.

Referenced by clear(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), getKind(), hashCode(), isAbs(), isAcos(), isAcosh(), isAcot(), isAcoth(), isAcsc(), isAcsch(), isAdd(), isAnd(), isArray(), isAsec(), isAsech(), isAsin(), isAsinh(), isAtan(), isAtan2(), isAtanh(), isAttribute(), isAttributeParam(), isBVAdd(), isBVAnd(), isBVASHR(), isBVComp(), isBVConcat(), isBVExtract(), isBVLSHR(), isBVMul(), isBVNand(), isBVNeg(), isBVNegO(), isBVNor(), isBVNot(), isBVOr(), isBVRepeat(), isBVRotLeft(), isBVRotRight(), isBVSAddO(), isBVSDiv(), isBVSDivO(), isBVSge(), isBVSgt(), isBVShl(), isBVSignExt(), isBVSle(), isBVSlt(), isBVSMod(), isBVSModO(), isBVSMulO(), isBVSRem(), isBVSRemO(), isBVSub(), isBVToInt(), isBVToNat(), isBVUAddO(), isBVUDiv(), isBVUDivO(), isBVUge(), isBVUgt(), isBVUle(), isBVUlt(), isBVUMod(), isBVUModO(), isBVUMulO(), isBVURem(), isBVURemO(), isBVXnor(), isBVXor(), isBVZeroExt(), isCBool(), isCeil(), isConst(), isConstArray(), isCos(), isCosh(), isCot(), isCoth(), isCsc(), isCsch(), isDistinct(), isDistinctBool(), isDistinctOther(), isDivInt(), isDivisible(), isDivReal(), isDtFunApplication(), isE(), isEpsilon(), isEq(), isEqBool(), isEqOther(), isEquivalentTo(), isErr(), isEven(), isExp(), isFact(), isFalse(), isFloor(), isFPAbs(), isFPAdd(), isFPDiv(), isFPEq(), isFPFMA(), isFPGe(), isFPGt(), isFPIsInf(), isFPIsNaN(), isFPIsNeg(), isFPIsNormal(), isFPIsPos(), isFPIsSubnormal(), isFPIsZero(), isFPLe(), isFPLt(), isFPMax(), isFPMin(), isFPMul(), isFPNeg(), isFPRem(), isFPRoToInt(), isFPRoundToIntegral(), isFPSqrt(), isFPSub(), isFPToReal(), isFPToSBV(), isFPToUBV(), isFuncApplication(), isFuncDec(), isFuncDef(), isFuncParam(), isFuncRec(), isFuncRecApplication(), isGcd(), isGe(), isGt(), isIAnd(), isImplies(), isInfinity(), isInt(), isIntToBV(), isIte(), isLb(), isLcm(), isLe(), isLet(), isLetBindVar(), isLetBindVarList(), isLetChain(), isLg(), isLn(), isLog(), isLt(), isMax(), isMin(), isMod(), isMul(), isNaN(), isNatToBV(), isNeg(), isNegEpsilon(), isNegInfinity(), isNot(), isNull(), isOdd(), isOr(), isPi(), isPlaceholderVar(), isPosEpsilon(), isPosInfinity(), isPow(), isPow2(), isPrime(), isQuantVar(), isRegAll(), isRegAllChar(), isRegComplement(), isRegConcat(), isRegDiff(), isRegInter(), isRegLoop(), isRegNone(), isRegOpt(), isRegPlus(), isRegRange(), isRegRepeat(), isRegStar(), isRegUnion(), isRound(), isSafeSqrt(), isSBVToInt(), isSec(), isSech(), isSelect(), isSin(), isSinh(), isSqrt(), isStore(), isStrCharat(), isStrConcat(), isStrContains(), isStrFromCode(), isStrFromInt(), isStrGe(), isStrGt(), isStrIndexof(), isStrInReg(), isStrIsDigit(), isStrLe(), isStrLen(), isStrLt(), isStrNumSplits(), isStrNumSplitsRe(), isStrPrefixof(), isStrReplace(), isStrReplaceAll(), isStrRev(), isStrSplit(), isStrSplitAt(), isStrSplitAtRe(), isStrSplitRest(), isStrSplitRestRe(), isStrSubstr(), isStrSuffixof(), isStrToCode(), isStrToInt(), isStrToLower(), isStrToReg(), isStrToUpper(), isStrUpdate(), isSub(), isTan(), isTanh(), isTempVar(), isToFP(), isToFPUnsigned(), isToInt(), isToReal(), isTrue(), isUBVToInt(), isUFApplication(), isUFName(), isUnknown(), isVBool(), isVBV(), isVFP(), isVInt(), isVReal(), isVReg(), isVRoundingMode(), isVStr(), isVUF(), isXor(), operator!=(), operator==(), updateApplyFunc(), and updateFuncDef().

◆ name

std::string stabilizer::parser::DAGNode::name
private

◆ sort

◆ value

std::shared_ptr<Value> stabilizer::parser::DAGNode::value
private

The documentation for this class was generated from the following files: