summaryrefslogtreecommitdiffstats
path: root/src/sat/bsat/satSolver2.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-07-09 23:15:12 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-07-09 23:15:12 -0700
commit997e4c77acc191a0d0b9575c435f3618d4f09ebc (patch)
tree76696f7c3b487b531afdd8f4082e8f0f8353bbe3 /src/sat/bsat/satSolver2.c
parent6ba6c3279aa7a3d2f2bd6507a029e7aee0dcf65c (diff)
downloadabc-997e4c77acc191a0d0b9575c435f3618d4f09ebc.tar.gz
abc-997e4c77acc191a0d0b9575c435f3618d4f09ebc.tar.bz2
abc-997e4c77acc191a0d0b9575c435f3618d4f09ebc.zip
Performance bug fix in the SAT solver (clearing variable activity after rollback).
Diffstat (limited to 'src/sat/bsat/satSolver2.c')
-rw-r--r--src/sat/bsat/satSolver2.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/sat/bsat/satSolver2.c b/src/sat/bsat/satSolver2.c
index 631051e0..45d23548 100644
--- a/src/sat/bsat/satSolver2.c
+++ b/src/sat/bsat/satSolver2.c
@@ -1574,8 +1574,15 @@ void sat_solver2_rollback( sat_solver2* s )
for ( i = 2*s->iVarPivot; i < 2*s->size; i++ )
s->wlists[i].size = 0;
// clear variable activity
+#ifdef USE_FLOAT_ACTIVITY2
+ for ( i = s->iVarPivot; i < s->size; i++ )
+ s->activity[i] = 0;
+#else
for ( i = s->iVarPivot; i < s->size; i++ )
s->activity[i] = (1<<10);
+#endif
+
+
// initialize other vars
s->size = s->iVarPivot;