mirror of https://github.com/YosysHQ/abc.git
Proof-logging in the updated solver.
This commit is contained in:
parent
09d3e1ff77
commit
f0d44a4a93
|
|
@ -1460,6 +1460,9 @@ int sat_solver_solve(sat_solver* s, lit* begin, lit* end, ABC_INT64_T nConfLimit
|
|||
{
|
||||
veci_resize(&s->conf_final,0);
|
||||
veci_push(&s->conf_final, lit_neg(p));
|
||||
// the two lines below are a bug fix by Siert Wieringa
|
||||
if (s->levels[lit_var(p)] > 0)
|
||||
veci_push(&s->conf_final, p);
|
||||
}
|
||||
sat_solver_canceluntil(s, 0);
|
||||
return l_False;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -93,8 +93,7 @@ struct sat_solver2_t
|
|||
// clauses
|
||||
veci clauses; // clause memory
|
||||
veci* wlists; // watcher lists (for each literal)
|
||||
int iLearnt; // the first learnt clause
|
||||
int iLast; // the last learnt clause
|
||||
int iFirstLearnt; // the first learnt clause
|
||||
|
||||
// activities
|
||||
#ifdef USE_FLOAT_ACTIVITY
|
||||
|
|
@ -113,9 +112,10 @@ struct sat_solver2_t
|
|||
|
||||
// internal state
|
||||
varinfo * vi; // variable information
|
||||
cla* reasons;
|
||||
lit* trail;
|
||||
lit* trail; // sequence of assignment and implications
|
||||
int* orderpos; // Index in variable order.
|
||||
cla* reasons; // reason clauses
|
||||
cla* units; // unit clauses
|
||||
|
||||
veci tagged; // (contains: var)
|
||||
veci stack; // (contains: var)
|
||||
|
|
@ -132,7 +132,8 @@ struct sat_solver2_t
|
|||
// proof logging
|
||||
veci proof_clas; // sequence of proof clauses
|
||||
veci proof_vars; // sequence of proof variables
|
||||
int iStartChain; // beginning of the chain
|
||||
int iStartChain; // temporary variable to remember beginning of the current chain in proof logging
|
||||
int fLastConfId; // in proof-logging mode, the ID of the final conflict clause (conf_final)
|
||||
|
||||
// statistics
|
||||
stats_t stats;
|
||||
|
|
|
|||
Loading…
Reference in New Issue