(A Lightweight Component Caching Scheme for Satisfiability Solvers <http://www.springerlink.com/content/y802q03263x84159/>)
void Solver::uncheckedEnqueue(Lit p, Clause* from)
{
assert(value(p) == l_Undef);
- assigns [var(p)] = toInt(lbool(!sign(p))); // <<== abstract but not uttermost effecient
- level [var(p)] = decisionLevel();
- reason [var(p)] = from;
+ assigns [var(p)] = toInt(lbool(!sign(p))); // <<== abstract but not uttermost effecient
+ level [var(p)] = decisionLevel();
+ reason [var(p)] = from;
+ polarity [var(p)] = sign(p);
trail.push(p);
}
d_minisat->verbosity = (options->verbosity > 0) ? 1 : -1;
// Do not delete the satisfied clauses, just the learnt ones
d_minisat->remove_satisfied = false;
+ // Make minisat reuse the literal values
+ d_minisat->polarity_mode = minisat::SimpSolver::polarity_user;
}
~SatSolver() {