ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
msatActivity.c
Go to the documentation of this file.
1
20
21#include "msatInt.h"
22
24
25
29
33
46{
48 if ( p->dVarDecay < 0 ) // (negative decay means static variable order -- don't bump)
49 return;
50 Var = MSAT_LIT2VAR(Lit);
51 p->pdActivity[Var] += p->dVarInc;
52// p->pdActivity[Var] += p->dVarInc * p->pFactors[Var];
53 if ( p->pdActivity[Var] > 1e100 )
55 Msat_OrderUpdate( p->pOrder, Var );
56}
57
70{
71 if ( p->dVarDecay >= 0 )
72 p->dVarInc *= p->dVarDecay;
73}
74
87{
88 int i;
89 for ( i = 0; i < p->nVars; i++ )
90 p->pdActivity[i] *= 1e-100;
91 p->dVarInc *= 1e-100;
92}
93
106{
107 float Activ;
108 Activ = Msat_ClauseReadActivity(pC);
109 if ( Activ + p->dClaInc > 1e20 )
110 {
112 Activ = Msat_ClauseReadActivity( pC );
113 }
114 Msat_ClauseWriteActivity( pC, Activ + (float)p->dClaInc );
115}
116
129{
130 p->dClaInc *= p->dClaDecay;
131}
132
145{
146 Msat_Clause_t ** pLearned;
147 int nLearned, i;
148 float Activ;
149 nLearned = Msat_ClauseVecReadSize( p->vLearned );
150 pLearned = Msat_ClauseVecReadArray( p->vLearned );
151 for ( i = 0; i < nLearned; i++ )
152 {
153 Activ = Msat_ClauseReadActivity( pLearned[i] );
154 Msat_ClauseWriteActivity( pLearned[i], Activ * (float)1e-20 );
155 }
156 p->dClaInc *= 1e-20;
157}
158
162
163
165
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
Cube * p
Definition exorList.c:222
int Var
Definition exorList.c:228
void Msat_SolverClaBumpActivity(Msat_Solver_t *p, Msat_Clause_t *pC)
void Msat_SolverClaRescaleActivity(Msat_Solver_t *p)
void Msat_SolverVarRescaleActivity(Msat_Solver_t *p)
ABC_NAMESPACE_IMPL_START void Msat_SolverVarBumpActivity(Msat_Solver_t *p, Msat_Lit_t Lit)
DECLARATIONS ///.
void Msat_SolverVarDecayActivity(Msat_Solver_t *p)
GLOBAL VARIABLES ///.
void Msat_SolverClaDecayActivity(Msat_Solver_t *p)
int Msat_ClauseVecReadSize(Msat_ClauseVec_t *p)
Msat_Clause_t ** Msat_ClauseVecReadArray(Msat_ClauseVec_t *p)
void Msat_ClauseWriteActivity(Msat_Clause_t *pC, float Num)
Definition msatClause.c:314
float Msat_ClauseReadActivity(Msat_Clause_t *pC)
Definition msatClause.c:295
typedefABC_NAMESPACE_HEADER_START struct Msat_Clause_t_ Msat_Clause_t
INCLUDES ///.
Definition msatInt.h:57
int Msat_Var_t
Definition msatInt.h:66
void Msat_OrderUpdate(Msat_Order_t *p, int Var)
Definition msatOrderH.c:257
int Msat_Lit_t
Definition msatInt.h:65
#define MSAT_LIT2VAR(l)
Definition msat.h:59
typedefABC_NAMESPACE_HEADER_START struct Msat_Solver_t_ Msat_Solver_t
INCLUDES ///.
Definition msat.h:42