From 9f331ae915e5f6c2ef0fb7b8ef9f109ea5d96f87 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sun, 12 Feb 2012 15:45:07 -0800 Subject: Isomorphism checking code. --- src/aig/saig/saigIso.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'src/aig') diff --git a/src/aig/saig/saigIso.c b/src/aig/saig/saigIso.c index b840b73c..ad6a9496 100644 --- a/src/aig/saig/saigIso.c +++ b/src/aig/saig/saigIso.c @@ -427,6 +427,7 @@ Aig_Man_t * Iso_ManFilterPos( Aig_Man_t * pAig, int fVerbose ) Vec_Int_t * vLevel, * vRemain; Vec_Str_t * vStr, * vPrev; int i, nPos, nUnique = 0, clk = clock(); + int clkDup = 0, clkAig = 0, clkIso = 0, clk2; // derive AIG for each PO nPos = Aig_ManPoNum(pAig) - Aig_ManRegNum(pAig); @@ -434,10 +435,20 @@ Aig_Man_t * Iso_ManFilterPos( Aig_Man_t * pAig, int fVerbose ) for ( i = 0; i < nPos; i++ ) { if ( i % 100 == 0 ) - printf( "%6d finished...\n", i ); + printf( "%6d finished...\r", i ); + + clk2 = clock(); pPart = Saig_ManDupCones( pAig, &i, 1 ); + clkDup += clock() - clk2; + + clk2 = clock(); pTemp = Saig_ManDupIsoCanonical( pPart, 0 ); + clkIso += clock() - clk2; + + clk2 = clock(); vStr = Ioa_WriteAigerIntoMemoryStr( pTemp ); + clkAig += clock() - clk2; + Vec_PtrPush( vBuffers, vStr ); Aig_ManStop( pTemp ); Aig_ManStop( pPart ); @@ -446,7 +457,11 @@ Aig_Man_t * Iso_ManFilterPos( Aig_Man_t * pAig, int fVerbose ) } // s_Counter = 0; if ( fVerbose ) - Abc_PrintTime( 1, "Isomorph time", clock() - clk ); + { + Abc_PrintTime( 1, "Duplicate time", clkDup ); + Abc_PrintTime( 1, "Isomorph time", clkIso ); + Abc_PrintTime( 1, "AIGER time", clkAig ); + } // sort the infos clk = clock(); @@ -471,7 +486,7 @@ Aig_Man_t * Iso_ManFilterPos( Aig_Man_t * pAig, int fVerbose ) Vec_VecFree( (Vec_Vec_t *)vBuffers ); if ( fVerbose ) - Abc_PrintTime( 1, "Sorting time", clock() - clk ); + Abc_PrintTime( 1, "Sorting time", clock() - clk ); // Abc_PrintTime( 1, "Traversal time", time_Trav ); // report the results -- cgit v1.2.3