Skip to content

Commit 2558e3b

Browse files
Refactor to reduce indentation
1 parent 7697874 commit 2558e3b

File tree

1 file changed

+52
-66
lines changed

1 file changed

+52
-66
lines changed

src/solvers/sat/satcheck_minisat2.cpp

Lines changed: 52 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -178,94 +178,80 @@ propt::resultt satcheck_minisat2_baset<T>::do_prop_solve()
178178
{
179179
log.status() << "SAT checker inconsistent: instance is UNSATISFIABLE"
180180
<< messaget::eom;
181+
status = statust::UNSAT;
182+
return resultt::P_UNSATISFIABLE;
181183
}
182-
else
183-
{
184-
// if assumptions contains false, we need this to be UNSAT
185-
bool has_false=false;
186-
187-
forall_literals(it, assumptions)
188-
{
189-
if(it->is_false())
190-
{
191-
has_false = true;
192-
break;
193-
}
194-
}
195184

196-
if(has_false)
185+
// if assumptions contains false, we need this to be UNSAT
186+
for(const auto &assumption : assumptions)
187+
{
188+
if(assumption.is_false())
197189
{
198190
log.status() << "got FALSE as assumption: instance is UNSATISFIABLE"
199191
<< messaget::eom;
192+
status = statust::UNSAT;
193+
return resultt::P_UNSATISFIABLE;
200194
}
201-
else
202-
{
203-
Minisat::vec<Minisat::Lit> solver_assumptions;
204-
convert(assumptions, solver_assumptions);
195+
}
196+
197+
Minisat::vec<Minisat::Lit> solver_assumptions;
198+
convert(assumptions, solver_assumptions);
205199

206-
using Minisat::lbool;
200+
using Minisat::lbool;
207201

208202
#ifndef _WIN32
209203

210-
void (*old_handler)(int)=SIG_ERR;
204+
void (*old_handler)(int) = SIG_ERR;
211205

212-
if(time_limit_seconds!=0)
213-
{
214-
solver_to_interrupt=solver;
215-
old_handler=signal(SIGALRM, interrupt_solver);
216-
if(old_handler==SIG_ERR)
217-
log.warning() << "Failed to set solver time limit" << messaget::eom;
218-
else
219-
alarm(time_limit_seconds);
220-
}
206+
if(time_limit_seconds != 0)
207+
{
208+
solver_to_interrupt = solver;
209+
old_handler = signal(SIGALRM, interrupt_solver);
210+
if(old_handler == SIG_ERR)
211+
log.warning() << "Failed to set solver time limit" << messaget::eom;
212+
else
213+
alarm(time_limit_seconds);
214+
}
221215

222-
lbool solver_result=solver->solveLimited(solver_assumptions);
216+
lbool solver_result = solver->solveLimited(solver_assumptions);
223217

224-
if(old_handler!=SIG_ERR)
225-
{
226-
alarm(0);
227-
signal(SIGALRM, old_handler);
228-
solver_to_interrupt=solver;
229-
}
218+
if(old_handler != SIG_ERR)
219+
{
220+
alarm(0);
221+
signal(SIGALRM, old_handler);
222+
solver_to_interrupt = solver;
223+
}
230224

231225
#else // _WIN32
232226

233-
if(time_limit_seconds!=0)
234-
{
235-
log.warning() << "Time limit ignored (not supported on Win32 yet)"
236-
<< messaget::eom;
237-
}
227+
if(time_limit_seconds != 0)
228+
{
229+
log.warning() << "Time limit ignored (not supported on Win32 yet)"
230+
<< messaget::eom;
231+
}
238232

239-
lbool solver_result=
240-
solver->solve(solver_assumptions) ? l_True : l_False;
233+
lbool solver_result = solver->solve(solver_assumptions) ? l_True : l_False;
241234

242235
#endif
243236

244-
if(solver_result==l_True)
245-
{
246-
log.status() << "SAT checker: instance is SATISFIABLE"
247-
<< messaget::eom;
248-
CHECK_RETURN(solver->model.size()>0);
249-
status=statust::SAT;
250-
return resultt::P_SATISFIABLE;
251-
}
252-
else if(solver_result==l_False)
253-
{
254-
log.status() << "SAT checker: instance is UNSATISFIABLE"
255-
<< messaget::eom;
256-
}
257-
else
258-
{
259-
log.status() << "SAT checker: timed out or other error"
260-
<< messaget::eom;
261-
status=statust::ERROR;
262-
return resultt::P_ERROR;
263-
}
264-
}
237+
if(solver_result == l_True)
238+
{
239+
log.status() << "SAT checker: instance is SATISFIABLE" << messaget::eom;
240+
CHECK_RETURN(solver->model.size() > 0);
241+
status = statust::SAT;
242+
return resultt::P_SATISFIABLE;
265243
}
266244

267-
status=statust::UNSAT;
268-
return resultt::P_UNSATISFIABLE;
245+
if(solver_result == l_False)
246+
{
247+
log.status() << "SAT checker: instance is UNSATISFIABLE" << messaget::eom;
248+
status = statust::UNSAT;
249+
return resultt::P_UNSATISFIABLE;
250+
}
251+
252+
log.status() << "SAT checker: timed out or other error" << messaget::eom;
253+
status = statust::ERROR;
254+
return resultt::P_ERROR;
269255
}
270256
catch(const Minisat::OutOfMemoryException &)
271257
{

0 commit comments

Comments
 (0)