summaryrefslogtreecommitdiff
path: root/src/prop/cadical.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/prop/cadical.cpp')
-rw-r--r--src/prop/cadical.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/prop/cadical.cpp b/src/prop/cadical.cpp
index 5a0968ec8..b4851f945 100644
--- a/src/prop/cadical.cpp
+++ b/src/prop/cadical.cpp
@@ -117,6 +117,23 @@ SatValue CadicalSolver::solve(long unsigned int&)
Unimplemented("Setting limits for CaDiCaL not supported yet");
};
+SatValue CadicalSolver::solve(const std::vector<SatLiteral>& assumptions)
+{
+#ifdef CVC4_INCREMENTAL_CADICAL
+ TimerStat::CodeTimer codeTimer(d_statistics.d_solveTime);
+ for (const SatLiteral& lit : assumptions)
+ {
+ d_solver->assume(toCadicalLit(lit));
+ }
+ SatValue res = toSatValue(d_solver->solve());
+ d_okay = (res == SAT_VALUE_TRUE);
+ ++d_statistics.d_numSatCalls;
+ return res;
+#else
+ Unimplemented("CaDiCaL version used does not support incremental solving");
+#endif
+}
+
void CadicalSolver::interrupt() { d_solver->terminate(); }
SatValue CadicalSolver::value(SatLiteral l)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback