diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2021-10-26 16:58:59 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2021-10-26 16:58:59 -0700 |
commit | d13e33cdd8451ad4ecfcb9093fbaa628f0e6659d (patch) | |
tree | 0c0acb86bf21c52c9c6c8f236a5ef6065bb947f1 | |
parent | 456e381a02effc8300a22408ee7398b7fb912937 (diff) | |
download | abc-d13e33cdd8451ad4ecfcb9093fbaa628f0e6659d.tar.gz abc-d13e33cdd8451ad4ecfcb9093fbaa628f0e6659d.tar.bz2 abc-d13e33cdd8451ad4ecfcb9093fbaa628f0e6659d.zip |
New API for external calls.
-rw-r--r-- | src/aig/gia/giaMini.c | 16 | ||||
-rw-r--r-- | src/base/main/abcapis.h | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/aig/gia/giaMini.c b/src/aig/gia/giaMini.c index ad7ed197..6cc528f2 100644 --- a/src/aig/gia/giaMini.c +++ b/src/aig/gia/giaMini.c @@ -681,6 +681,22 @@ int * Abc_FrameReadMiniLutSwitching( Abc_Frame_t * pAbc ) Vec_IntFree( vSwitching ); return pRes; } +int * Abc_FrameReadMiniLutSwitchingPo( Abc_Frame_t * pAbc ) +{ + Vec_Int_t * vSwitching; + int i, iObj, * pRes = NULL; + if ( pAbc->pGiaMiniAig == NULL ) + { + printf( "GIA derived from MiniAIG is not available.\n" ); + return NULL; + } + vSwitching = Gia_ManComputeSwitchProbs( pAbc->pGiaMiniAig, 48, 16, 0 ); + pRes = ABC_CALLOC( int, Gia_ManCoNum(pAbc->pGiaMiniAig) ); + Gia_ManForEachCoDriverId( pAbc->pGiaMiniAig, iObj, i ) + pRes[i] = (int)(10000*Vec_FltEntry( (Vec_Flt_t *)vSwitching, iObj )); + Vec_IntFree( vSwitching ); + return pRes; +} /**Function************************************************************* diff --git a/src/base/main/abcapis.h b/src/base/main/abcapis.h index 1bf52a89..d34306ba 100644 --- a/src/base/main/abcapis.h +++ b/src/base/main/abcapis.h @@ -82,6 +82,7 @@ extern ABC_DLL void Abc_FrameGiaInputMiniLut2( Abc_Frame_t * pAbc, void * pMin extern ABC_DLL void * Abc_FrameGiaOutputMiniLut( Abc_Frame_t * pAbc ); extern ABC_DLL char * Abc_FrameGiaOutputMiniLutAttr( Abc_Frame_t * pAbc, void * pMiniLut ); extern ABC_DLL int * Abc_FrameReadMiniLutSwitching( Abc_Frame_t * pAbc ); +extern ABC_DLL int * Abc_FrameReadMiniLutSwitchingPo( Abc_Frame_t * pAbc ); // procedures to input/output NDR data-structure extern ABC_DLL void Abc_FrameInputNdr( Abc_Frame_t * pAbc, void * pData ); |