|
SMTStabilizer API
Public API documentation for SMTStabilizer
|
#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< Sort > | getSort () 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< Value > | getValue () 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< DAGNode > | getChild (int i) const |
| Get the child of the node. | |
| std::shared_ptr< DAGNode > | getFuncBody () 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< DAGNode > | getQuantBody () 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 > > ¶ms, 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 > > ¶ms, 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< Sort > | sort |
| NODE_KIND | kind |
| std::string | name |
| std::shared_ptr< Value > | value |
| std::vector< std::shared_ptr< DAGNode > > | children |
| std::string | children_hash |
| size_t | cached_hash_code |
| bool | hash_computed |
| size_t | _use_count |
|
inline |
Definition at line 89 of file dag.h.
References _use_count, cached_hash_code, children, children_hash, hash_computed, stabilizer::parser::TypeChecker::isInt(), stabilizer::parser::TypeChecker::isReal(), kind, name, stabilizer::parser::newValue(), stabilizer::parser::NT_CONST, and value.
|
inline |
Definition at line 118 of file dag.h.
References _use_count, cached_hash_code, children_hash, hash_computed, stabilizer::parser::TypeChecker::isInt(), stabilizer::parser::TypeChecker::isReal(), kind, name, stabilizer::parser::newValue(), stabilizer::parser::NT_CONST, and value.
Definition at line 135 of file dag.h.
References _use_count, cached_hash_code, children_hash, hash_computed, kind, stabilizer::parser::newValue(), stabilizer::parser::NT_CONST, and value.
|
inline |
Definition at line 146 of file dag.h.
References _use_count, cached_hash_code, children_hash, hash_computed, kind, stabilizer::parser::newValue(), stabilizer::parser::NT_CONST, and value.
|
inline |
Definition at line 157 of file dag.h.
References children_hash.
|
inline |
|
inline |
Definition at line 165 of file dag.h.
References _use_count, cached_hash_code, children_hash, hash_computed, stabilizer::parser::TypeChecker::isInt(), stabilizer::parser::TypeChecker::isReal(), kind, name, stabilizer::parser::newValue(), stabilizer::parser::NT_CONST, and value.
|
inline |
Definition at line 181 of file dag.h.
References _use_count, cached_hash_code, children_hash, hash_computed, kind, stabilizer::parser::newValue(), stabilizer::parser::NT_CONST, and value.
Definition at line 192 of file dag.h.
References _use_count, cached_hash_code, children_hash, hash_computed, name, and stabilizer::parser::HighPrecisionInteger::toString().
Definition at line 200 of file dag.h.
References _use_count, cached_hash_code, children_hash, hash_computed, name, and stabilizer::parser::HighPrecisionReal::toString().
|
inline |
Definition at line 208 of file dag.h.
References _use_count, cached_hash_code, children_hash, hash_computed, and name.
|
inline |
Definition at line 216 of file dag.h.
References _use_count, cached_hash_code, children_hash, hash_computed, and name.
|
inline |
Definition at line 224 of file dag.h.
References _use_count, cached_hash_code, children_hash, hash_computed, and name.
|
inline |
Definition at line 234 of file dag.h.
References _use_count, stabilizer::parser::SortManager::BOOL_SORT, cached_hash_code, children_hash, stabilizer::parser::SortManager::EXT_SORT, hash_computed, stabilizer::parser::SortManager::INT_SORT, stabilizer::parser::TypeChecker::isInt(), stabilizer::parser::TypeChecker::isReal(), stabilizer::parser::TypeChecker::isString(), kind, name, stabilizer::parser::newValue(), stabilizer::parser::NT_CONST, stabilizer::parser::NT_CONST_E, stabilizer::parser::NT_CONST_FALSE, stabilizer::parser::NT_CONST_PI, stabilizer::parser::NT_CONST_TRUE, stabilizer::parser::NT_EPSILON, stabilizer::parser::NT_ERROR, stabilizer::parser::NT_INFINITY, stabilizer::parser::NT_NAN, stabilizer::parser::NT_NULL, stabilizer::parser::SortManager::NULL_SORT, stabilizer::parser::SortManager::REAL_SORT, sort, stabilizer::parser::SortManager::STR_SORT, and value.
|
inline |
Definition at line 292 of file dag.h.
References _use_count, cached_hash_code, children, children_hash, hash_computed, kind, name, and stabilizer::parser::NT_ERROR.
|
inline |
Definition at line 897 of file dag.h.
References _use_count.
|
inline |
Get the child of the node.
| i | The index of the child |
Definition at line 987 of file dag.h.
References children.
Referenced by stabilizer::parser::dumpSMTLIB2_streaming(), getFuncParams(), getQuantVars(), isArithComp(), isBVCompOp(), isBVTerm(), isLiteral(), and isStrEq().
|
inline |
Get the children of the node.
Definition at line 977 of file dag.h.
References children.
Referenced by stabilizer::parser::dumpSMTLIB2_streaming().
|
inline |
Get 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().
|
inline |
|
inline |
Get the parameters of the function.
Definition at line 1002 of file dag.h.
References getChild(), and getChildrenSize().
|
inline |
Get the number of parameters of the function.
Definition at line 1015 of file dag.h.
References getChildrenSize().
|
inline |
Get the kind of the node.
Definition at line 939 of file dag.h.
References kind.
Referenced by stabilizer::parser::dumpSMTLIB2_streaming().
|
inline |
Get the name of the node.
Definition at line 921 of file dag.h.
References name.
Referenced by stabilizer::parser::dumpSMTLIB2_streaming().
|
inline |
Definition at line 900 of file dag.h.
References isLetBindVar(), name, and stabilizer::parser::PRESERVING_LET_BIND_VAR_SUFFIX.
Referenced by stabilizer::parser::dumpSMTLIB2_streaming(), and toString().
|
inline |
|
inline |
Get the variables of the quantifier.
Definition at line 1030 of file dag.h.
References getChild(), and getChildrenSize().
|
inline |
Get the sort of the node.
Definition at line 915 of file dag.h.
References sort.
Referenced by stabilizer::parser::dumpSMTLIB2_streaming().
|
inline |
Definition at line 895 of file dag.h.
References _use_count.
|
inline |
|
inline |
Get 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.
|
inline |
Definition at line 896 of file dag.h.
References _use_count.
|
inline |
Definition at line 497 of file dag.h.
References kind, and stabilizer::parser::NT_ABS.
Referenced by isArithOp().
|
inline |
Definition at line 528 of file dag.h.
References kind, and stabilizer::parser::NT_ACOS.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 540 of file dag.h.
References kind, and stabilizer::parser::NT_ACOSH.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 532 of file dag.h.
References kind, and stabilizer::parser::NT_ACOT.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 544 of file dag.h.
References kind, and stabilizer::parser::NT_ACOTH.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 530 of file dag.h.
References kind, and stabilizer::parser::NT_ACSC.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 543 of file dag.h.
References kind, and stabilizer::parser::NT_ACSCH.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 490 of file dag.h.
References kind, and stabilizer::parser::NT_ADD.
Referenced by isArithOp().
|
inline |
Definition at line 464 of file dag.h.
References kind, and stabilizer::parser::NT_AND.
|
inline |
Definition at line 567 of file dag.h.
References getChild(), isArithTerm(), isDistinct(), isEq(), isGe(), isGt(), isLe(), and isLt().
Referenced by isAtom().
|
inline |
Definition at line 576 of file dag.h.
References isToInt(), and isToReal().
Referenced by isArithTerm().
|
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().
|
inline |
|
inline |
Definition at line 560 of file dag.h.
References isArithConv(), isArithOp(), isCInt(), isConst(), isCReal(), isIte(), isMax(), isMin(), isRealNonlinearOp(), isTranscendentalOp(), isUFApplication(), isVar(), isVInt(), isVReal(), and sort.
Referenced by isArithComp().
|
inline |
Definition at line 455 of file dag.h.
References kind, stabilizer::parser::NT_CONST_ARRAY, stabilizer::parser::NT_PLACEHOLDER_VAR, stabilizer::parser::NT_VAR, and sort.
|
inline |
Definition at line 768 of file dag.h.
References isSelect(), isStore(), isUFApplication(), and sort.
|
inline |
Definition at line 529 of file dag.h.
References kind, and stabilizer::parser::NT_ASEC.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 542 of file dag.h.
References kind, and stabilizer::parser::NT_ASECH.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 527 of file dag.h.
References kind, and stabilizer::parser::NT_ASIN.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 539 of file dag.h.
References kind, and stabilizer::parser::NT_ASINH.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 531 of file dag.h.
References kind, and stabilizer::parser::NT_ATAN.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 545 of file dag.h.
References kind, and stabilizer::parser::NT_ATAN2.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 541 of file dag.h.
References kind, and stabilizer::parser::NT_ATANH.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 866 of file dag.h.
References isArithComp(), isArithProp(), isBVCompOp(), isFPComp(), isFPProp(), isStrComp(), isStrProp(), isUFApplication(), and sort.
|
inline |
Definition at line 363 of file dag.h.
References kind, stabilizer::parser::NT_ATTRIBUTE, stabilizer::parser::NT_NO_PATTERN, stabilizer::parser::NT_PATTERN, and stabilizer::parser::NT_WEIGHT.
|
inline |
Definition at line 367 of file dag.h.
References kind, stabilizer::parser::NT_NO_PATTERN, stabilizer::parser::NT_PATTERN, and stabilizer::parser::NT_WEIGHT.
|
inline |
Definition at line 625 of file dag.h.
References kind, and stabilizer::parser::NT_BV_ADD.
Referenced by isBVOp().
|
inline |
Definition at line 616 of file dag.h.
References kind, and stabilizer::parser::NT_BV_AND.
Referenced by isBVOp().
|
inline |
Definition at line 649 of file dag.h.
References kind, and stabilizer::parser::NT_BV_ASHR.
Referenced by isBVOp().
|
inline |
Definition at line 688 of file dag.h.
References isBVCompOp().
|
inline |
Definition at line 622 of file dag.h.
References kind, and stabilizer::parser::NT_BV_COMP.
|
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().
|
inline |
Definition at line 650 of file dag.h.
References kind, and stabilizer::parser::NT_BV_CONCAT.
Referenced by isBVOp().
|
inline |
Definition at line 697 of file dag.h.
References isBVToInt(), isBVToNat(), isIntToBV(), and isNatToBV().
|
inline |
Definition at line 651 of file dag.h.
References kind, and stabilizer::parser::NT_BV_EXTRACT.
Referenced by isBVOp().
|
inline |
Definition at line 648 of file dag.h.
References kind, and stabilizer::parser::NT_BV_LSHR.
Referenced by isBVOp().
|
inline |
Definition at line 627 of file dag.h.
References kind, and stabilizer::parser::NT_BV_MUL.
Referenced by isBVOp().
|
inline |
Definition at line 619 of file dag.h.
References kind, and stabilizer::parser::NT_BV_NAND.
Referenced by isBVOp().
|
inline |
Definition at line 624 of file dag.h.
References kind, and stabilizer::parser::NT_BV_NEG.
|
inline |
Definition at line 635 of file dag.h.
References kind, and stabilizer::parser::NT_BV_NEGO.
|
inline |
Definition at line 620 of file dag.h.
References kind, and stabilizer::parser::NT_BV_NOR.
Referenced by isBVOp().
|
inline |
Definition at line 615 of file dag.h.
References kind, and stabilizer::parser::NT_BV_NOT.
Referenced by isBVOp().
|
inline |
Definition at line 657 of file dag.h.
References isBVAdd(), isBVAnd(), isBVASHR(), isBVConcat(), isBVExtract(), isBVLSHR(), isBVMul(), isBVNand(), isBVNor(), isBVNot(), isBVOr(), isBVRepeat(), isBVRotLeft(), isBVRotRight(), isBVSDiv(), isBVShl(), isBVSignExt(), isBVSMod(), isBVSRem(), isBVSub(), isBVUDiv(), isBVURem(), isBVXnor(), isBVXor(), and isBVZeroExt().
Referenced by isBVTerm().
|
inline |
Definition at line 617 of file dag.h.
References kind, and stabilizer::parser::NT_BV_OR.
Referenced by isBVOp().
|
inline |
Definition at line 652 of file dag.h.
References kind, and stabilizer::parser::NT_BV_REPEAT.
Referenced by isBVOp().
|
inline |
Definition at line 655 of file dag.h.
References kind, and stabilizer::parser::NT_BV_ROTATE_LEFT.
Referenced by isBVOp().
|
inline |
Definition at line 656 of file dag.h.
References kind, and stabilizer::parser::NT_BV_ROTATE_RIGHT.
Referenced by isBVOp().
|
inline |
Definition at line 637 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SADDO.
|
inline |
Definition at line 630 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SDIV.
Referenced by isBVOp().
|
inline |
Definition at line 641 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SDIVO.
|
inline |
Definition at line 674 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SGE.
Referenced by isBVCompOp().
|
inline |
Definition at line 673 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SGT.
Referenced by isBVCompOp().
|
inline |
Definition at line 647 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SHL.
Referenced by isBVOp().
|
inline |
Definition at line 654 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SIGN_EXT.
Referenced by isBVOp().
|
inline |
Definition at line 672 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SLE.
Referenced by isBVCompOp().
|
inline |
Definition at line 671 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SLT.
Referenced by isBVCompOp().
|
inline |
Definition at line 633 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SMOD.
Referenced by isBVOp().
|
inline |
Definition at line 645 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SMODO.
|
inline |
Definition at line 639 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SMULO.
|
inline |
Definition at line 631 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SREM.
Referenced by isBVOp().
|
inline |
Definition at line 643 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SREMO.
|
inline |
Definition at line 626 of file dag.h.
References kind, and stabilizer::parser::NT_BV_SUB.
Referenced by isBVOp().
|
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().
|
inline |
Definition at line 693 of file dag.h.
References kind, and stabilizer::parser::NT_BV_TO_INT.
Referenced by isBVConv().
|
inline |
Definition at line 691 of file dag.h.
References kind, and stabilizer::parser::NT_BV_TO_NAT.
Referenced by isBVConv().
|
inline |
Definition at line 636 of file dag.h.
References kind, and stabilizer::parser::NT_BV_UADDO.
|
inline |
Definition at line 628 of file dag.h.
References kind, and stabilizer::parser::NT_BV_UDIV.
Referenced by isBVOp().
|
inline |
Definition at line 640 of file dag.h.
References kind, and stabilizer::parser::NT_BV_UDIVO.
|
inline |
Definition at line 670 of file dag.h.
References kind, and stabilizer::parser::NT_BV_UGE.
Referenced by isBVCompOp().
|
inline |
Definition at line 669 of file dag.h.
References kind, and stabilizer::parser::NT_BV_UGT.
Referenced by isBVCompOp().
|
inline |
Definition at line 668 of file dag.h.
References kind, and stabilizer::parser::NT_BV_ULE.
Referenced by isBVCompOp().
|
inline |
Definition at line 667 of file dag.h.
References kind, and stabilizer::parser::NT_BV_ULT.
Referenced by isBVCompOp().
|
inline |
Definition at line 632 of file dag.h.
References kind, and stabilizer::parser::NT_BV_UMOD.
|
inline |
Definition at line 644 of file dag.h.
References kind, and stabilizer::parser::NT_BV_UMODO.
|
inline |
Definition at line 638 of file dag.h.
References kind, and stabilizer::parser::NT_BV_UMULO.
|
inline |
Definition at line 629 of file dag.h.
References kind, and stabilizer::parser::NT_BV_UREM.
Referenced by isBVOp().
|
inline |
Definition at line 642 of file dag.h.
References kind, and stabilizer::parser::NT_BV_UREMO.
|
inline |
Definition at line 621 of file dag.h.
References kind, and stabilizer::parser::NT_BV_XNOR.
Referenced by isBVOp().
|
inline |
Definition at line 618 of file dag.h.
References kind, and stabilizer::parser::NT_BV_XOR.
Referenced by isBVOp().
|
inline |
Definition at line 653 of file dag.h.
References kind, and stabilizer::parser::NT_BV_ZERO_EXT.
Referenced by isBVOp().
|
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().
|
inline |
|
inline |
Definition at line 498 of file dag.h.
References kind, and stabilizer::parser::NT_CEIL.
Referenced by isArithOp().
|
inline |
|
inline |
Definition at line 353 of file dag.h.
References isConst(), and sort.
Referenced by isArithTerm(), and isNumeral().
|
inline |
Definition at line 342 of file dag.h.
References kind, stabilizer::parser::NT_CONST, stabilizer::parser::NT_CONST_E, stabilizer::parser::NT_CONST_FALSE, stabilizer::parser::NT_CONST_PI, stabilizer::parser::NT_CONST_TRUE, stabilizer::parser::NT_EPSILON, stabilizer::parser::NT_INFINITY, stabilizer::parser::NT_NAN, stabilizer::parser::NT_NEG_EPSILON, stabilizer::parser::NT_NEG_INFINITY, stabilizer::parser::NT_POS_EPSILON, and stabilizer::parser::NT_POS_INFINITY.
Referenced by isArithTerm(), isBVTerm(), isCBV(), isCFP(), isCInt(), isCReal(), isCRoundingMode(), and isCStr().
|
inline |
Definition at line 461 of file dag.h.
References kind, and stabilizer::parser::NT_CONST_ARRAY.
|
inline |
Definition at line 522 of file dag.h.
References kind, and stabilizer::parser::NT_COS.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 534 of file dag.h.
References kind, and stabilizer::parser::NT_COSH.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 526 of file dag.h.
References kind, and stabilizer::parser::NT_COT.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 538 of file dag.h.
References kind, and stabilizer::parser::NT_COTH.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 356 of file dag.h.
References isConst(), and sort.
Referenced by isArithTerm(), and isNumeral().
|
inline |
|
inline |
Definition at line 524 of file dag.h.
References kind, and stabilizer::parser::NT_CSC.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 537 of file dag.h.
References kind, and stabilizer::parser::NT_CSCH.
Referenced by isTranscendentalOp().
|
inline |
|
inline |
Definition at line 480 of file dag.h.
References isDistinctBool(), isDistinctOther(), kind, and stabilizer::parser::NT_DISTINCT.
Referenced by isArithComp(), isBVCompOp(), and isNeq().
|
inline |
Definition at line 476 of file dag.h.
References kind, and stabilizer::parser::NT_DISTINCT_BOOL.
Referenced by isDistinct().
|
inline |
Definition at line 477 of file dag.h.
References kind, and stabilizer::parser::NT_DISTINCT_OTHER.
Referenced by isDistinct().
|
inline |
Definition at line 494 of file dag.h.
References kind, and stabilizer::parser::NT_DIV_INT.
Referenced by isArithOp().
|
inline |
Definition at line 580 of file dag.h.
References kind, and stabilizer::parser::NT_IS_DIVISIBLE.
Referenced by isArithProp().
|
inline |
Definition at line 495 of file dag.h.
References kind, and stabilizer::parser::NT_DIV_REAL.
Referenced by isArithOp().
|
inline |
Definition at line 887 of file dag.h.
References kind, and stabilizer::parser::NT_DT_FUN_APPLY.
|
inline |
Definition at line 590 of file dag.h.
References kind, and stabilizer::parser::NT_CONST_E.
|
inline |
Definition at line 599 of file dag.h.
References kind, stabilizer::parser::NT_EPSILON, stabilizer::parser::NT_NEG_EPSILON, and stabilizer::parser::NT_POS_EPSILON.
|
inline |
Definition at line 473 of file dag.h.
References isEqBool(), isEqOther(), kind, and stabilizer::parser::NT_EQ.
Referenced by isArithComp(), isBVCompOp(), and isStrEq().
|
inline |
Definition at line 471 of file dag.h.
References kind, and stabilizer::parser::NT_EQ_BOOL.
Referenced by isEq().
|
inline |
Definition at line 472 of file dag.h.
References kind, and stabilizer::parser::NT_EQ_OTHER.
Referenced by isEq().
|
inline |
Check if the node is equivalent to another node.
| other | The other node |
Definition at line 1055 of file dag.h.
References isEquivalentTo().
|
inlineprivate |
Definition at line 1127 of file dag.h.
References children, children_hash, isEquivalentTo(), kind, name, and sort.
|
inline |
Check if the node is equivalent to another node.
| other | The other node |
Definition at line 1045 of file dag.h.
References isEquivalentTo().
Referenced by isEquivalentTo(), isEquivalentTo(), and isEquivalentTo().
|
inline |
Definition at line 325 of file dag.h.
References kind, and stabilizer::parser::NT_ERROR.
|
inline |
Definition at line 582 of file dag.h.
References kind, and stabilizer::parser::NT_IS_EVEN.
Referenced by isArithProp().
|
inline |
Definition at line 516 of file dag.h.
References kind, and stabilizer::parser::NT_EXP.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 613 of file dag.h.
References kind, and stabilizer::parser::NT_FACT.
|
inline |
Definition at line 339 of file dag.h.
References kind, stabilizer::parser::NT_CONST_FALSE, and sort.
|
inline |
Definition at line 499 of file dag.h.
References kind, and stabilizer::parser::NT_FLOOR.
Referenced by isArithOp().
|
inline |
Definition at line 706 of file dag.h.
References kind, and stabilizer::parser::NT_FP_ABS.
Referenced by isFPOp().
|
inline |
Definition at line 702 of file dag.h.
References kind, and stabilizer::parser::NT_FP_ADD.
Referenced by isFPOp().
|
inline |
|
inline |
Definition at line 745 of file dag.h.
References isFPToReal(), isFPToSBV(), isFPToUBV(), isToFP(), and isToFPUnsigned().
|
inline |
Definition at line 705 of file dag.h.
References kind, and stabilizer::parser::NT_FP_DIV.
Referenced by isFPOp().
|
inline |
Definition at line 731 of file dag.h.
References kind, and stabilizer::parser::NT_FP_EQ.
Referenced by isFPComp().
|
inline |
Definition at line 709 of file dag.h.
References kind, and stabilizer::parser::NT_FP_FMA.
Referenced by isFPOp().
|
inline |
Definition at line 729 of file dag.h.
References kind, and stabilizer::parser::NT_FP_GE.
Referenced by isFPComp().
|
inline |
Definition at line 730 of file dag.h.
References kind, and stabilizer::parser::NT_FP_GT.
Referenced by isFPComp().
|
inline |
Definition at line 756 of file dag.h.
References kind, and stabilizer::parser::NT_FP_IS_INF.
Referenced by isFPProp().
|
inline |
Definition at line 757 of file dag.h.
References kind, and stabilizer::parser::NT_FP_IS_NAN.
Referenced by isFPProp().
|
inline |
Definition at line 758 of file dag.h.
References kind, and stabilizer::parser::NT_FP_IS_NEG.
Referenced by isFPProp().
|
inline |
Definition at line 751 of file dag.h.
References kind, and stabilizer::parser::NT_FP_IS_NORMAL.
Referenced by isFPProp().
|
inline |
Definition at line 759 of file dag.h.
References kind, and stabilizer::parser::NT_FP_IS_POS.
Referenced by isFPProp().
|
inline |
Definition at line 752 of file dag.h.
References kind, and stabilizer::parser::NT_FP_IS_SUBNORMAL.
Referenced by isFPProp().
|
inline |
Definition at line 755 of file dag.h.
References kind, and stabilizer::parser::NT_FP_IS_ZERO.
Referenced by isFPProp().
|
inline |
Definition at line 727 of file dag.h.
References kind, and stabilizer::parser::NT_FP_LE.
Referenced by isFPComp().
|
inline |
Definition at line 728 of file dag.h.
References kind, and stabilizer::parser::NT_FP_LT.
Referenced by isFPComp().
|
inline |
Definition at line 718 of file dag.h.
References kind, and stabilizer::parser::NT_FP_MAX.
Referenced by isFPOp().
|
inline |
Definition at line 717 of file dag.h.
References kind, and stabilizer::parser::NT_FP_MIN.
Referenced by isFPOp().
|
inline |
Definition at line 704 of file dag.h.
References kind, and stabilizer::parser::NT_FP_MUL.
Referenced by isFPOp().
|
inline |
Definition at line 707 of file dag.h.
References kind, and stabilizer::parser::NT_FP_NEG.
Referenced by isFPOp().
|
inline |
|
inline |
Definition at line 760 of file dag.h.
References isFPIsInf(), isFPIsNaN(), isFPIsNeg(), isFPIsNormal(), isFPIsPos(), isFPIsSubnormal(), and isFPIsZero().
Referenced by isAtom().
|
inline |
Definition at line 708 of file dag.h.
References kind, and stabilizer::parser::NT_FP_REM.
Referenced by isFPOp().
|
inline |
Definition at line 714 of file dag.h.
References kind, and stabilizer::parser::NT_FP_ROUND_TO_INTEGRAL.
Referenced by isFPOp().
|
inline |
Definition at line 711 of file dag.h.
References kind, and stabilizer::parser::NT_FP_ROUND_TO_INTEGRAL.
|
inline |
Definition at line 710 of file dag.h.
References kind, and stabilizer::parser::NT_FP_SQRT.
Referenced by isFPOp().
|
inline |
Definition at line 703 of file dag.h.
References kind, and stabilizer::parser::NT_FP_SUB.
Referenced by isFPOp().
|
inline |
Definition at line 739 of file dag.h.
References kind, and stabilizer::parser::NT_FP_TO_REAL.
Referenced by isFPConv().
|
inline |
Definition at line 738 of file dag.h.
References kind, and stabilizer::parser::NT_FP_TO_SBV.
Referenced by isFPConv().
|
inline |
Definition at line 737 of file dag.h.
References kind, and stabilizer::parser::NT_FP_TO_UBV.
Referenced by isFPConv().
|
inline |
Definition at line 886 of file dag.h.
References kind, and stabilizer::parser::NT_FUNC_APPLY.
|
inline |
Definition at line 882 of file dag.h.
References kind, and stabilizer::parser::NT_FUNC_DEC.
|
inline |
Definition at line 883 of file dag.h.
References kind, and stabilizer::parser::NT_FUNC_DEF.
|
inline |
Definition at line 885 of file dag.h.
References kind, and stabilizer::parser::NT_FUNC_PARAM.
|
inline |
Definition at line 884 of file dag.h.
References kind, and stabilizer::parser::NT_FUNC_REC.
|
inline |
Definition at line 890 of file dag.h.
References kind, and stabilizer::parser::NT_FUNC_REC_APPLY.
|
inline |
Definition at line 611 of file dag.h.
References kind, and stabilizer::parser::NT_GCD.
|
inline |
Definition at line 558 of file dag.h.
References kind, and stabilizer::parser::NT_GE.
Referenced by isArithComp().
|
inline |
Definition at line 559 of file dag.h.
References kind, and stabilizer::parser::NT_GT.
Referenced by isArithComp().
|
inline |
Definition at line 508 of file dag.h.
References kind, and stabilizer::parser::NT_IAND.
Referenced by isRealNonlinearOp().
|
inline |
Definition at line 467 of file dag.h.
References kind, and stabilizer::parser::NT_IMPLIES.
|
inline |
Definition at line 591 of file dag.h.
References kind, stabilizer::parser::NT_INFINITY, stabilizer::parser::NT_NEG_INFINITY, and stabilizer::parser::NT_POS_INFINITY.
|
inline |
Definition at line 579 of file dag.h.
References kind, and stabilizer::parser::NT_IS_INT.
Referenced by isArithProp().
|
inline |
|
inline |
Definition at line 696 of file dag.h.
References kind, and stabilizer::parser::NT_INT_TO_BV.
Referenced by isBVConv().
|
inline |
Definition at line 879 of file dag.h.
References kind, and stabilizer::parser::NT_ITE.
Referenced by isArithTerm(), and isBVTerm().
|
inline |
Definition at line 519 of file dag.h.
References kind, and stabilizer::parser::NT_LB.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 612 of file dag.h.
References kind, and stabilizer::parser::NT_LCM.
|
inline |
Definition at line 556 of file dag.h.
References kind, and stabilizer::parser::NT_LE.
Referenced by isArithComp().
|
inline |
|
inline |
Definition at line 872 of file dag.h.
References kind, and stabilizer::parser::NT_LET.
|
inline |
Definition at line 427 of file dag.h.
References kind, and stabilizer::parser::NT_LET_BIND_VAR.
Referenced by getPureName(), and isVar().
|
inline |
Definition at line 874 of file dag.h.
References kind, and stabilizer::parser::NT_LET_BIND_VAR_LIST.
|
inline |
Definition at line 873 of file dag.h.
References kind, and stabilizer::parser::NT_LET_CHAIN.
|
inline |
Definition at line 520 of file dag.h.
References kind, and stabilizer::parser::NT_LG.
Referenced by isTranscendentalOp().
|
inline |
|
inline |
Definition at line 518 of file dag.h.
References kind, and stabilizer::parser::NT_LN.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 517 of file dag.h.
References kind, and stabilizer::parser::NT_LOG.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 557 of file dag.h.
References kind, and stabilizer::parser::NT_LT.
Referenced by isArithComp().
|
inline |
Definition at line 451 of file dag.h.
References kind, and stabilizer::parser::NT_MAX.
Referenced by isArithTerm(), and isBVTerm().
|
inline |
Definition at line 452 of file dag.h.
References kind, and stabilizer::parser::NT_MIN.
Referenced by isArithTerm(), and isBVTerm().
|
inline |
Definition at line 496 of file dag.h.
References kind, and stabilizer::parser::NT_MOD.
Referenced by isArithOp().
|
inline |
Definition at line 492 of file dag.h.
References kind, and stabilizer::parser::NT_MUL.
Referenced by isArithOp().
|
inline |
Definition at line 598 of file dag.h.
References kind, and stabilizer::parser::NT_NAN.
|
inline |
Definition at line 692 of file dag.h.
References kind, and stabilizer::parser::NT_NAT_TO_BV.
Referenced by isBVConv().
|
inline |
Definition at line 493 of file dag.h.
References kind, and stabilizer::parser::NT_NEG.
Referenced by isArithOp().
|
inline |
Definition at line 605 of file dag.h.
References kind, and stabilizer::parser::NT_NEG_EPSILON.
|
inline |
Definition at line 597 of file dag.h.
References kind, and stabilizer::parser::NT_NEG_INFINITY.
|
inline |
Definition at line 484 of file dag.h.
References isDistinct().
|
inline |
Definition at line 466 of file dag.h.
References kind, and stabilizer::parser::NT_NOT.
Referenced by isLiteral().
|
inline |
Definition at line 322 of file dag.h.
References kind, and stabilizer::parser::NT_NULL.
|
inline |
|
inline |
Definition at line 583 of file dag.h.
References kind, and stabilizer::parser::NT_IS_ODD.
Referenced by isArithProp().
|
inline |
Definition at line 465 of file dag.h.
References kind, and stabilizer::parser::NT_OR.
|
inline |
Definition at line 589 of file dag.h.
References kind, and stabilizer::parser::NT_CONST_PI.
|
inline |
Definition at line 428 of file dag.h.
References kind, and stabilizer::parser::NT_PLACEHOLDER_VAR.
Referenced by isVar().
|
inline |
Definition at line 604 of file dag.h.
References kind, and stabilizer::parser::NT_POS_EPSILON.
|
inline |
Definition at line 596 of file dag.h.
References kind, and stabilizer::parser::NT_POS_INFINITY.
|
inline |
Definition at line 510 of file dag.h.
References kind, and stabilizer::parser::NT_POW.
Referenced by isRealNonlinearOp().
|
inline |
Definition at line 509 of file dag.h.
References kind, and stabilizer::parser::NT_POW2.
Referenced by isRealNonlinearOp().
|
inline |
Definition at line 581 of file dag.h.
References kind, and stabilizer::parser::NT_IS_PRIME.
Referenced by isArithProp().
|
inline |
Definition at line 426 of file dag.h.
References kind, and stabilizer::parser::NT_QUANT_VAR.
Referenced by isVar().
|
inline |
Definition at line 513 of file dag.h.
References isIAnd(), isPow(), isPow2(), isSafeSqrt(), and isSqrt().
Referenced by isArithTerm().
|
inline |
Definition at line 850 of file dag.h.
References kind, and stabilizer::parser::NT_REG_ALL.
|
inline |
Definition at line 851 of file dag.h.
References kind, and stabilizer::parser::NT_REG_ALLCHAR.
|
inline |
Definition at line 862 of file dag.h.
References kind, and stabilizer::parser::NT_REG_COMPLEMENT.
|
inline |
Definition at line 852 of file dag.h.
References kind, and stabilizer::parser::NT_REG_CONCAT.
|
inline |
Definition at line 855 of file dag.h.
References kind, and stabilizer::parser::NT_REG_DIFF.
|
inline |
Definition at line 854 of file dag.h.
References kind, and stabilizer::parser::NT_REG_INTER.
|
inline |
Definition at line 861 of file dag.h.
References kind, and stabilizer::parser::NT_REG_LOOP.
|
inline |
Definition at line 849 of file dag.h.
References kind, and stabilizer::parser::NT_REG_NONE.
|
inline |
Definition at line 858 of file dag.h.
References kind, and stabilizer::parser::NT_REG_OPT.
|
inline |
Definition at line 857 of file dag.h.
References kind, and stabilizer::parser::NT_REG_PLUS.
|
inline |
Definition at line 859 of file dag.h.
References kind, and stabilizer::parser::NT_REG_RANGE.
|
inline |
Definition at line 860 of file dag.h.
References kind, and stabilizer::parser::NT_REG_REPEAT.
|
inline |
Definition at line 856 of file dag.h.
References kind, and stabilizer::parser::NT_REG_STAR.
|
inline |
Definition at line 853 of file dag.h.
References kind, and stabilizer::parser::NT_REG_UNION.
|
inline |
Definition at line 500 of file dag.h.
References kind, and stabilizer::parser::NT_ROUND.
Referenced by isArithOp().
|
inline |
Definition at line 512 of file dag.h.
References kind, and stabilizer::parser::NT_SAFESQRT.
Referenced by isRealNonlinearOp().
|
inline |
Definition at line 695 of file dag.h.
References kind, and stabilizer::parser::NT_SBV_TO_INT.
|
inline |
Definition at line 523 of file dag.h.
References kind, and stabilizer::parser::NT_SEC.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 536 of file dag.h.
References kind, and stabilizer::parser::NT_SECH.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 766 of file dag.h.
References kind, and stabilizer::parser::NT_SELECT.
Referenced by isArrayOp().
|
inline |
Definition at line 521 of file dag.h.
References kind, and stabilizer::parser::NT_SIN.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 533 of file dag.h.
References kind, and stabilizer::parser::NT_SINH.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 511 of file dag.h.
References kind, and stabilizer::parser::NT_SQRT.
Referenced by isRealNonlinearOp().
|
inline |
Definition at line 767 of file dag.h.
References kind, and stabilizer::parser::NT_STORE.
Referenced by isArrayOp().
|
inline |
Definition at line 779 of file dag.h.
References kind, and stabilizer::parser::NT_STR_CHARAT.
Referenced by isStrOp().
|
inline |
|
inline |
Definition at line 774 of file dag.h.
References kind, and stabilizer::parser::NT_STR_CONCAT.
Referenced by isStrOp().
|
inline |
Definition at line 831 of file dag.h.
References kind, and stabilizer::parser::NT_STR_CONTAINS.
Referenced by isStrProp().
|
inline |
Definition at line 843 of file dag.h.
References isStrFromCode(), isStrFromInt(), isStrToCode(), isStrToInt(), and isStrToReg().
|
inline |
Definition at line 820 of file dag.h.
References getChild(), getChildrenSize(), isCStr(), isEq(), isStrOp(), and isVStr().
Referenced by isStrComp().
|
inline |
Definition at line 842 of file dag.h.
References kind, and stabilizer::parser::NT_STR_FROM_CODE.
Referenced by isStrConv().
|
inline |
Definition at line 838 of file dag.h.
References kind, and stabilizer::parser::NT_STR_FROM_INT.
Referenced by isStrConv().
|
inline |
Definition at line 819 of file dag.h.
References kind, and stabilizer::parser::NT_STR_GE.
Referenced by isStrComp().
|
inline |
Definition at line 818 of file dag.h.
References kind, and stabilizer::parser::NT_STR_GT.
Referenced by isStrComp().
|
inline |
Definition at line 778 of file dag.h.
References kind, and stabilizer::parser::NT_STR_INDEXOF.
Referenced by isStrOp().
|
inline |
Definition at line 830 of file dag.h.
References kind, and stabilizer::parser::NT_STR_IN_REG.
Referenced by isStrProp().
|
inline |
Definition at line 832 of file dag.h.
References kind, and stabilizer::parser::NT_STR_IS_DIGIT.
Referenced by isStrProp().
|
inline |
Definition at line 817 of file dag.h.
References kind, and stabilizer::parser::NT_STR_LE.
Referenced by isStrComp().
|
inline |
Definition at line 773 of file dag.h.
References kind, and stabilizer::parser::NT_STR_LEN.
Referenced by isStrOp().
|
inline |
Definition at line 816 of file dag.h.
References kind, and stabilizer::parser::NT_STR_LT.
Referenced by isStrComp().
|
inline |
Definition at line 793 of file dag.h.
References kind, and stabilizer::parser::NT_STR_NUM_SPLITS.
Referenced by isStrOp().
|
inline |
Definition at line 802 of file dag.h.
References kind, and stabilizer::parser::NT_STR_NUM_SPLITS_RE.
Referenced by isStrOp().
|
inline |
Definition at line 805 of file dag.h.
References isStrCharat(), isStrConcat(), isStrIndexof(), isStrLen(), isStrNumSplits(), isStrNumSplitsRe(), isStrPrefixof(), isStrReplace(), isStrReplaceAll(), isStrRev(), isStrSplit(), isStrSplitAt(), isStrSplitAtRe(), isStrSplitRest(), isStrSplitRestRe(), isStrSubstr(), isStrSuffixof(), isStrToLower(), isStrToUpper(), isStrUpdate(), isUFApplication(), and sort.
Referenced by isStrEq().
|
inline |
Definition at line 776 of file dag.h.
References kind, and stabilizer::parser::NT_STR_PREFIXOF.
Referenced by isStrOp().
|
inline |
Definition at line 833 of file dag.h.
References isStrContains(), isStrInReg(), and isStrIsDigit().
Referenced by isAtom().
|
inline |
Definition at line 781 of file dag.h.
References kind, and stabilizer::parser::NT_STR_REPLACE.
Referenced by isStrOp().
|
inline |
Definition at line 782 of file dag.h.
References kind, and stabilizer::parser::NT_STR_REPLACE_ALL.
Referenced by isStrOp().
|
inline |
Definition at line 787 of file dag.h.
References kind, and stabilizer::parser::NT_STR_REV.
Referenced by isStrOp().
|
inline |
Definition at line 788 of file dag.h.
References kind, and stabilizer::parser::NT_STR_SPLIT.
Referenced by isStrOp().
|
inline |
Definition at line 789 of file dag.h.
References kind, and stabilizer::parser::NT_STR_SPLIT_AT.
Referenced by isStrOp().
|
inline |
Definition at line 796 of file dag.h.
References kind, and stabilizer::parser::NT_STR_SPLIT_AT_RE.
Referenced by isStrOp().
|
inline |
Definition at line 790 of file dag.h.
References kind, and stabilizer::parser::NT_STR_SPLIT_REST.
Referenced by isStrOp().
|
inline |
Definition at line 799 of file dag.h.
References kind, and stabilizer::parser::NT_STR_SPLIT_REST_RE.
Referenced by isStrOp().
|
inline |
Definition at line 775 of file dag.h.
References kind, and stabilizer::parser::NT_STR_SUBSTR.
Referenced by isStrOp().
|
inline |
Definition at line 777 of file dag.h.
References kind, and stabilizer::parser::NT_STR_SUFFIXOF.
Referenced by isStrOp().
|
inline |
Definition at line 841 of file dag.h.
References kind, and stabilizer::parser::NT_STR_TO_CODE.
Referenced by isStrConv().
|
inline |
Definition at line 839 of file dag.h.
References kind, and stabilizer::parser::NT_STR_TO_INT.
Referenced by isStrConv().
|
inline |
Definition at line 785 of file dag.h.
References kind, and stabilizer::parser::NT_STR_TO_LOWER.
Referenced by isStrOp().
|
inline |
Definition at line 840 of file dag.h.
References kind, and stabilizer::parser::NT_STR_TO_REG.
Referenced by isStrConv().
|
inline |
Definition at line 786 of file dag.h.
References kind, and stabilizer::parser::NT_STR_TO_UPPER.
Referenced by isStrOp().
|
inline |
Definition at line 780 of file dag.h.
References kind, and stabilizer::parser::NT_STR_UPDATE.
Referenced by isStrOp().
|
inline |
Definition at line 491 of file dag.h.
References kind, and stabilizer::parser::NT_SUB.
Referenced by isArithOp().
|
inline |
Definition at line 525 of file dag.h.
References kind, and stabilizer::parser::NT_TAN.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 535 of file dag.h.
References kind, and stabilizer::parser::NT_TANH.
Referenced by isTranscendentalOp().
|
inline |
Definition at line 425 of file dag.h.
References kind, and stabilizer::parser::NT_TEMP_VAR.
Referenced by isVar().
|
inline |
Definition at line 740 of file dag.h.
References kind, and stabilizer::parser::NT_FP_TO_FP.
Referenced by isFPConv().
|
inline |
Definition at line 741 of file dag.h.
References kind, and stabilizer::parser::NT_FP_TO_FP_UNSIGNED.
Referenced by isFPConv().
|
inline |
Definition at line 575 of file dag.h.
References kind, and stabilizer::parser::NT_TO_INT.
Referenced by isArithConv().
|
inline |
Definition at line 574 of file dag.h.
References kind, and stabilizer::parser::NT_TO_REAL.
Referenced by isArithConv().
|
inline |
Definition at line 546 of file dag.h.
References isAcos(), isAcosh(), isAcot(), isAcoth(), isAcsc(), isAcsch(), isAsec(), isAsech(), isAsin(), isAsinh(), isAtan(), isAtan2(), isAtanh(), isCos(), isCosh(), isCot(), isCoth(), isCsc(), isCsch(), isExp(), isLb(), isLg(), isLn(), isLog(), isSec(), isSech(), isSin(), isSinh(), isTan(), and isTanh().
Referenced by isArithTerm().
|
inline |
Definition at line 336 of file dag.h.
References kind, stabilizer::parser::NT_CONST_TRUE, and sort.
|
inline |
Definition at line 694 of file dag.h.
References kind, and stabilizer::parser::NT_UBV_TO_INT.
|
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().
|
inline |
Definition at line 448 of file dag.h.
References kind, and stabilizer::parser::NT_UF_NAME.
|
inline |
Definition at line 328 of file dag.h.
References kind, and stabilizer::parser::NT_UNKNOWN.
|
inline |
Definition at line 440 of file dag.h.
References isLetBindVar(), isPlaceholderVar(), isQuantVar(), isTempVar(), isVBool(), isVBV(), isVFP(), isVInt(), isVReal(), isVReg(), isVRoundingMode(), and isVStr().
Referenced by isArithTerm(), and isBVTerm().
|
inline |
Definition at line 373 of file dag.h.
References kind, stabilizer::parser::NT_LET_BIND_VAR, stabilizer::parser::NT_PLACEHOLDER_VAR, stabilizer::parser::NT_QUANT_VAR, stabilizer::parser::NT_TEMP_VAR, stabilizer::parser::NT_VAR, and sort.
Referenced by isLiteral(), and isVar().
|
inline |
Definition at line 397 of file dag.h.
References kind, stabilizer::parser::NT_LET_BIND_VAR, stabilizer::parser::NT_PLACEHOLDER_VAR, stabilizer::parser::NT_QUANT_VAR, stabilizer::parser::NT_TEMP_VAR, stabilizer::parser::NT_VAR, and sort.
Referenced by isBVTerm(), and isVar().
|
inline |
Definition at line 404 of file dag.h.
References kind, stabilizer::parser::NT_LET_BIND_VAR, stabilizer::parser::NT_PLACEHOLDER_VAR, stabilizer::parser::NT_QUANT_VAR, stabilizer::parser::NT_TEMP_VAR, stabilizer::parser::NT_VAR, and sort.
Referenced by isVar().
|
inline |
Definition at line 383 of file dag.h.
References kind, stabilizer::parser::NT_LET_BIND_VAR, stabilizer::parser::NT_PLACEHOLDER_VAR, stabilizer::parser::NT_QUANT_VAR, stabilizer::parser::NT_TEMP_VAR, stabilizer::parser::NT_VAR, and sort.
Referenced by isArithTerm(), and isVar().
|
inline |
Definition at line 390 of file dag.h.
References kind, stabilizer::parser::NT_LET_BIND_VAR, stabilizer::parser::NT_PLACEHOLDER_VAR, stabilizer::parser::NT_QUANT_VAR, stabilizer::parser::NT_TEMP_VAR, stabilizer::parser::NT_VAR, and sort.
Referenced by isArithTerm(), and isVar().
|
inline |
Definition at line 431 of file dag.h.
References kind, stabilizer::parser::NT_LET_BIND_VAR, stabilizer::parser::NT_PLACEHOLDER_VAR, stabilizer::parser::NT_QUANT_VAR, stabilizer::parser::NT_TEMP_VAR, stabilizer::parser::NT_VAR, and sort.
Referenced by isVar().
|
inline |
Definition at line 411 of file dag.h.
References kind, stabilizer::parser::NT_LET_BIND_VAR, stabilizer::parser::NT_PLACEHOLDER_VAR, stabilizer::parser::NT_QUANT_VAR, stabilizer::parser::NT_TEMP_VAR, stabilizer::parser::NT_VAR, and sort.
Referenced by isVar().
|
inline |
Definition at line 418 of file dag.h.
References kind, stabilizer::parser::NT_LET_BIND_VAR, stabilizer::parser::NT_PLACEHOLDER_VAR, stabilizer::parser::NT_QUANT_VAR, stabilizer::parser::NT_TEMP_VAR, stabilizer::parser::NT_VAR, and sort.
|
inline |
Definition at line 445 of file dag.h.
References kind, stabilizer::parser::NT_VAR, and sort.
|
inline |
Definition at line 468 of file dag.h.
References kind, and stabilizer::parser::NT_XOR.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 959 of file dag.h.
References stabilizer::parser::newValue(), and value.
|
inline |
Definition at line 961 of file dag.h.
References stabilizer::parser::newValue(), and value.
|
inline |
Definition at line 955 of file dag.h.
References stabilizer::parser::newValue(), and value.
|
inline |
Definition at line 963 of file dag.h.
References stabilizer::parser::newValue(), and value.
|
inline |
Definition at line 957 of file dag.h.
References stabilizer::parser::newValue(), and value.
|
inline |
|
inline |
Definition at line 907 of file dag.h.
References getPureName().
| 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.
| out_sort | The output sort |
| body | The body of the function |
| params | The parameters of the function |
| is_rec | True 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.
| 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.
| out_sort | The output sort |
| body | The body of the function |
| params | The parameters of the function |
| is_rec | True 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.
|
mutableprivate |
|
mutableprivate |
|
private |
Definition at line 81 of file dag.h.
Referenced by clear(), DAGNode(), getChild(), getChildren(), getChildrenSize(), getFuncBody(), getQuantBody(), hashCode(), isEquivalentTo(), isInternal(), isLeaf(), replace_children(), updateApplyFunc(), and updateFuncDef().
|
private |
Definition at line 83 of file dag.h.
Referenced by clear(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), hashCode(), isEquivalentTo(), operator!=(), and operator==().
|
mutableprivate |
|
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().
|
private |
Definition at line 79 of file dag.h.
Referenced by clear(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), getName(), getPureName(), hashCode(), isEquivalentTo(), operator!=(), operator==(), rename(), and setName().
|
private |
Definition at line 77 of file dag.h.
Referenced by DAGNode(), getSort(), hashCode(), isArithTerm(), isArray(), isArrayOp(), isAtom(), isBVTerm(), isCBool(), isCBV(), isCFP(), isCInt(), isCReal(), isCRoundingMode(), isCStr(), isEquivalentTo(), isFalse(), isFPOp(), isStrOp(), isTrue(), isVBool(), isVBV(), isVFP(), isVInt(), isVReal(), isVReg(), isVRoundingMode(), isVStr(), isVUF(), operator!=(), operator==(), updateApplyFunc(), and updateFuncDef().
|
private |
Definition at line 80 of file dag.h.
Referenced by DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), DAGNode(), getValue(), setValue(), setValue(), setValue(), setValue(), setValue(), and setValue().