From 1fb65889a32d18b4b5ae6a36b13aea557960928a Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 20 Sep 2014 13:56:26 -0700 Subject: Updating command 'dsd_clean'. --- src/map/if/if.h | 4 +++- src/map/if/ifDsd.c | 13 ++++++++++++- src/map/if/ifTune.c | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) (limited to 'src/map') diff --git a/src/map/if/if.h b/src/map/if/if.h index a0180563..8114e5c3 100644 --- a/src/map/if/if.h +++ b/src/map/if/if.h @@ -547,13 +547,15 @@ extern void If_DsdManFree( If_DsdMan_t * p, int fVerbose ); extern void If_DsdManSave( If_DsdMan_t * p, char * pFileName ); extern If_DsdMan_t * If_DsdManLoad( char * pFileName ); extern void If_DsdManMerge( If_DsdMan_t * p, If_DsdMan_t * pNew ); -extern void If_DsdManClean( If_DsdMan_t * p, int fVerbose ); +extern void If_DsdManCleanOccur( If_DsdMan_t * p, int fVerbose ); +extern void If_DsdManCleanMarks( If_DsdMan_t * p, int fVerbose ); extern If_DsdMan_t * If_DsdManFilter( If_DsdMan_t * p, int Limit ); extern int If_DsdManCompute( If_DsdMan_t * p, word * pTruth, int nLeaves, unsigned char * pPerm, char * pLutStruct ); extern char * If_DsdManFileName( If_DsdMan_t * p ); extern int If_DsdManVarNum( If_DsdMan_t * p ); extern int If_DsdManObjNum( If_DsdMan_t * p ); extern int If_DsdManLutSize( If_DsdMan_t * p ); +extern void If_DsdManSetLutSize( If_DsdMan_t * p, int nLutSize ); extern int If_DsdManSuppSize( If_DsdMan_t * p, int iDsd ); extern int If_DsdManCheckDec( If_DsdMan_t * p, int iDsd ); extern int If_DsdManReadMark( If_DsdMan_t * p, int iDsd ); diff --git a/src/map/if/ifDsd.c b/src/map/if/ifDsd.c index 8afa9e03..48100a1e 100644 --- a/src/map/if/ifDsd.c +++ b/src/map/if/ifDsd.c @@ -173,6 +173,10 @@ int If_DsdManLutSize( If_DsdMan_t * p ) { return p->LutSize; } +void If_DsdManSetLutSize( If_DsdMan_t * p, int nLutSize ) +{ + p->LutSize = nLutSize; +} int If_DsdManSuppSize( If_DsdMan_t * p, int iDsd ) { return If_DsdVecLitSuppSize( &p->vObjs, iDsd ); @@ -1170,13 +1174,20 @@ void If_DsdManMerge( If_DsdMan_t * p, If_DsdMan_t * pNew ) assert( Vec_IntSize(vMap) == Vec_PtrSize(&pNew->vObjs) ); Vec_IntFree( vMap ); } -void If_DsdManClean( If_DsdMan_t * p, int fVerbose ) +void If_DsdManCleanOccur( If_DsdMan_t * p, int fVerbose ) { If_DsdObj_t * pObj; int i; If_DsdVecForEachObj( &p->vObjs, pObj, i ) pObj->Count = 0; } +void If_DsdManCleanMarks( If_DsdMan_t * p, int fVerbose ) +{ + If_DsdObj_t * pObj; + int i; + If_DsdVecForEachObj( &p->vObjs, pObj, i ) + pObj->fMark = 0; +} void If_DsdManFilter_rec( If_DsdMan_t * pNew, If_DsdMan_t * p, int i, Vec_Int_t * vMap ) { If_DsdObj_t * pObj; diff --git a/src/map/if/ifTune.c b/src/map/if/ifTune.c index e7b1ad05..f75192b6 100644 --- a/src/map/if/ifTune.c +++ b/src/map/if/ifTune.c @@ -459,7 +459,7 @@ Ifn_Ntk_t * Ifn_NtkParse( char * pStr ) } Ifn_NtkParseConstraints( pStr, p ); Abc_TtElemInit2( p->pTtElems, p->nInps ); - printf( "Finished parsing: " ); Ifn_NtkPrint(p); +// printf( "Finished parsing: " ); Ifn_NtkPrint(p); return p; } -- cgit v1.2.3