summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaMini.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2021-09-03 18:14:10 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2021-09-03 18:14:10 -0700
commited9c16d4f5e1484bb287c30a6af50832a62d35ec (patch)
treea57b8a2dd0e8b07cbfd3cd54b633e0dbb846201a /src/aig/gia/giaMini.c
parenta718318740a3a50f6058b3d64330dbe8ca1e6303 (diff)
downloadabc-ed9c16d4f5e1484bb287c30a6af50832a62d35ec.tar.gz
abc-ed9c16d4f5e1484bb287c30a6af50832a62d35ec.tar.bz2
abc-ed9c16d4f5e1484bb287c30a6af50832a62d35ec.zip
Additional MiniLUT API.
Diffstat (limited to 'src/aig/gia/giaMini.c')
-rw-r--r--src/aig/gia/giaMini.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/aig/gia/giaMini.c b/src/aig/gia/giaMini.c
index 7a18d2d2..045b3b0e 100644
--- a/src/aig/gia/giaMini.c
+++ b/src/aig/gia/giaMini.c
@@ -589,6 +589,23 @@ int * Abc_FrameReadMiniLutNameMapping( Abc_Frame_t * pAbc )
Gia_ManStop( pGia );
return pRes;
}
+int * Abc_FrameReadMiniLutSwitching( Abc_Frame_t * pAbc )
+{
+ Vec_Int_t * vSwitching;
+ int i, iObj, * pRes = NULL;
+ if ( pAbc->pGiaMiniLut == NULL )
+ {
+ printf( "GIA derived from MiniLut is not available.\n" );
+ return NULL;
+ }
+ vSwitching = Gia_ManComputeSwitchProbs( pAbc->pGiaMiniLut, 48, 16, 0 );
+ pRes = ABC_CALLOC( int, Vec_IntSize(pAbc->vCopyMiniLut) );
+ Vec_IntForEachEntry( pAbc->vCopyMiniLut, iObj, i )
+ if ( iObj >= 0 )
+ pRes[i] = Vec_IntEntry( vSwitching, iObj );
+ Vec_IntFree( vSwitching );
+ return pRes;
+}
/**Function*************************************************************