summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaIso.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-04-28 05:08:07 +0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-04-28 05:08:07 +0700
commitd1e82047ffa4da33d00d6092a36bbdbb8f4da269 (patch)
treeb7d16fad0f2888e52218923255b8cc537a53c4ed /src/aig/gia/giaIso.c
parent78855cc952a099a4b1ceab93db16558b11f59f94 (diff)
downloadabc-d1e82047ffa4da33d00d6092a36bbdbb8f4da269.tar.gz
abc-d1e82047ffa4da33d00d6092a36bbdbb8f4da269.tar.bz2
abc-d1e82047ffa4da33d00d6092a36bbdbb8f4da269.zip
Added supporting dual-output seq miters in &iso.
Diffstat (limited to 'src/aig/gia/giaIso.c')
-rw-r--r--src/aig/gia/giaIso.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/aig/gia/giaIso.c b/src/aig/gia/giaIso.c
index 2d5fd102..3c3e26ff 100644
--- a/src/aig/gia/giaIso.c
+++ b/src/aig/gia/giaIso.c
@@ -1071,16 +1071,24 @@ Gia_Man_t * Gia_ManIsoReduce( Gia_Man_t * pInit, Vec_Ptr_t ** pvPosEquivs, int f
Vec_Int_t * vRemain, * vLevel, * vLevel2;
Vec_Str_t * vStr, * vStr2;
int i, k, s, sStart, Entry, Counter, clk = clock();
+ if ( pvPosEquivs )
+ *pvPosEquivs = NULL;
if ( fDualOut )
{
assert( (Gia_ManPoNum(pInit) & 1) == 0 );
+ if ( Gia_ManPoNum(pInit) == 2 )
+ return Gia_ManDup(pInit);
p = Gia_ManTransformMiter( pInit );
p = Gia_ManSeqStructSweep( pPart = p, 1, 1, 0 );
Gia_ManStop( pPart );
}
else
+ {
+ if ( Gia_ManPoNum(pInit) == 1 )
+ return Gia_ManDup(pInit);
p = pInit;
+ }
// create preliminary equivalences
vEquivs = Gia_IsoDeriveEquivPos( p, 1, fVeryVerbose );