summaryrefslogtreecommitdiffstats
path: root/src/aig/aig
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2008-02-12 08:01:00 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2008-02-12 08:01:00 -0800
commitbd995ee2ca86bcb488d2e9592012b6077a6283f6 (patch)
tree7b11181885531a3064c4cc1555c011a00100e68b /src/aig/aig
parentd9760b04a80adbb44a203aeb614ab6576171aa9b (diff)
downloadabc-bd995ee2ca86bcb488d2e9592012b6077a6283f6.tar.gz
abc-bd995ee2ca86bcb488d2e9592012b6077a6283f6.tar.bz2
abc-bd995ee2ca86bcb488d2e9592012b6077a6283f6.zip
Version abc80212
Diffstat (limited to 'src/aig/aig')
-rw-r--r--src/aig/aig/aig.h2
-rw-r--r--src/aig/aig/aigPart.c6
-rw-r--r--src/aig/aig/aigRepr.c2
3 files changed, 5 insertions, 5 deletions
diff --git a/src/aig/aig/aig.h b/src/aig/aig/aig.h
index 1124c2fb..9d9bf22a 100644
--- a/src/aig/aig/aig.h
+++ b/src/aig/aig/aig.h
@@ -522,7 +522,7 @@ extern Vec_Ptr_t * Aig_ManSupportsInverse( Aig_Man_t * p );
extern Vec_Ptr_t * Aig_ManPartitionSmart( Aig_Man_t * p, int nPartSizeLimit, int fVerbose, Vec_Ptr_t ** pvPartSupps );
extern Vec_Ptr_t * Aig_ManPartitionNaive( Aig_Man_t * p, int nPartSize );
extern Vec_Ptr_t * Aig_ManMiterPartitioned( Aig_Man_t * p1, Aig_Man_t * p2, int nPartSize );
-extern Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize, int fVerbose );
+extern Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize, int nConfMax, int nLevelMax, int fVerbose );
/*=== aigRepr.c =========================================================*/
extern void Aig_ManReprStart( Aig_Man_t * p, int nIdMax );
extern void Aig_ManReprStop( Aig_Man_t * p );
diff --git a/src/aig/aig/aigPart.c b/src/aig/aig/aigPart.c
index edf51a2e..9afc5f91 100644
--- a/src/aig/aig/aigPart.c
+++ b/src/aig/aig/aigPart.c
@@ -904,11 +904,11 @@ Vec_Ptr_t * Aig_ManMiterPartitioned( Aig_Man_t * p1, Aig_Man_t * p2, int nPartSi
SeeAlso []
***********************************************************************/
-Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize, int fVerbose )
+Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize, int nConfMax, int nLevelMax, int fVerbose )
{
// extern int Cmd_CommandExecute( void * pAbc, char * sCommand );
// extern void * Abc_FrameGetGlobalFrame();
- extern Aig_Man_t * Fra_FraigChoice( Aig_Man_t * pManAig, int nConfMax );
+ extern Aig_Man_t * Fra_FraigChoice( Aig_Man_t * pManAig, int nConfMax, int nLevelMax );
Vec_Ptr_t * vOutsTotal, * vOuts;
Aig_Man_t * pAigTotal, * pAigPart, * pAig;
@@ -972,7 +972,7 @@ Aig_Man_t * Aig_ManChoicePartitioned( Vec_Ptr_t * vAigs, int nPartSize, int fVer
i+1, Vec_PtrSize(vParts), Aig_ManPiNum(pAigPart), Aig_ManPoNum(pAigPart),
Aig_ManNodeNum(pAigPart), Aig_ManLevelNum(pAigPart) );
// compute equivalence classes (to be stored in pNew->pReprs)
- pAig = Fra_FraigChoice( pAigPart, 1000 );
+ pAig = Fra_FraigChoice( pAigPart, nConfMax, nLevelMax );
Aig_ManStop( pAig );
// reset the pData pointers
Aig_ManForEachObj( pAigPart, pObj, k )
diff --git a/src/aig/aig/aigRepr.c b/src/aig/aig/aigRepr.c
index 5ee6c9af..3a7e382c 100644
--- a/src/aig/aig/aigRepr.c
+++ b/src/aig/aig/aigRepr.c
@@ -429,7 +429,6 @@ void Aig_ManMarkValidChoices( Aig_Man_t * p )
pRepr = Aig_ObjFindRepr( p, pObj );
if ( pRepr == NULL )
continue;
- assert( pObj->nRefs == 0 );
// skip constant and PI classes
if ( !Aig_ObjIsNode(pRepr) )
{
@@ -444,6 +443,7 @@ void Aig_ManMarkValidChoices( Aig_Man_t * p )
}
//printf( "Node %d is represented by node %d.\n", pObj->Id, pRepr->Id );
// add choice to the choice node
+ assert( pObj->nRefs == 0 );
p->pEquivs[pObj->Id] = p->pEquivs[pRepr->Id];
p->pEquivs[pRepr->Id] = pObj;
}