diff options
author | Kshitij Bansal <kshitij@cs.nyu.edu> | 2015-04-17 14:43:20 -0400 |
---|---|---|
committer | Kshitij Bansal <kshitij@cs.nyu.edu> | 2015-04-17 14:43:20 -0400 |
commit | d60c406206e9ac414cde2c219a748d51a64d000b (patch) | |
tree | 8872501fdbb8947587864f3063c76826c0924ccc /src | |
parent | 1c95df5efa3727a8b709049ef26ebb3fe6f0c6eb (diff) | |
parent | b4b81cc02386e8ef25b9a4fa8bee05de8633c616 (diff) |
Merge pull request #72 from kbansal/decision-requirephase
https://www.starexec.org/starexec/secure/details/job.jsp?id=6972
The plot is bit misleading. Those not on x=y, are from QF_BV/asp which are segfaulting (see bugzilla 623). No performance impact on other logics it was tested on.
Diffstat (limited to 'src')
-rw-r--r-- | src/prop/minisat/core/Solver.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/prop/minisat/core/Solver.cc b/src/prop/minisat/core/Solver.cc index ea370ac08..e54a03435 100644 --- a/src/prop/minisat/core/Solver.cc +++ b/src/prop/minisat/core/Solver.cc @@ -482,6 +482,7 @@ Lit Solver::pickBranchLit() Lit nextLit; #ifdef CVC4_REPLAY + nextLit = MinisatSatSolver::toMinisatLit(proxy->getNextReplayDecision()); if (nextLit != lit_Undef) { @@ -512,7 +513,12 @@ Lit Solver::pickBranchLit() if(nextLit != lit_Undef) { Assert(value(var(nextLit)) == l_Undef, "literal to decide already has value"); decisions++; - return nextLit; + Var next = var(nextLit); + if(polarity[next] & 0x2) { + return mkLit(next, polarity[next] & 0x1); + } else { + return nextLit; + } } Var next = var_Undef; |