Skip to content

Commit 9c7debb

Browse files
authored
Merge pull request #1750 from pkesseli/feature/sat-interrupt
Expose MiniSAT's `interrupt()`
2 parents f11c995 + cc9398d commit 9c7debb

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/solvers/sat/satcheck_minisat2.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,18 @@ void satcheck_minisat2_baset<T>::set_polarity(literalt a, bool value)
8181
}
8282
}
8383

84+
template<typename T>
85+
void satcheck_minisat2_baset<T>::interrupt()
86+
{
87+
solver->interrupt();
88+
}
89+
90+
template<typename T>
91+
void satcheck_minisat2_baset<T>::clear_interrupt()
92+
{
93+
solver->clearInterrupt();
94+
}
95+
8496
const std::string satcheck_minisat_no_simplifiert::solver_text()
8597
{
8698
return "MiniSAT 2.2.1 without simplifier";

src/solvers/sat/satcheck_minisat2.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@ class satcheck_minisat2_baset:public cnf_solvert
4242
// extra MiniSat feature: default branching decision
4343
void set_polarity(literalt a, bool value);
4444

45+
// extra MiniSat feature: interrupt running SAT query
46+
void interrupt();
47+
48+
// extra MiniSat feature: permit previously interrupted SAT query to continue
49+
void clear_interrupt();
50+
4551
virtual bool is_in_conflict(literalt a) const override;
4652
virtual bool has_set_assumptions() const final { return true; }
4753
virtual bool has_is_in_conflict() const final { return true; }

0 commit comments

Comments
 (0)