From b63b332bac5883c1a60064381a81c7543a636061 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Thu, 15 Dec 2011 12:42:42 -0800 Subject: Trying to make sorting of nodes platform-indendent. --- src/aig/hop/hopBalance.c | 5 +++++ src/aig/ivy/ivyBalance.c | 5 +++++ src/aig/saig/saigBmc3.c | 5 +++++ src/base/abc/abcNames.c | 5 +++++ src/base/abc/abcUtil.c | 5 +++++ src/base/abci/abcMffc.c | 5 +++++ 6 files changed, 30 insertions(+) (limited to 'src') diff --git a/src/aig/hop/hopBalance.c b/src/aig/hop/hopBalance.c index d7458bdc..e9aa4d4d 100644 --- a/src/aig/hop/hopBalance.c +++ b/src/aig/hop/hopBalance.c @@ -217,6 +217,11 @@ Vec_Ptr_t * Hop_NodeBalanceCone( Hop_Obj_t * pObj, Vec_Vec_t * vStore, int Level int Hop_NodeCompareLevelsDecrease( Hop_Obj_t ** pp1, Hop_Obj_t ** pp2 ) { int Diff = Hop_ObjLevel(Hop_Regular(*pp1)) - Hop_ObjLevel(Hop_Regular(*pp2)); + if ( Diff > 0 ) + return -1; + if ( Diff < 0 ) + return 1; + Diff = Hop_Regular(*pp1)->Id - Hop_Regular(*pp2)->Id; if ( Diff > 0 ) return -1; if ( Diff < 0 ) diff --git a/src/aig/ivy/ivyBalance.c b/src/aig/ivy/ivyBalance.c index 2d001f8c..6eba318c 100644 --- a/src/aig/ivy/ivyBalance.c +++ b/src/aig/ivy/ivyBalance.c @@ -99,6 +99,11 @@ Ivy_Man_t * Ivy_ManBalance( Ivy_Man_t * p, int fUpdateLevel ) int Ivy_NodeCompareLevelsDecrease( Ivy_Obj_t ** pp1, Ivy_Obj_t ** pp2 ) { int Diff = Ivy_Regular(*pp1)->Level - Ivy_Regular(*pp2)->Level; + if ( Diff > 0 ) + return -1; + if ( Diff < 0 ) + return 1; + Diff = Ivy_Regular(*pp1)->Id - Ivy_Regular(*pp2)->Id; if ( Diff > 0 ) return -1; if ( Diff < 0 ) diff --git a/src/aig/saig/saigBmc3.c b/src/aig/saig/saigBmc3.c index f6ec3e0d..2dd7cbe3 100644 --- a/src/aig/saig/saigBmc3.c +++ b/src/aig/saig/saigBmc3.c @@ -1011,6 +1011,11 @@ int Saig_ManBmcCreateCnf( Gia_ManBmc_t * p, Aig_Obj_t * pObj, int iFrame ) int Aig_NodeCompareRefsIncrease( Aig_Obj_t ** pp1, Aig_Obj_t ** pp2 ) { int Diff = Aig_ObjRefs(*pp1) - Aig_ObjRefs(*pp2); + if ( Diff < 0 ) + return -1; + if ( Diff > 0 ) + return 1; + Diff = Aig_ObjId(*pp1) - Aig_ObjId(*pp2); if ( Diff < 0 ) return -1; if ( Diff > 0 ) diff --git a/src/base/abc/abcNames.c b/src/base/abc/abcNames.c index 0845f3d2..74e4e493 100644 --- a/src/base/abc/abcNames.c +++ b/src/base/abc/abcNames.c @@ -310,6 +310,11 @@ char ** Abc_NtkCollectCioNames( Abc_Ntk_t * pNtk, int fCollectCos ) int Abc_NodeCompareNames( Abc_Obj_t ** pp1, Abc_Obj_t ** pp2 ) { int Diff = strcmp( (char *)(*pp1)->pCopy, (char *)(*pp2)->pCopy ); + if ( Diff < 0 ) + return -1; + if ( Diff > 0 ) + return 1; + Diff = (*pp1)->Id - (*pp2)->Id; if ( Diff < 0 ) return -1; if ( Diff > 0 ) diff --git a/src/base/abc/abcUtil.c b/src/base/abc/abcUtil.c index 108514b5..0cf25ae3 100644 --- a/src/base/abc/abcUtil.c +++ b/src/base/abc/abcUtil.c @@ -1397,6 +1397,11 @@ Vec_Ptr_t * Abc_NtkCollectLatches( Abc_Ntk_t * pNtk ) int Abc_NodeCompareLevelsIncrease( Abc_Obj_t ** pp1, Abc_Obj_t ** pp2 ) { int Diff = Abc_ObjRegular(*pp1)->Level - Abc_ObjRegular(*pp2)->Level; + if ( Diff < 0 ) + return -1; + if ( Diff > 0 ) + return 1; + Diff = Abc_ObjRegular(*pp1)->Id - Abc_ObjRegular(*pp2)->Id; if ( Diff < 0 ) return -1; if ( Diff > 0 ) diff --git a/src/base/abci/abcMffc.c b/src/base/abci/abcMffc.c index 3fb4bdf1..b4510bd0 100644 --- a/src/base/abci/abcMffc.c +++ b/src/base/abci/abcMffc.c @@ -1121,6 +1121,11 @@ Vec_Int_t * Abc_NktMffcSaveOne( Vec_Ptr_t * vThis, Vec_Ptr_t * vVolumes ) int Abc_NodeCompareVolumeDecrease( Abc_Obj_t ** pp1, Abc_Obj_t ** pp2 ) { int Diff = Abc_ObjRegular(*pp1)->iTemp - Abc_ObjRegular(*pp2)->iTemp; + if ( Diff > 0 ) + return -1; + if ( Diff < 0 ) + return 1; + Diff = Abc_ObjRegular(*pp1)->Id - Abc_ObjRegular(*pp2)->Id; if ( Diff > 0 ) return -1; if ( Diff < 0 ) -- cgit v1.2.3