diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2016-04-04 12:51:05 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2016-04-04 12:51:05 -0700 |
commit | 720082753f06fbb0429def0f3e67ccc7848b89b2 (patch) | |
tree | aaf98c2dcee10e017609283fa601f3b0328935a1 /src/sat | |
parent | 4a954c1b23aad9b7189dd76164d3e5a61ca6b39f (diff) | |
download | abc-720082753f06fbb0429def0f3e67ccc7848b89b2.tar.gz abc-720082753f06fbb0429def0f3e67ccc7848b89b2.tar.bz2 abc-720082753f06fbb0429def0f3e67ccc7848b89b2.zip |
Improvements to delay-optimization in &satlut.
Diffstat (limited to 'src/sat')
-rw-r--r-- | src/sat/bsat/satSolver.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/sat/bsat/satSolver.c b/src/sat/bsat/satSolver.c index 1a10ff88..58f2ed21 100644 --- a/src/sat/bsat/satSolver.c +++ b/src/sat/bsat/satSolver.c @@ -1452,8 +1452,15 @@ void sat_solver_rollback( sat_solver* s ) { cla* pArray = veci_begin(&s->wlists[i]); for ( j = k = 0; k < veci_size(&s->wlists[i]); k++ ) - if ( Sat_MemClauseUsed(pMem, pArray[k]) ) + { + if ( clause_is_lit(pArray[k]) ) + { + if ( clause_read_lit(pArray[k]) < s->iVarPivot*2 ) + pArray[j++] = pArray[k]; + } + else if ( Sat_MemClauseUsed(pMem, pArray[k]) ) pArray[j++] = pArray[k]; + } veci_resize(&s->wlists[i],j); } // reset watcher lists |