summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaIso2.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-10-03 16:54:10 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-10-03 16:54:10 -0700
commit6d6118e2aa1dd980f2f78f24b46e247a6a7be7b9 (patch)
treeb1defd38a57950d3dcb4e4276c7838fa7320e398 /src/aig/gia/giaIso2.c
parentc59121f4e0bc2d0f3eed3f695f1c086ec6feb58d (diff)
downloadabc-6d6118e2aa1dd980f2f78f24b46e247a6a7be7b9.tar.gz
abc-6d6118e2aa1dd980f2f78f24b46e247a6a7be7b9.tar.bz2
abc-6d6118e2aa1dd980f2f78f24b46e247a6a7be7b9.zip
Bug fix and performance improvement in &iso.
Diffstat (limited to 'src/aig/gia/giaIso2.c')
-rw-r--r--src/aig/gia/giaIso2.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/aig/gia/giaIso2.c b/src/aig/gia/giaIso2.c
index e9d9d883..e1ea7690 100644
--- a/src/aig/gia/giaIso2.c
+++ b/src/aig/gia/giaIso2.c
@@ -575,12 +575,13 @@ Vec_Wec_t * Gia_Iso2ManCheckIsoClassesSkip( Gia_Man_t * p, Vec_Wec_t * vEquivs )
Vec_Int_t * vMap0 = Vec_IntStart( Gia_ManObjNum(p) );
Vec_Int_t * vMap1 = Vec_IntStart( Gia_ManObjNum(p) );
Vec_Int_t * vClass, * vClass2;
- int i, k, Entry;
+ int i, k, Entry, Counter = 0;
vEquivs2 = Vec_WecAlloc( 2 * Vec_WecSize(vEquivs) );
Vec_WecForEachLevel( vEquivs, vClass, i )
{
- if ( i % 100 == 0 )
- printf( "%8d finished...\r", i );
+ if ( i % 50 == 0 )
+ printf( "Finished %8d outputs (out of %8d)...\r", Counter, Gia_ManPoNum(p) ), fflush(stdout);
+ Counter += Vec_IntSize(vClass);
if ( Vec_IntSize(vClass) < 2 || Gia_Iso2ManCheckIsoClassOneSkip(p, vClass, vRoots, vVec0, vVec1, vMap0, vMap1) )
{
vClass2 = Vec_WecPushLevel( vEquivs2 );
@@ -633,16 +634,16 @@ Vec_Wec_t * Gia_Iso2ManCheckIsoClasses( Gia_Man_t * p, Vec_Wec_t * vEquivs )
Vec_Int_t * vMap0 = Vec_IntStart( Gia_ManObjNum(p) );
Vec_Int_t * vMap1 = Vec_IntStart( Gia_ManObjNum(p) );
Vec_Int_t * vClass, * vClass2, * vNewClass;
- int i;
+ int i, Counter = 0;
vNewClass = Vec_IntAlloc( 100 );
vEquivs2 = Vec_WecAlloc( 2 * Vec_WecSize(vEquivs) );
Vec_WecForEachLevel( vEquivs, vClass, i )
{
- if ( i % 100 == 0 )
- printf( "%8d finished...\r", i );
+ if ( i % 50 == 0 )
+ printf( "Finished %8d outputs (out of %8d)...\r", Counter, Gia_ManPoNum(p) ), fflush(stdout);
// split this class
Gia_Iso2ManCheckIsoClassOne( p, vClass, vRoots, vVec0, vVec1, vMap0, vMap1, vNewClass );
- assert( Vec_IntSize(vClass) > 0 );
+ Counter += Vec_IntSize(vClass);
// add remaining class
vClass2 = Vec_WecPushLevel( vEquivs2 );
*vClass2 = *vClass;