|
SMTStabilizer API
Public API documentation for SMTStabilizer
|
#include <dag.h>
Public Member Functions | |
| NodeManager () | |
| ~NodeManager () | |
| std::shared_ptr< DAGNode > | getNode (const size_t index) const |
| size_t | getIndex (const std::shared_ptr< DAGNode > &node) const |
| size_t | size () const |
| std::shared_ptr< DAGNode > | createNode (std::shared_ptr< Sort > sort, NODE_KIND kind, std::string name, std::vector< std::shared_ptr< DAGNode > > children) |
| std::shared_ptr< DAGNode > | createNode (std::shared_ptr< Sort > sort, NODE_KIND kind, std::string name) |
| std::shared_ptr< DAGNode > | createNode (std::shared_ptr< Sort > sort, NODE_KIND kind) |
| std::shared_ptr< DAGNode > | createNode (std::shared_ptr< Sort > sort) |
| std::shared_ptr< DAGNode > | createNode () |
| std::shared_ptr< DAGNode > | createNode (NODE_KIND kind, std::string name) |
| std::shared_ptr< DAGNode > | createNode (NODE_KIND kind) |
| std::shared_ptr< DAGNode > | createNode (std::shared_ptr< Sort > sort, const Integer &v) |
| std::shared_ptr< DAGNode > | createNode (std::shared_ptr< Sort > sort, const Real &v) |
| std::shared_ptr< DAGNode > | createNode (std::shared_ptr< Sort > sort, const double &v) |
| std::shared_ptr< DAGNode > | createNode (std::shared_ptr< Sort > sort, const int &v) |
| std::shared_ptr< DAGNode > | createNode (std::shared_ptr< Sort > sort, const bool &v) |
| std::shared_ptr< DAGNode > | createNode (const std::string &n) |
| void | clear () |
Static Public Member Functions | |
| static std::shared_ptr< DAGNode > | getNull () |
| static std::shared_ptr< DAGNode > | getUnknown () |
| static std::shared_ptr< DAGNode > | getTrue () |
| static std::shared_ptr< DAGNode > | getFalse () |
| static std::shared_ptr< DAGNode > | getE () |
| static std::shared_ptr< DAGNode > | getPi () |
| static std::shared_ptr< DAGNode > | getNaN () |
| static std::shared_ptr< DAGNode > | getEpsilon () |
| static std::shared_ptr< DAGNode > | getPosEpsilon () |
| static std::shared_ptr< DAGNode > | getNegEpsilon () |
| static std::shared_ptr< DAGNode > | getStrInf () |
| static std::shared_ptr< DAGNode > | getStrPosInf () |
| static std::shared_ptr< DAGNode > | getStrNegInf () |
| static std::shared_ptr< DAGNode > | getIntInf () |
| static std::shared_ptr< DAGNode > | getIntPosInf () |
| static std::shared_ptr< DAGNode > | getIntNegInf () |
| static std::shared_ptr< DAGNode > | getRealInf () |
| static std::shared_ptr< DAGNode > | getRealPosInf () |
| static std::shared_ptr< DAGNode > | getRealNegInf () |
Static Public Attributes | |
| static const std::shared_ptr< DAGNode > | NULL_NODE |
| static const std::shared_ptr< DAGNode > | UNKNOWN_NODE |
| static const std::shared_ptr< DAGNode > | ERROR_NODE |
| static const std::shared_ptr< DAGNode > | TRUE_NODE |
| static const std::shared_ptr< DAGNode > | FALSE_NODE |
| static const std::shared_ptr< DAGNode > | E_NODE |
| static const std::shared_ptr< DAGNode > | PI_NODE |
| static const std::shared_ptr< DAGNode > | NAN_NODE |
| static const std::shared_ptr< DAGNode > | EPSILON_NODE |
| static const std::shared_ptr< DAGNode > | POS_EPSILON_NODE |
| static const std::shared_ptr< DAGNode > | NEG_EPSILON_NODE |
| static const std::shared_ptr< DAGNode > | STR_INF_NODE |
| static const std::shared_ptr< DAGNode > | STR_POS_INF_NODE |
| static const std::shared_ptr< DAGNode > | STR_NEG_INF_NODE |
| static const std::shared_ptr< DAGNode > | INT_INF_NODE |
| static const std::shared_ptr< DAGNode > | INT_POS_INF_NODE |
| static const std::shared_ptr< DAGNode > | INT_NEG_INF_NODE |
| static const std::shared_ptr< DAGNode > | REAL_INF_NODE |
| static const std::shared_ptr< DAGNode > | REAL_POS_INF_NODE |
| static const std::shared_ptr< DAGNode > | REAL_NEG_INF_NODE |
Private Member Functions | |
| void | initializeStaticNodes () |
| std::shared_ptr< DAGNode > | insertNodeToBucket (const std::shared_ptr< DAGNode > &node) |
Private Attributes | |
| std::vector< std::shared_ptr< DAGNode > > | nodes |
| std::array< std::unordered_map< size_t, std::vector< std::pair< std::shared_ptr< DAGNode >, size_t > > >, NUM_KINDS > | node_buckets |
| size_t | static_node_count = 0 |
| stabilizer::parser::NodeManager::NodeManager | ( | ) |
Definition at line 1062 of file dag.cpp.
References initializeStaticNodes(), node_buckets, nodes, stabilizer::parser::NUM_KINDS, and stabilizer::parser::static_kinds.
| stabilizer::parser::NodeManager::~NodeManager | ( | ) |
| void stabilizer::parser::NodeManager::clear | ( | ) |
Definition at line 1100 of file dag.cpp.
References node_buckets, nodes, and static_node_count.
Referenced by ~NodeManager().
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::createNode | ( | ) |
Definition at line 1233 of file dag.cpp.
References insertNodeToBucket().
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::createNode | ( | const std::string & | n | ) |
Definition at line 1279 of file dag.cpp.
References insertNodeToBucket().
Definition at line 1244 of file dag.cpp.
References insertNodeToBucket().
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::createNode | ( | NODE_KIND | kind, |
| std::string | name | ||
| ) |
Definition at line 1238 of file dag.cpp.
References insertNodeToBucket().
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::createNode | ( | std::shared_ptr< Sort > | sort | ) |
Definition at line 1228 of file dag.cpp.
References insertNodeToBucket().
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::createNode | ( | std::shared_ptr< Sort > | sort, |
| const bool & | v | ||
| ) |
Definition at line 1273 of file dag.cpp.
References insertNodeToBucket().
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::createNode | ( | std::shared_ptr< Sort > | sort, |
| const double & | v | ||
| ) |
Definition at line 1261 of file dag.cpp.
References insertNodeToBucket().
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::createNode | ( | std::shared_ptr< Sort > | sort, |
| const int & | v | ||
| ) |
Definition at line 1267 of file dag.cpp.
References insertNodeToBucket().
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::createNode | ( | std::shared_ptr< Sort > | sort, |
| const Integer & | v | ||
| ) |
Definition at line 1249 of file dag.cpp.
References insertNodeToBucket().
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::createNode | ( | std::shared_ptr< Sort > | sort, |
| const Real & | v | ||
| ) |
Definition at line 1255 of file dag.cpp.
References insertNodeToBucket().
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::createNode | ( | std::shared_ptr< Sort > | sort, |
| NODE_KIND | kind | ||
| ) |
Definition at line 1222 of file dag.cpp.
References insertNodeToBucket().
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::createNode | ( | std::shared_ptr< Sort > | sort, |
| NODE_KIND | kind, | ||
| std::string | name | ||
| ) |
Definition at line 1215 of file dag.cpp.
References insertNodeToBucket().
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::createNode | ( | std::shared_ptr< Sort > | sort, |
| NODE_KIND | kind, | ||
| std::string | name, | ||
| std::vector< std::shared_ptr< DAGNode > > | children | ||
| ) |
Definition at line 1204 of file dag.cpp.
References insertNodeToBucket().
|
inlinestatic |
|
inlinestatic |
Definition at line 1250 of file dag.h.
References EPSILON_NODE.
|
inlinestatic |
Definition at line 1246 of file dag.h.
References FALSE_NODE.
| size_t stabilizer::parser::NodeManager::getIndex | ( | const std::shared_ptr< DAGNode > & | node | ) | const |
Definition at line 1083 of file dag.cpp.
References node_buckets.
|
inlinestatic |
Definition at line 1258 of file dag.h.
References INT_INF_NODE.
|
inlinestatic |
Definition at line 1260 of file dag.h.
References INT_NEG_INF_NODE.
|
inlinestatic |
Definition at line 1259 of file dag.h.
References INT_POS_INF_NODE.
|
inlinestatic |
|
inlinestatic |
Definition at line 1252 of file dag.h.
References NEG_EPSILON_NODE.
| std::shared_ptr< DAGNode > stabilizer::parser::NodeManager::getNode | ( | const size_t | index | ) | const |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Definition at line 1251 of file dag.h.
References POS_EPSILON_NODE.
|
inlinestatic |
Definition at line 1261 of file dag.h.
References REAL_INF_NODE.
|
inlinestatic |
Definition at line 1263 of file dag.h.
References REAL_NEG_INF_NODE.
|
inlinestatic |
Definition at line 1262 of file dag.h.
References REAL_POS_INF_NODE.
|
inlinestatic |
Definition at line 1255 of file dag.h.
References STR_INF_NODE.
|
inlinestatic |
Definition at line 1257 of file dag.h.
References STR_NEG_INF_NODE.
|
inlinestatic |
Definition at line 1256 of file dag.h.
References STR_POS_INF_NODE.
|
inlinestatic |
|
inlinestatic |
Definition at line 1244 of file dag.h.
References UNKNOWN_NODE.
|
private |
Definition at line 1173 of file dag.cpp.
References E_NODE, EPSILON_NODE, ERROR_NODE, FALSE_NODE, insertNodeToBucket(), INT_INF_NODE, INT_NEG_INF_NODE, INT_POS_INF_NODE, NAN_NODE, NEG_EPSILON_NODE, nodes, NULL_NODE, PI_NODE, POS_EPSILON_NODE, REAL_INF_NODE, REAL_NEG_INF_NODE, REAL_POS_INF_NODE, static_node_count, STR_INF_NODE, STR_NEG_INF_NODE, STR_POS_INF_NODE, TRUE_NODE, and UNKNOWN_NODE.
Referenced by NodeManager().
|
private |
Definition at line 1114 of file dag.cpp.
References node_buckets, and nodes.
Referenced by createNode(), createNode(), createNode(), createNode(), createNode(), createNode(), createNode(), createNode(), createNode(), createNode(), createNode(), createNode(), createNode(), and initializeStaticNodes().
| size_t stabilizer::parser::NodeManager::size | ( | ) | const |
|
inlinestatic |
Definition at line 1279 of file dag.h.
Referenced by getE(), initializeStaticNodes(), stabilizer::parser::Parser::mkConstReal(), and stabilizer::parser::Parser::mkE().
|
inlinestatic |
Definition at line 1293 of file dag.h.
Referenced by getEpsilon(), initializeStaticNodes(), and stabilizer::parser::Parser::mkEpsilon().
|
inlinestatic |
Definition at line 1273 of file dag.h.
Referenced by initializeStaticNodes().
|
inlinestatic |
Definition at line 1277 of file dag.h.
Referenced by getFalse(), initializeStaticNodes(), and stabilizer::parser::Parser::mkFalse().
|
inlinestatic |
Definition at line 1315 of file dag.h.
Referenced by getIntInf(), initializeStaticNodes(), and stabilizer::parser::Parser::mkInfinity().
|
inlinestatic |
Definition at line 1321 of file dag.h.
Referenced by getIntNegInf(), initializeStaticNodes(), and stabilizer::parser::Parser::mkNegInfinity().
|
inlinestatic |
Definition at line 1317 of file dag.h.
Referenced by getIntPosInf(), initializeStaticNodes(), and stabilizer::parser::Parser::mkPosInfinity().
|
inlinestatic |
Definition at line 1291 of file dag.h.
Referenced by getNaN(), initializeStaticNodes(), stabilizer::parser::Parser::mkNaN(), and stabilizer::parser::Parser::rewrite().
|
inlinestatic |
Definition at line 1299 of file dag.h.
Referenced by getNegEpsilon(), initializeStaticNodes(), and stabilizer::parser::Parser::mkNegEpsilon().
|
private |
Definition at line 1206 of file dag.h.
Referenced by clear(), getIndex(), insertNodeToBucket(), and NodeManager().
|
private |
Definition at line 1199 of file dag.h.
Referenced by clear(), getNode(), initializeStaticNodes(), insertNodeToBucket(), NodeManager(), and size().
|
inlinestatic |
Definition at line 1267 of file dag.h.
Referenced by getNull(), stabilizer::parser::Parser::getVariable(), initializeStaticNodes(), stabilizer::parser::Parser::mkFuncDec(), and stabilizer::parser::Parser::parseQuant().
|
inlinestatic |
Definition at line 1281 of file dag.h.
Referenced by getPi(), initializeStaticNodes(), stabilizer::parser::Parser::mkConstReal(), and stabilizer::parser::Parser::mkPi().
|
inlinestatic |
Definition at line 1295 of file dag.h.
Referenced by getPosEpsilon(), initializeStaticNodes(), and stabilizer::parser::Parser::mkPosEpsilon().
|
inlinestatic |
Definition at line 1325 of file dag.h.
Referenced by getRealInf(), initializeStaticNodes(), and stabilizer::parser::Parser::mkInfinity().
|
inlinestatic |
Definition at line 1331 of file dag.h.
Referenced by getRealNegInf(), initializeStaticNodes(), and stabilizer::parser::Parser::mkNegInfinity().
|
inlinestatic |
Definition at line 1327 of file dag.h.
Referenced by getRealPosInf(), initializeStaticNodes(), and stabilizer::parser::Parser::mkPosInfinity().
|
private |
Definition at line 1208 of file dag.h.
Referenced by clear(), and initializeStaticNodes().
|
inlinestatic |
Definition at line 1305 of file dag.h.
Referenced by getStrInf(), initializeStaticNodes(), and stabilizer::parser::Parser::mkInfinity().
|
inlinestatic |
Definition at line 1311 of file dag.h.
Referenced by getStrNegInf(), initializeStaticNodes(), and stabilizer::parser::Parser::mkNegInfinity().
|
inlinestatic |
Definition at line 1307 of file dag.h.
Referenced by getStrPosInf(), initializeStaticNodes(), and stabilizer::parser::Parser::mkPosInfinity().
|
inlinestatic |
Definition at line 1275 of file dag.h.
Referenced by getTrue(), initializeStaticNodes(), and stabilizer::parser::Parser::mkTrue().
|
inlinestatic |
Definition at line 1269 of file dag.h.
Referenced by getUnknown(), initializeStaticNodes(), and stabilizer::parser::Parser::mkUnknown().