mirror of https://github.com/YosysHQ/abc.git
Isomorphism checking code.
This commit is contained in:
parent
d9edb7e549
commit
9f331ae915
|
|
@ -427,6 +427,7 @@ Aig_Man_t * Iso_ManFilterPos( Aig_Man_t * pAig, int fVerbose )
|
||||||
Vec_Int_t * vLevel, * vRemain;
|
Vec_Int_t * vLevel, * vRemain;
|
||||||
Vec_Str_t * vStr, * vPrev;
|
Vec_Str_t * vStr, * vPrev;
|
||||||
int i, nPos, nUnique = 0, clk = clock();
|
int i, nPos, nUnique = 0, clk = clock();
|
||||||
|
int clkDup = 0, clkAig = 0, clkIso = 0, clk2;
|
||||||
|
|
||||||
// derive AIG for each PO
|
// derive AIG for each PO
|
||||||
nPos = Aig_ManPoNum(pAig) - Aig_ManRegNum(pAig);
|
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++ )
|
for ( i = 0; i < nPos; i++ )
|
||||||
{
|
{
|
||||||
if ( i % 100 == 0 )
|
if ( i % 100 == 0 )
|
||||||
printf( "%6d finished...\n", i );
|
printf( "%6d finished...\r", i );
|
||||||
|
|
||||||
|
clk2 = clock();
|
||||||
pPart = Saig_ManDupCones( pAig, &i, 1 );
|
pPart = Saig_ManDupCones( pAig, &i, 1 );
|
||||||
|
clkDup += clock() - clk2;
|
||||||
|
|
||||||
|
clk2 = clock();
|
||||||
pTemp = Saig_ManDupIsoCanonical( pPart, 0 );
|
pTemp = Saig_ManDupIsoCanonical( pPart, 0 );
|
||||||
|
clkIso += clock() - clk2;
|
||||||
|
|
||||||
|
clk2 = clock();
|
||||||
vStr = Ioa_WriteAigerIntoMemoryStr( pTemp );
|
vStr = Ioa_WriteAigerIntoMemoryStr( pTemp );
|
||||||
|
clkAig += clock() - clk2;
|
||||||
|
|
||||||
Vec_PtrPush( vBuffers, vStr );
|
Vec_PtrPush( vBuffers, vStr );
|
||||||
Aig_ManStop( pTemp );
|
Aig_ManStop( pTemp );
|
||||||
Aig_ManStop( pPart );
|
Aig_ManStop( pPart );
|
||||||
|
|
@ -446,7 +457,11 @@ Aig_Man_t * Iso_ManFilterPos( Aig_Man_t * pAig, int fVerbose )
|
||||||
}
|
}
|
||||||
// s_Counter = 0;
|
// s_Counter = 0;
|
||||||
if ( fVerbose )
|
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
|
// sort the infos
|
||||||
clk = clock();
|
clk = clock();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue