summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaDfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/aig/gia/giaDfs.c')
-rw-r--r--src/aig/gia/giaDfs.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/aig/gia/giaDfs.c b/src/aig/gia/giaDfs.c
index 5cfe3b44..7ed59b9a 100644
--- a/src/aig/gia/giaDfs.c
+++ b/src/aig/gia/giaDfs.c
@@ -418,6 +418,34 @@ Vec_Vec_t * Gia_ManLevelize( Gia_Man_t * p )
/**Function*************************************************************
+ Synopsis [Levelizes the nodes.]
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+Vec_Wec_t * Gia_ManLevelizeR( Gia_Man_t * p )
+{
+ Gia_Obj_t * pObj;
+ Vec_Wec_t * vLevels;
+ int nLevels, Level, i;
+ nLevels = Gia_ManLevelRNum( p );
+ vLevels = Vec_WecStart( nLevels + 1 );
+ Gia_ManForEachObj( p, pObj, i )
+ {
+ if ( i == 0 || (!Gia_ObjIsCo(pObj) && !Gia_ObjLevel(p, pObj)) )
+ continue;
+ Level = Gia_ObjLevel( p, pObj );
+ assert( Level <= nLevels );
+ Vec_WecPush( vLevels, Level, i );
+ }
+ return vLevels;
+}
+/**Function*************************************************************
+
Synopsis [Computes reverse topological order.]
Description [Assumes that levels are already assigned.