52 p->vProjVarsCnf = Vec_IntAlloc( 100 );
53 p->vProjVarsSat = Vec_IntAlloc( 100 );
54 p->vDivLits = Vec_IntAlloc( 100 );
56 p->vDivCexes = Vec_PtrAllocSimInfo(
p->pPars->nWinMax +
MFS_FANIN_MAX + 1,
p->nDivWords );
58 p->vMem = Vec_IntAlloc( 0 );
59 p->vLevels = Vec_VecStart( 32 );
60 p->vMfsFanins= Vec_PtrAlloc( 32 );
84 Vec_PtrFree(
p->vRoots );
86 Vec_PtrFree(
p->vSupp );
88 Vec_PtrFree(
p->vNodes );
90 Vec_PtrFree(
p->vDivs );
113 if (
p->pPars->fResub )
115 printf(
"Nodes = %d. Try = %d. Resub = %d. Div = %d. SAT calls = %d. Timeouts = %d. MaxDivs = %d.\n",
116 p->nTotalNodesBeg,
p->nNodesTried,
p->nNodesResub,
p->nTotalDivs,
p->nSatCalls,
p->nTimeOuts,
p->nMaxDivs );
118 printf(
"Attempts : " );
119 printf(
"Remove %6d out of %6d (%6.2f %%) ",
p->nRemoves,
p->nTryRemoves, 100.0*
p->nRemoves/Abc_MaxInt(1,
p->nTryRemoves) );
120 printf(
"Resub %6d out of %6d (%6.2f %%) ",
p->nResubs,
p->nTryResubs, 100.0*
p->nResubs /Abc_MaxInt(1,
p->nTryResubs) );
123 printf(
"Reduction: " );
124 printf(
"Nodes %6d out of %6d (%6.2f %%) ",
p->nTotalNodesBeg-
p->nTotalNodesEnd,
p->nTotalNodesBeg, 100.0*(
p->nTotalNodesBeg-
p->nTotalNodesEnd)/Abc_MaxInt(1,
p->nTotalNodesBeg) );
125 printf(
"Edges %6d out of %6d (%6.2f %%) ",
p->nTotalEdgesBeg-
p->nTotalEdgesEnd,
p->nTotalEdgesBeg, 100.0*(
p->nTotalEdgesBeg-
p->nTotalEdgesEnd)/Abc_MaxInt(1,
p->nTotalEdgesBeg) );
128 if (
p->pPars->fPower)
129 printf(
"Power( %5.2f, %4.2f%%) \n",
130 p->TotalSwitchingBeg -
p->TotalSwitchingEnd,
131 100.0*(
p->TotalSwitchingBeg-
p->TotalSwitchingEnd)/
p->TotalSwitchingBeg );
132 if (
p->pPars->fSwapEdge )
133 printf(
"Swappable edges = %d. Total edges = %d. Ratio = %5.2f.\n",
139 printf(
"Nodes = %d. Try = %d. Total mints = %d. Local DC mints = %d. Ratio = %5.2f.\n",
140 p->nTotalNodesBeg,
p->nNodesTried,
p->nMintsTotal,
p->nMintsTotal-
p->nMintsCare,
141 1.0 * (
p->nMintsTotal-
p->nMintsCare) /
p->nMintsTotal );
144 printf(
"Nodes resyn = %d. Ratio = %5.2f. Total AIG node gain = %d. Timeouts = %d.\n",
145 p->nNodesDec, 1.0 *
p->nNodesDec /
p->nNodesTried,
p->nNodesGained,
p->nTimeOuts );
153 ABC_PRTP(
"Sat",
p->timeSat-
p->timeInt ,
p->timeTotal );
155 ABC_PRTP(
"ALL",
p->timeTotal ,
p->timeTotal );
172 if (
p->pPars->fVerbose )
175 Vec_IntFree(
p->vTruth );
183 Vec_IntFree(
p->vProbs );
186 Vec_IntFree(
p->vMem );
187 Vec_VecFree(
p->vLevels );
188 Vec_PtrFree(
p->vMfsFanins );
189 Vec_IntFree(
p->vProjVarsCnf );
190 Vec_IntFree(
p->vProjVarsSat );
191 Vec_IntFree(
p->vDivLits );
192 Vec_PtrFree(
p->vDivCexes );
ABC_DLL int Abc_NtkGetTotalFanins(Abc_Ntk_t *pNtk)
#define ABC_ALLOC(type, num)
#define ABC_PRTP(a, t, T)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
void Aig_ManStop(Aig_Man_t *p)
void Bdc_ManFree(Bdc_Man_t *p)
void Cnf_DataFree(Cnf_Dat_t *p)
struct Mfs_Man_t_ Mfs_Man_t
#define MFS_FANIN_MAX
INCLUDES ///.
void Mfs_ManClean(Mfs_Man_t *p)
void Mfs_ManPrint(Mfs_Man_t *p)
ABC_NAMESPACE_IMPL_START Mfs_Man_t * Mfs_ManAlloc(Mfs_Par_t *pPars)
DECLARATIONS ///.
void Mfs_ManStop(Mfs_Man_t *p)
typedefABC_NAMESPACE_HEADER_START struct Mfs_Par_t_ Mfs_Par_t
INCLUDES ///.
void Int_ManFree(Int_Man_t *p)
Int_Man_t * Int_ManAlloc()
FUNCTION DEFINITIONS ///.
void sat_solver_delete(sat_solver *s)
typedefABC_NAMESPACE_HEADER_START struct Vec_Vec_t_ Vec_Vec_t
INCLUDES ///.