summaryrefslogtreecommitdiff
path: root/src/prop/bvminisat/simp
diff options
context:
space:
mode:
authorDejan Jovanović <dejan.jovanovic@gmail.com>2012-05-09 21:25:17 +0000
committerDejan Jovanović <dejan.jovanovic@gmail.com>2012-05-09 21:25:17 +0000
commit1ce0650dcf8ce30424b546deb540974cc510c215 (patch)
tree74a9985463234fc9adfed2de209c134ed7da359b /src/prop/bvminisat/simp
parent690fb2843d9845e405fee54eb2d8023eebbd5b72 (diff)
* simplifying equality engine interface
* notifications are now through the interface subclass instead of a template * notifications include constants being merged * changed contextNotifyObj::notify to contextNotifyObj::contextNotifyPop so it's more descriptive and doesn't clutter methods when subclassed * sat solver now has explicit methods to make true and false constants * 0-level literals are removed from explanations of propagations
Diffstat (limited to 'src/prop/bvminisat/simp')
-rw-r--r--src/prop/bvminisat/simp/SimpSolver.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/prop/bvminisat/simp/SimpSolver.cc b/src/prop/bvminisat/simp/SimpSolver.cc
index c8ce13410..59820e9e3 100644
--- a/src/prop/bvminisat/simp/SimpSolver.cc
+++ b/src/prop/bvminisat/simp/SimpSolver.cc
@@ -63,11 +63,25 @@ SimpSolver::SimpSolver(CVC4::context::Context* c) :
, bwdsub_assigns (0)
, n_touched (0)
{
- CVC4::StatisticsRegistry::registerStat(&total_eliminate_time);
+ CVC4::StatisticsRegistry::registerStat(&total_eliminate_time);
vec<Lit> dummy(1,lit_Undef);
ca.extra_clause_field = true; // NOTE: must happen before allocating the dummy clause below.
bwdsub_tmpunit = ca.alloc(dummy);
remove_satisfied = false;
+
+ // add the initialization for all the internal variables
+ for (int i = frozen.size(); i < vardata.size(); ++ i) {
+ frozen .push(1);
+ eliminated.push(0);
+ if (use_simplification){
+ n_occ .push(0);
+ n_occ .push(0);
+ occurs .init(i);
+ touched .push(0);
+ elim_heap .insert(i);
+ }
+ }
+
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback