summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaAiger.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-06-25 23:05:51 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-06-25 23:05:51 -0700
commita66dc0afb6e16b51f89edaa0955865a7d56e373a (patch)
tree143cc4a30107aea6120ab89b56410dcd3ace7dd6 /src/aig/gia/giaAiger.c
parent0985491dceaa917ccf625c6cf9707bd3c9a2da99 (diff)
downloadabc-a66dc0afb6e16b51f89edaa0955865a7d56e373a.tar.gz
abc-a66dc0afb6e16b51f89edaa0955865a7d56e373a.tar.bz2
abc-a66dc0afb6e16b51f89edaa0955865a7d56e373a.zip
Unifying representation of mapping in GIA.
Diffstat (limited to 'src/aig/gia/giaAiger.c')
-rw-r--r--src/aig/gia/giaAiger.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/aig/gia/giaAiger.c b/src/aig/gia/giaAiger.c
index fd5996c9..8f199f43 100644
--- a/src/aig/gia/giaAiger.c
+++ b/src/aig/gia/giaAiger.c
@@ -612,17 +612,12 @@ Gia_Man_t * Gia_AigerReadFromMemory( char * pContents, int nFileSize, int fSkipS
{
extern int * Gia_AigerReadMapping( unsigned char ** ppPos, int nSize );
extern int * Gia_AigerReadMappingSimple( unsigned char ** ppPos, int nSize );
- extern int * Gia_AigerReadMappingDoc( unsigned char ** ppPos, int nObjs, int * pOffset );
- int nSize, nOffset;
+ extern Vec_Int_t * Gia_AigerReadMappingDoc( unsigned char ** ppPos, int nObjs );
+ int nSize;
pCur++;
nSize = Gia_AigerReadInt(pCur);
pCurTemp = pCur + nSize + 4; pCur += 4;
-// pNew->pMapping = Gia_AigerReadMapping( &pCur, Gia_ManObjNum(pNew) );
-// pNew->pMapping = Gia_AigerReadMappingSimple( &pCur, nSize );
-// pNew->nOffset = nSize / 4;
-// pCur += nSize;
- pNew->pMapping = Gia_AigerReadMappingDoc( &pCur, Gia_ManObjNum(pNew), &nOffset );
- pNew->nOffset = nOffset;
+ pNew->vMapping = Gia_AigerReadMappingDoc( &pCur, Gia_ManObjNum(pNew) );
assert( pCur == pCurTemp );
if ( fVerbose ) printf( "Finished reading extension \"m\".\n" );
}
@@ -786,6 +781,8 @@ Gia_Man_t * Gia_AigerReadFromMemory( char * pContents, int nFileSize, int fSkipS
ABC_FREE( pInit );
}
Vec_IntFreeP( &vInits );
+ if ( !fSkipStrash && pNew->vMapping )
+ Abc_Print( 0, "Structural hashing enabled while reading AIGER may have invalidated the mapping. Consider using \"&r -s\".\n" );
return pNew;
}
@@ -1218,7 +1215,7 @@ void Gia_AigerWrite( Gia_Man_t * pInit, char * pFileName, int fWriteSymbols, int
if ( fVerbose ) printf( "Finished writing extension \"k\".\n" );
}
// write mapping
- if ( p->pMapping )
+ if ( Gia_ManHasMapping(p) )
{
extern Vec_Str_t * Gia_AigerWriteMapping( Gia_Man_t * p );
extern Vec_Str_t * Gia_AigerWriteMappingSimple( Gia_Man_t * p );