summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/term_database.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/quantifiers/term_database.cpp')
-rw-r--r--src/theory/quantifiers/term_database.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/theory/quantifiers/term_database.cpp b/src/theory/quantifiers/term_database.cpp
index 2a16069f5..5c9e91d32 100644
--- a/src/theory/quantifiers/term_database.cpp
+++ b/src/theory/quantifiers/term_database.cpp
@@ -86,7 +86,7 @@ Node TermDb::getOperator(size_t i) const
}
/** ground terms */
-size_t TermDb::getNumGroundTerms(Node f) const
+size_t TermDb::getNumGroundTerms(TNode f) const
{
NodeDbListMap::const_iterator it = d_opMap.find(f);
if (it != d_opMap.end())
@@ -96,7 +96,7 @@ size_t TermDb::getNumGroundTerms(Node f) const
return 0;
}
-Node TermDb::getGroundTerm(Node f, size_t i) const
+Node TermDb::getGroundTerm(TNode f, size_t i) const
{
NodeDbListMap::const_iterator it = d_opMap.find(f);
if (it != d_opMap.end())
@@ -108,6 +108,16 @@ Node TermDb::getGroundTerm(Node f, size_t i) const
return Node::null();
}
+DbList* TermDb::getGroundTermList(TNode f) const
+{
+ NodeDbListMap::const_iterator it = d_opMap.find(f);
+ if (it != d_opMap.end())
+ {
+ return it->second.get();
+ }
+ return nullptr;
+}
+
size_t TermDb::getNumTypeGroundTerms(TypeNode tn) const
{
TypeNodeDbListMap::const_iterator it = d_typeMap.find(tn);
@@ -286,7 +296,8 @@ void TermDb::computeUfEqcTerms( TNode f ) {
{
return;
}
- d_func_map_eqc_trie[f].clear();
+ TNodeTrie& tnt = d_func_map_eqc_trie[f];
+ tnt.clear();
// get the matchable operators in the equivalence class of f
std::vector<TNode> ops;
getOperatorsFor(f, ops);
@@ -300,7 +311,7 @@ void TermDb::computeUfEqcTerms( TNode f ) {
{
computeArgReps(n);
TNode r = ee->hasTerm(n) ? ee->getRepresentative(n) : TNode(n);
- d_func_map_eqc_trie[f].d_data[r].addTerm(n, d_arg_reps[n]);
+ tnt.d_data[r].addTerm(n, d_arg_reps[n]);
}
}
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback