60 p->pMap = pManDec->
pMap;
68 p->vForest = Vec_PtrAlloc( 100 );
78 p->vLevNums = Vec_IntAlloc( 50 );
79 p->vFanins = Vec_PtrAlloc( 50 );
80 p->vFaninsCur = Vec_PtrAlloc( 50 );
81 p->vNodesTemp = Vec_PtrAlloc( 50 );
94p->timeStart = Abc_Clock() - clk;
118 if (
p->vClasses ) Vec_VecFree(
p->vClasses );
119 Vec_PtrFree(
p->vNodesTemp );
120 Vec_PtrFree(
p->vForest );
121 Vec_IntFree(
p->vLevNums );
122 Vec_PtrFree(
p->vFanins );
123 Vec_PtrFree(
p->vFaninsCur );
146 for ( i = 0; i < 222; i++ )
147 Counter += (
p->nScores[i] > 0);
149 printf(
"Rewriting statistics:\n" );
150 printf(
"Total cuts tries = %8d.\n",
p->nCutsGood );
151 printf(
"Bad cuts found = %8d.\n",
p->nCutsBad );
152 printf(
"Total subgraphs = %8d.\n",
p->nSubgraphs );
153 printf(
"Used NPN classes = %8d.\n", Counter );
154 printf(
"Nodes considered = %8d.\n",
p->nNodesConsidered );
155 printf(
"Nodes rewritten = %8d.\n",
p->nNodesRewritten );
156 printf(
"Gain = %8d. (%6.2f %%).\n",
p->nNodesBeg-
p->nNodesEnd, 100.0*(
p->nNodesBeg-
p->nNodesEnd)/
p->nNodesBeg );
159 ABC_PRT(
"Resynthesis ",
p->timeRes );
162 ABC_PRT(
"Update ",
p->timeUpdate );
193 pTable = fopen(
"stats.txt",
"a+" );
194 fprintf( pTable,
"%d ",
p->nCutsGood );
195 fprintf( pTable,
"%d ",
p->nSubgraphs );
196 fprintf( pTable,
"%d ",
p->nNodesRewritten );
197 fprintf( pTable,
"%d",
p->nNodesGained );
198 fprintf( pTable,
"\n" );
279 p->timeUpdate += Time;
295 p->timeTotal += Time;
#define ABC_ALLOC(type, num)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
ABC_DLL void * Abc_FrameReadManDec()
struct Dec_Man_t_ Dec_Man_t
struct Dec_Graph_t_ Dec_Graph_t
void Rwr_ManAddTimeUpdate(Rwr_Man_t *p, abctime Time)
void Rwr_ManAddTimeCuts(Rwr_Man_t *p, abctime Time)
void Rwr_ManAddTimeTotal(Rwr_Man_t *p, abctime Time)
int Rwr_ManReadCompl(Rwr_Man_t *p)
void Rwr_ManPrintStats(Rwr_Man_t *p)
ABC_NAMESPACE_IMPL_START Rwr_Man_t * Rwr_ManStart(int fPrecompute)
DECLARATIONS ///.
void Rwr_ManPrintStatsFile(Rwr_Man_t *p)
void Rwr_ManStop(Rwr_Man_t *p)
void * Rwr_ManReadDecs(Rwr_Man_t *p)
Vec_Ptr_t * Rwr_ManReadLeaves(Rwr_Man_t *p)
Rwr_Node_t * Rwr_ManAddVar(Rwr_Man_t *p, unsigned uTruth, int fPrecompute)
char * Rwr_ManGetPractical(Rwr_Man_t *p)
void Rwr_ManPreprocess(Rwr_Man_t *p)
MACRO DEFINITIONS ///.
struct Rwr_Man_t_ Rwr_Man_t
void Rwr_ManWriteToArray(Rwr_Man_t *p)
FUNCTION DEFINITIONS ///.
void Rwr_ManPrecompute(Rwr_Man_t *p)
FUNCTION DEFINITIONS ///.
struct Rwr_Node_t_ Rwr_Node_t
void Rwr_ManLoadFromArray(Rwr_Man_t *p, int fVerbose)
unsigned short * puCanons
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
#define Vec_VecForEachEntry(Type, vGlob, pEntry, i, k)