summaryrefslogtreecommitdiffstats
path: root/src/aig/dar/darDfs.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2007-07-11 08:01:00 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2007-07-11 08:01:00 -0700
commit066726076deedaf6d5b38ee4ed27eeb4a2b0061a (patch)
tree4d8b8eb2f44d4e6ef2f5176aab58e42ed677236e /src/aig/dar/darDfs.c
parenta8d75dcc60da15644efbd20529609a1495df229a (diff)
downloadabc-066726076deedaf6d5b38ee4ed27eeb4a2b0061a.tar.gz
abc-066726076deedaf6d5b38ee4ed27eeb4a2b0061a.tar.bz2
abc-066726076deedaf6d5b38ee4ed27eeb4a2b0061a.zip
Version abc70711
Diffstat (limited to 'src/aig/dar/darDfs.c')
-rw-r--r--src/aig/dar/darDfs.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/aig/dar/darDfs.c b/src/aig/dar/darDfs.c
index bdb23c9d..116f428c 100644
--- a/src/aig/dar/darDfs.c
+++ b/src/aig/dar/darDfs.c
@@ -90,6 +90,35 @@ Vec_Ptr_t * Dar_ManDfs( Dar_Man_t * p )
/**Function*************************************************************
+ Synopsis [Collects internal nodes in the DFS order.]
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+Vec_Ptr_t * Dar_ManDfsNodes( Dar_Man_t * p, Dar_Obj_t ** ppNodes, int nNodes )
+{
+ Vec_Ptr_t * vNodes;
+ Dar_Obj_t * pObj;
+ int i;
+ assert( Dar_ManLatchNum(p) == 0 );
+ Dar_ManIncrementTravId( p );
+ // mark constant and PIs
+ Dar_ObjSetTravIdCurrent( p, Dar_ManConst1(p) );
+ Dar_ManForEachPi( p, pObj, i )
+ Dar_ObjSetTravIdCurrent( p, pObj );
+ // go through the nodes
+ vNodes = Vec_PtrAlloc( Dar_ManNodeNum(p) );
+ for ( i = 0; i < nNodes; i++ )
+ Dar_ManDfs_rec( p, ppNodes[i], vNodes );
+ return vNodes;
+}
+
+/**Function*************************************************************
+
Synopsis [Computes the max number of levels in the manager.]
Description []