summaryrefslogtreecommitdiffstats
path: root/src/aig/gia
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2019-11-03 22:04:14 +0200
committerAlan Mishchenko <alanmi@berkeley.edu>2019-11-03 22:04:14 +0200
commitec1dc44287f151e9ff3cc3d54c69df4b4f7841fb (patch)
tree117b0bda1c65bdbafab3c6db83182cd708cdfaca /src/aig/gia
parent6b2fe00cd82f0229777a6beb2390858834551399 (diff)
downloadabc-ec1dc44287f151e9ff3cc3d54c69df4b4f7841fb.tar.gz
abc-ec1dc44287f151e9ff3cc3d54c69df4b4f7841fb.tar.bz2
abc-ec1dc44287f151e9ff3cc3d54c69df4b4f7841fb.zip
Changes to several APIs.
Diffstat (limited to 'src/aig/gia')
-rw-r--r--src/aig/gia/gia.h2
-rw-r--r--src/aig/gia/giaDfs.c20
-rw-r--r--src/aig/gia/giaSim4.c3
-rw-r--r--src/aig/gia/giaUtil.c28
4 files changed, 52 insertions, 1 deletions
diff --git a/src/aig/gia/gia.h b/src/aig/gia/gia.h
index 9b5e5cdc..18544a73 100644
--- a/src/aig/gia/gia.h
+++ b/src/aig/gia/gia.h
@@ -1255,6 +1255,7 @@ extern Gia_Man_t * Gia_ManDupCofAll( Gia_Man_t * p, int nFanLim, int fVe
extern void Gia_ManCollectCis( Gia_Man_t * p, int * pNodes, int nNodes, Vec_Int_t * vSupp );
extern void Gia_ManCollectAnds_rec( Gia_Man_t * p, int iObj, Vec_Int_t * vNodes );
extern void Gia_ManCollectAnds( Gia_Man_t * p, int * pNodes, int nNodes, Vec_Int_t * vNodes, Vec_Int_t * vLeaves );
+extern Vec_Int_t * Gia_ManCollectAndsAll( Gia_Man_t * p );
extern Vec_Int_t * Gia_ManCollectNodesCis( Gia_Man_t * p, int * pNodes, int nNodes );
extern int Gia_ManSuppSize( Gia_Man_t * p, int * pNodes, int nNodes );
extern int Gia_ManConeSize( Gia_Man_t * p, int * pNodes, int nNodes );
@@ -1697,6 +1698,7 @@ extern Vec_Int_t * Gia_ManFirstFanouts( Gia_Man_t * p );
extern int Gia_ManCheckSuppOverlap( Gia_Man_t * p, int iNode1, int iNode2 );
extern int Gia_ManCountPisWithFanout( Gia_Man_t * p );
extern int Gia_ManCountPosWithNonZeroDrivers( Gia_Man_t * p );
+extern void Gia_ManUpdateCopy( Vec_Int_t * vCopy, Gia_Man_t * p );
/*=== giaCTas.c ===========================================================*/
typedef struct Tas_Man_t_ Tas_Man_t;
diff --git a/src/aig/gia/giaDfs.c b/src/aig/gia/giaDfs.c
index 12cae940..5cfe3b44 100644
--- a/src/aig/gia/giaDfs.c
+++ b/src/aig/gia/giaDfs.c
@@ -143,6 +143,26 @@ void Gia_ManCollectAnds( Gia_Man_t * p, int * pNodes, int nNodes, Vec_Int_t * vN
/**Function*************************************************************
+ Synopsis [Collects support nodes.]
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+Vec_Int_t * Gia_ManCollectAndsAll( Gia_Man_t * p )
+{
+ Gia_Obj_t * pObj; int i;
+ Vec_Int_t * vNodes = Vec_IntAlloc( Gia_ManAndNum(p) );
+ Gia_ManForEachAnd( p, pObj, i )
+ Vec_IntPush( vNodes, i );
+ return vNodes;
+}
+
+/**Function*************************************************************
+
Synopsis [Counts the support size of the node.]
Description []
diff --git a/src/aig/gia/giaSim4.c b/src/aig/gia/giaSim4.c
index ad0b7a21..04352761 100644
--- a/src/aig/gia/giaSim4.c
+++ b/src/aig/gia/giaSim4.c
@@ -41,8 +41,9 @@ ABC_NAMESPACE_IMPL_START
SeeAlso []
***********************************************************************/
-void Gia_Sim4Try( char * pFileName0, char * pFileName1, int fVerbose )
+int Gia_Sim4Try( char * pFileName0, char * pFileName1, char * pFileName2, int nWords, int fOrder, int fVerbose )
{
+ return 0;
}
////////////////////////////////////////////////////////////////////////
diff --git a/src/aig/gia/giaUtil.c b/src/aig/gia/giaUtil.c
index eadc2a86..a753075f 100644
--- a/src/aig/gia/giaUtil.c
+++ b/src/aig/gia/giaUtil.c
@@ -2194,6 +2194,34 @@ int Gia_ManCountPosWithNonZeroDrivers( Gia_Man_t * p )
return Count;
}
+/**Function*************************************************************
+
+ Synopsis []
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+void Gia_ManUpdateCopy( Vec_Int_t * vCopy, Gia_Man_t * p )
+{
+ Gia_Obj_t * pObj;
+ int i, iLit;
+ Vec_IntForEachEntry( vCopy, iLit, i )
+ {
+ if ( iLit == -1 )
+ continue;
+ pObj = Gia_ManObj( p, Abc_Lit2Var(iLit) );
+ if ( !~pObj->Value )
+ Vec_IntWriteEntry( vCopy, i, -1 );
+ else
+ Vec_IntWriteEntry( vCopy, i, Abc_LitNotCond(pObj->Value, Abc_LitIsCompl(iLit)) );
+ }
+}
+
+
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
////////////////////////////////////////////////////////////////////////