55 p->pSatVars =
ABC_CALLOC(
int, Gia_ManObjNum(pAig) );
56 p->vUsedNodes = Vec_PtrAlloc( 1000 );
57 p->vFanins = Vec_PtrAlloc( 100 );
58 p->vCex = Vec_IntAlloc( 100 );
59 p->vVisits = Vec_IntAlloc( 100 );
76 printf(
"SAT solver statistics:\n" );
77 Abc_Print( 1,
"CO = %8d ", Gia_ManCoNum(
p->pAig) );
78 Abc_Print( 1,
"AND = %8d ", Gia_ManAndNum(
p->pAig) );
79 Abc_Print( 1,
"Conf = %5d ",
p->pPars->nBTLimit );
80 Abc_Print( 1,
"MinVar = %5d ",
p->pPars->nSatVarMax );
81 Abc_Print( 1,
"MinCalls = %5d\n",
p->pPars->nCallsRecycle );
82 Abc_Print( 1,
"Unsat calls %6d (%6.2f %%) Ave conf = %8.1f ",
83 p->nSatUnsat,
p->nSatTotal? 100.0*
p->nSatUnsat/
p->nSatTotal : 0.0,
p->nSatUnsat? 1.0*
p->nConfUnsat/
p->nSatUnsat :0.0 );
84 Abc_PrintTimeP( 1,
"Time",
p->timeSatUnsat,
p->timeTotal );
85 Abc_Print( 1,
"Sat calls %6d (%6.2f %%) Ave conf = %8.1f ",
86 p->nSatSat,
p->nSatTotal? 100.0*
p->nSatSat/
p->nSatTotal : 0.0,
p->nSatSat? 1.0*
p->nConfSat/
p->nSatSat : 0.0 );
87 Abc_PrintTimeP( 1,
"Time",
p->timeSatSat,
p->timeTotal );
88 Abc_Print( 1,
"Undef calls %6d (%6.2f %%) Ave conf = %8.1f ",
89 p->nSatUndec,
p->nSatTotal? 100.0*
p->nSatUndec/
p->nSatTotal : 0.0,
p->nSatUndec? 1.0*
p->nConfUndec/
p->nSatUndec : 0.0 );
90 Abc_PrintTimeP( 1,
"Time",
p->timeSatUndec,
p->timeTotal );
91 Abc_PrintTime( 1,
"Total time",
p->timeTotal );
109 Vec_IntFree(
p->vCex );
110 Vec_IntFree(
p->vVisits );
111 Vec_PtrFree(
p->vUsedNodes );
112 Vec_PtrFree(
p->vFanins );
134 p->vStorage = Vec_StrAlloc( 1<<20 );
135 p->vPattern1 = Vec_IntAlloc( 1000 );
136 p->vPattern2 = Vec_IntAlloc( 1000 );
153 Abc_Print( 1,
"Latest: P = %8d. L = %10d. Lm = %10d. Ave = %6.1f. MEM =%6.2f MB\n",
154 p->nPats,
p->nPatLits,
p->nPatLitsMin, 1.0 *
p->nPatLitsMin/
p->nPats,
155 1.0*(Vec_StrSize(
p->vStorage)-
p->iStart)/(1<<20) );
156 Abc_Print( 1,
"Total: P = %8d. L = %10d. Lm = %10d. Ave = %6.1f. MEM =%6.2f MB\n",
157 p->nPatsAll,
p->nPatLitsAll,
p->nPatLitsMinAll, 1.0 *
p->nPatLitsMinAll/
p->nPatsAll,
158 1.0*Vec_StrSize(
p->vStorage)/(1<<20) );
159 Abc_PrintTimeP( 1,
"Finding ",
p->timeFind,
p->timeTotal );
160 Abc_PrintTimeP( 1,
"Shrinking",
p->timeShrink,
p->timeTotal );
161 Abc_PrintTimeP( 1,
"Verifying",
p->timeVerify,
p->timeTotal );
162 Abc_PrintTimeP( 1,
"Sorting ",
p->timeSort,
p->timeTotal );
163 Abc_PrintTimeP( 1,
"Packing ",
p->timePack,
p->timeTotal );
164 Abc_PrintTime( 1,
"TOTAL ",
p->timeTotal );
180 Vec_StrFree(
p->vStorage );
181 Vec_IntFree(
p->vPattern1 );
182 Vec_IntFree(
p->vPattern2 );
207 p->pSimInfo =
ABC_CALLOC(
int, Gia_ManObjNum(pAig) );
208 p->vClassOld = Vec_IntAlloc( 1000 );
209 p->vClassNew = Vec_IntAlloc( 1000 );
210 p->vClassTemp = Vec_IntAlloc( 1000 );
211 p->vRefinedC = Vec_IntAlloc( 10000 );
212 p->vCiSimInfo = Vec_PtrAllocSimInfo( Gia_ManCiNum(
p->pAig), pPars->
nWords );
215 p->vCoSimInfo = Vec_PtrAllocSimInfo( Gia_ManCoNum(
p->pAig), pPars->
nWords );
216 Vec_PtrCleanSimInfo(
p->vCoSimInfo, 0, pPars->
nWords );
235 Vec_IntFree(
p->vClassOld );
236 Vec_IntFree(
p->vClassNew );
237 Vec_IntFree(
p->vClassTemp );
238 Vec_IntFree(
p->vRefinedC );
240 Vec_PtrFree(
p->vCiSimInfo );
242 Vec_PtrFree(
p->vCoSimInfo );
270 p->vXorNodes = Vec_IntAlloc( 1000 );
287 Vec_IntFree(
p->vXorNodes );
#define ABC_ALLOC(type, num)
#define ABC_CALLOC(type, num)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
struct Cec_ManFra_t_ Cec_ManFra_t
struct Cec_ManSim_t_ Cec_ManSim_t
typedefABC_NAMESPACE_HEADER_START struct Cec_ManPat_t_ Cec_ManPat_t
INCLUDES ///.
struct Cec_ManSat_t_ Cec_ManSat_t
void Cec_ManPatPrintStats(Cec_ManPat_t *p)
void Cec_ManSatPrintStats(Cec_ManSat_t *p)
void Cec_ManSimStop(Cec_ManSim_t *p)
Cec_ManSim_t * Cec_ManSimStart(Gia_Man_t *pAig, Cec_ParSim_t *pPars)
Cec_ManPat_t * Cec_ManPatStart()
ABC_NAMESPACE_IMPL_START Cec_ManSat_t * Cec_ManSatCreate(Gia_Man_t *pAig, Cec_ParSat_t *pPars)
DECLARATIONS ///.
void Cec_ManFraStop(Cec_ManFra_t *p)
void Cec_ManPatStop(Cec_ManPat_t *p)
void Cec_ManSatStop(Cec_ManSat_t *p)
Cec_ManFra_t * Cec_ManFraStart(Gia_Man_t *pAig, Cec_ParFra_t *pPars)
struct Cec_ParFra_t_ Cec_ParFra_t
typedefABC_NAMESPACE_HEADER_START struct Cec_ParSat_t_ Cec_ParSat_t
INCLUDES ///.
struct Cec_ParSim_t_ Cec_ParSim_t
struct Gia_Man_t_ Gia_Man_t
void sat_solver_delete(sat_solver *s)