summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaShow.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2016-12-22 17:27:32 +0700
committerAlan Mishchenko <alanmi@berkeley.edu>2016-12-22 17:27:32 +0700
commitb56a532682e34ae440bc6ffa939e82d06cf06e62 (patch)
tree84807a449a344bd79d8ba2b428011e9ad29c250a /src/aig/gia/giaShow.c
parentcf5d4ad07f87e936a114afca483ed66ffb1a2120 (diff)
downloadabc-b56a532682e34ae440bc6ffa939e82d06cf06e62.tar.gz
abc-b56a532682e34ae440bc6ffa939e82d06cf06e62.tar.bz2
abc-b56a532682e34ae440bc6ffa939e82d06cf06e62.zip
Several changes in arithmetic circuit manipulation.
Diffstat (limited to 'src/aig/gia/giaShow.c')
-rw-r--r--src/aig/gia/giaShow.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/aig/gia/giaShow.c b/src/aig/gia/giaShow.c
index afc58bf8..afd36fff 100644
--- a/src/aig/gia/giaShow.c
+++ b/src/aig/gia/giaShow.c
@@ -713,11 +713,13 @@ void Gia_WriteDotAig( Gia_Man_t * p, char * pFileName, Vec_Int_t * vAdds, Vec_In
SeeAlso []
***********************************************************************/
-Vec_Int_t * Gia_ShowMapAdds( Gia_Man_t * p, Vec_Int_t * vAdds )
+Vec_Int_t * Gia_ShowMapAdds( Gia_Man_t * p, Vec_Int_t * vAdds, int fFadds )
{
Vec_Int_t * vMapAdds = Vec_IntStartFull( Gia_ManObjNum(p) ); int i;
for ( i = 0; 6*i < Vec_IntSize(vAdds); i++ )
{
+ if ( fFadds && Vec_IntEntry(vAdds, 6*i+2) == 0 )
+ continue;
Vec_IntWriteEntry( vMapAdds, Vec_IntEntry(vAdds, 6*i+3), i );
Vec_IntWriteEntry( vMapAdds, Vec_IntEntry(vAdds, 6*i+4), i );
}
@@ -800,9 +802,9 @@ Vec_Int_t * Gia_ShowCollectObjs( Gia_Man_t * p, Vec_Int_t * vAdds, Vec_Int_t * v
SeeAlso []
***********************************************************************/
-void Gia_ShowProcess( Gia_Man_t * p, char * pFileName, Vec_Int_t * vAdds, Vec_Int_t * vXors )
+void Gia_ShowProcess( Gia_Man_t * p, char * pFileName, Vec_Int_t * vAdds, Vec_Int_t * vXors, int fFadds )
{
- Vec_Int_t * vMapAdds = Gia_ShowMapAdds( p, vAdds );
+ Vec_Int_t * vMapAdds = Gia_ShowMapAdds( p, vAdds, fFadds );
Vec_Int_t * vMapXors = Gia_ShowMapXors( p, vXors );
Vec_Int_t * vOrder = Gia_ShowCollectObjs( p, vAdds, vXors, vMapAdds, vMapXors );
Gia_WriteDotAig( p, pFileName, vAdds, vXors, vMapAdds, vMapXors, vOrder );
@@ -810,7 +812,7 @@ void Gia_ShowProcess( Gia_Man_t * p, char * pFileName, Vec_Int_t * vAdds, Vec_In
Vec_IntFree( vMapXors );
Vec_IntFree( vOrder );
}
-void Gia_ManShow( Gia_Man_t * pMan, Vec_Int_t * vBold, int fAdders )
+void Gia_ManShow( Gia_Man_t * pMan, Vec_Int_t * vBold, int fAdders, int fFadds )
{
extern Vec_Int_t * Ree_ManComputeCuts( Gia_Man_t * p, Vec_Int_t ** pvXors, int fVerbose );
extern void Ree_ManRemoveTrivial( Gia_Man_t * p, Vec_Int_t * vAdds );
@@ -837,7 +839,7 @@ void Gia_ManShow( Gia_Man_t * pMan, Vec_Int_t * vBold, int fAdders )
fclose( pFile );
// generate the file
if ( fAdders )
- Gia_ShowProcess( pMan, FileNameDot, vAdds, vXors );
+ Gia_ShowProcess( pMan, FileNameDot, vAdds, vXors, fFadds );
else
Gia_WriteDotAigSimple( pMan, FileNameDot, vBold );
// visualize the file