From a22db31d6de27dfd1f8de47a4fa425372f4a1d0d Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Mon, 30 Jul 2012 11:47:24 -0700 Subject: Saving variable activity during rollback. --- src/sat/bsat/satSolver2.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/sat/bsat/satSolver2.h') diff --git a/src/sat/bsat/satSolver2.h b/src/sat/bsat/satSolver2.h index 1682ab6e..f2cc1552 100644 --- a/src/sat/bsat/satSolver2.h +++ b/src/sat/bsat/satSolver2.h @@ -99,7 +99,8 @@ struct sat_solver2_t #else int var_inc; // Amount to bump next variable with. int cla_inc; // Amount to bump next clause with. - unsigned* activity; // A heuristic measurement of the activity of a variable. + unsigned* activity; // A heuristic measurement of the activity of a variable + unsigned* activity2; // backup variable activity #endif int nUnits; // the total number of unit clauses @@ -240,6 +241,8 @@ static inline void sat_solver2_bookmark(sat_solver2* s) if ( s->pPrf1 ) s->hProofPivot = Vec_SetHandCurrent(s->pPrf1); Sat_MemBookMark( &s->Mem ); + if ( s->activity2 ) + memcpy( s->activity2, s->activity, sizeof(unsigned) * s->iVarPivot ); } static inline int sat_solver2_add_const( sat_solver2 * pSat, int iVar, int fCompl, int fMark, int Id ) -- cgit v1.2.3