void SAT::cEnqueue(Lit p, Reason r) { assert(value(p) != l_True); int v = var(p); if (value(p) == l_False) { if (so.lazy) { if (r == NULL) { assert(decisionLevel() == 0); setConfl(); } else { confl = getConfl(r, p); (*confl)[0] = p; } } else setConfl(); return; } assigns [v] = toInt(lbool(!sign(p))); trailpos[v] = engine.trailPos(); reason [v] = r; trail.last().push(p); }
void SAT::cEnqueue(Lit p, Reason r) { /* if (so.debug) { */ /* std::cerr << "c-enqueue literal " << getLitString(toInt(p)) << " because " << showReason(r) << "\n"; */ /* } */ assert(value(p) != l_True); int v = var(p); if (value(p) == l_False) { if (so.lazy) { if (r == NULL) { assert(decisionLevel() == 0); setConfl(); } else { confl = getConfl(r, p); (*confl)[0] = p; } } else setConfl(); return; } assigns [v] = toInt(lbool(!sign(p))); trailpos[v] = engine.trailPos(); reason [v] = r; trail.last().push(p); }