summaryrefslogtreecommitdiff
path: root/src/prop/minisat/minisat.cpp
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@cs.nyu.edu>2014-08-01 14:31:16 -0400
committerMorgan Deters <mdeters@cs.nyu.edu>2014-08-04 13:25:23 -0400
commit429e6250b70ebd6e1f2bb31ddfebfb61bf10a3e5 (patch)
tree19c1058708686afe86499b92d3d0bbe17bbefb11 /src/prop/minisat/minisat.cpp
parent8d3446768446f16e71dca48bdf14d4ed767756aa (diff)
Better support for resource-limiting when there aren't any actual conflicts.
Diffstat (limited to 'src/prop/minisat/minisat.cpp')
-rw-r--r--src/prop/minisat/minisat.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/prop/minisat/minisat.cpp b/src/prop/minisat/minisat.cpp
index e4956ecc8..4a192d0d2 100644
--- a/src/prop/minisat/minisat.cpp
+++ b/src/prop/minisat/minisat.cpp
@@ -168,10 +168,10 @@ SatValue MinisatSatSolver::solve(unsigned long& resource) {
d_minisat->setConfBudget(resource);
}
Minisat::vec<Minisat::Lit> empty;
- unsigned long conflictsBefore = d_minisat->conflicts;
+ unsigned long conflictsBefore = d_minisat->conflicts + d_minisat->resources_consumed;
SatValue result = toSatLiteralValue(d_minisat->solveLimited(empty));
d_minisat->clearInterrupt();
- resource = d_minisat->conflicts - conflictsBefore;
+ resource = d_minisat->conflicts + d_minisat->resources_consumed - conflictsBefore;
Trace("limit") << "SatSolver::solve(): it took " << resource << " conflicts" << std::endl;
return result;
}
@@ -182,6 +182,9 @@ SatValue MinisatSatSolver::solve() {
return toSatLiteralValue(d_minisat->solve());
}
+void MinisatSatSolver::spendResource() {
+ d_minisat->spendResource();
+}
void MinisatSatSolver::interrupt() {
d_minisat->interrupt();
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback