summaryrefslogtreecommitdiffstats
path: root/src/base/abci/abcMfs.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-05-24 22:35:22 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-05-24 22:35:22 -0700
commitd5234332fb29b7b50220df6a09d913d6832a425c (patch)
treee53657c8789830bee75166c61df9eee3f97d06d3 /src/base/abci/abcMfs.c
parent283abd4795bd5c45d7dc51abd2e097a1794bad5d (diff)
downloadabc-d5234332fb29b7b50220df6a09d913d6832a425c.tar.gz
abc-d5234332fb29b7b50220df6a09d913d6832a425c.tar.bz2
abc-d5234332fb29b7b50220df6a09d913d6832a425c.zip
New MFS package.
Diffstat (limited to 'src/base/abci/abcMfs.c')
-rw-r--r--src/base/abci/abcMfs.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/base/abci/abcMfs.c b/src/base/abci/abcMfs.c
index ddc91467..5259ea03 100644
--- a/src/base/abci/abcMfs.c
+++ b/src/base/abci/abcMfs.c
@@ -134,6 +134,11 @@ void Abc_NtkInsertMfs( Abc_Ntk_t * pNtk, Sfm_Ntk_t * p )
if ( pNode->iTemp > 0 && !Sfm_NodeReadFixed(p, pNode->iTemp) )
{
vArray = Sfm_NodeReadFanins( p, pNode->iTemp );
+ if ( Vec_IntSize(vArray) == 0 )
+ {
+ Abc_NtkDeleteObj( pNode );
+ continue;
+ }
Vec_IntForEachEntry( vArray, Fanin, k )
Abc_ObjAddFanin( pNode, Abc_NtkObj(pNtk, Vec_IntEntry(vMap, Fanin)) );
pNode->pData = Abc_SopCreateFromTruth( (Mem_Flex_t *)pNtk->pManFunc, Vec_IntSize(vArray), (unsigned *)Sfm_NodeReadTruth(p, pNode->iTemp) );
@@ -170,11 +175,11 @@ int Abc_NtkPerformMfs( Abc_Ntk_t * pNtk, Sfm_Par_t * pPars )
nNodes = Sfm_NtkPerform( p, pPars );
// call the fast extract procedure
if ( nNodes == 0 )
- Abc_Print( 1, "The networks is not changed by \"mfs\".\n" );
+ Abc_Print( 1, "The network is not changed by \"mfs\".\n" );
else
{
Abc_NtkInsertMfs( pNtk, p );
- Abc_Print( 1, "The networks has %d nodes changed by \"mfs\".\n", nNodes );
+ Abc_Print( 1, "The network has %d nodes changed by \"mfs\".\n", nNodes );
}
Sfm_NtkFree( p );
return 1;