Converting dch-style equivalences into scorr-style ones.

This commit is contained in:
Alan Mishchenko 2019-04-05 21:03:35 -10:00
parent c24fd01f19
commit 0739bd7f03
1 changed files with 12 additions and 0 deletions

View File

@ -581,6 +581,18 @@ Gia_Man_t * Gia_ManEquivReduce( Gia_Man_t * p, int fUseAll, int fDualOut, int fS
Gia_Man_t * pNew;
Gia_Obj_t * pObj;
int i;
if ( !p->pReprs && p->pSibls )
{
p->pReprs = ABC_CALLOC( Gia_Rpr_t, Gia_ManObjNum(p) );
for ( i = 0; i < Gia_ManObjNum(p); i++ )
Gia_ObjSetRepr( p, i, GIA_VOID );
for ( i = 0; i < Gia_ManObjNum(p); i++ )
if ( p->pSibls[i] > 0 )
Gia_ObjSetRepr( p, i, p->pSibls[i] );
printf( "Created equivalence classes.\n" );
ABC_FREE( p->pNexts );
p->pNexts = Gia_ManDeriveNexts( p );
}
if ( !p->pReprs )
{
Abc_Print( 1, "Gia_ManEquivReduce(): Equivalence classes are not available.\n" );