diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/theory/bv/bv_inequality_graph.h | 7 | ||||
-rw-r--r-- | src/theory/bv/bv_subtheory_inequality.h | 4 | ||||
-rw-r--r-- | src/theory/bv/theory_bv.cpp | 2 |
3 files changed, 7 insertions, 6 deletions
diff --git a/src/theory/bv/bv_inequality_graph.h b/src/theory/bv/bv_inequality_graph.h index 923e1d8c5..72f6dbfd1 100644 --- a/src/theory/bv/bv_inequality_graph.h +++ b/src/theory/bv/bv_inequality_graph.h @@ -194,7 +194,8 @@ class InequalityGraph : public context::ContextNotifyObj{ /*** The currently asserted disequalities */ context::CDQueue<TNode> d_disequalities; - NodeSet d_disequalitiesAlreadySplit; + typedef context::CDHashSet<Node, NodeHashFunction> CDNodeSet; + CDNodeSet d_disequalitiesAlreadySplit; Node makeDiseqSplitLemma(TNode diseq); /** Backtracking mechanisms **/ std::vector<std::pair<TermId, InequalityEdge> > d_undoStack; @@ -208,7 +209,7 @@ class InequalityGraph : public context::ContextNotifyObj{ public: - InequalityGraph(context::Context* c, bool s = false) + InequalityGraph(context::Context* c, context::Context* u, bool s = false) : ContextNotifyObj(c), d_ineqNodes(), d_ineqEdges(), @@ -216,7 +217,7 @@ public: d_conflict(), d_modelValues(c), d_disequalities(c), - d_disequalitiesAlreadySplit(), + d_disequalitiesAlreadySplit(u), d_undoStack(), d_undoStackIndex(c) {} diff --git a/src/theory/bv/bv_subtheory_inequality.h b/src/theory/bv/bv_subtheory_inequality.h index 9607c0296..5fbdf74ab 100644 --- a/src/theory/bv/bv_subtheory_inequality.h +++ b/src/theory/bv/bv_subtheory_inequality.h @@ -53,10 +53,10 @@ class InequalitySolver: public SubtheorySolver { bool addInequality(TNode a, TNode b, bool strict, TNode fact); Statistics d_statistics; public: - InequalitySolver(context::Context* c, TheoryBV* bv) + InequalitySolver(context::Context* c, context::Context* u, TheoryBV* bv) : SubtheorySolver(c, bv), d_assertionSet(c), - d_inequalityGraph(c), + d_inequalityGraph(c, u), d_explanations(c), d_isComplete(c, true), d_ineqTerms(), diff --git a/src/theory/bv/theory_bv.cpp b/src/theory/bv/theory_bv.cpp index b6b29410f..2fc5fd096 100644 --- a/src/theory/bv/theory_bv.cpp +++ b/src/theory/bv/theory_bv.cpp @@ -87,7 +87,7 @@ TheoryBV::TheoryBV(context::Context* c, context::UserContext* u, } if (options::bitvectorInequalitySolver()) { - SubtheorySolver* ineq_solver = new InequalitySolver(c, this); + SubtheorySolver* ineq_solver = new InequalitySolver(c, u, this); d_subtheories.push_back(ineq_solver); d_subtheoryMap[SUB_INEQUALITY] = ineq_solver; } |