diff options
Diffstat (limited to 'src/map/if/ifCut.c')
-rw-r--r-- | src/map/if/ifCut.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/map/if/ifCut.c b/src/map/if/ifCut.c index ad37b77f..2d6889c0 100644 --- a/src/map/if/ifCut.c +++ b/src/map/if/ifCut.c @@ -608,6 +608,10 @@ static inline int If_ManSortCompare( If_Man_t * p, If_Cut_t * pC0, If_Cut_t * pC return -1; if ( pC0->Delay > pC1->Delay + p->fEpsilon ) return 1; + if ( pC0->fUseless < pC1->fUseless ) + return -1; + if ( pC0->fUseless > pC1->fUseless ) + return 1; return 0; } if ( p->SortMode == 0 ) // delay @@ -632,6 +636,10 @@ static inline int If_ManSortCompare( If_Man_t * p, If_Cut_t * pC0, If_Cut_t * pC return -1; if ( pC0->Power > pC1->Power + p->fEpsilon ) return 1; + if ( pC0->fUseless < pC1->fUseless ) + return -1; + if ( pC0->fUseless > pC1->fUseless ) + return 1; return 0; } assert( p->SortMode == 2 ); // delay old @@ -639,6 +647,10 @@ static inline int If_ManSortCompare( If_Man_t * p, If_Cut_t * pC0, If_Cut_t * pC return -1; if ( pC0->Delay > pC1->Delay + p->fEpsilon ) return 1; + if ( pC0->fUseless < pC1->fUseless ) + return -1; + if ( pC0->fUseless > pC1->fUseless ) + return 1; if ( pC0->Area < pC1->Area - p->fEpsilon ) return -1; if ( pC0->Area > pC1->Area + p->fEpsilon ) @@ -1129,8 +1141,8 @@ float If_CutAreaRefed( If_Man_t * p, If_Cut_t * pCut ) return 0; aResult2 = If_CutAreaDeref( p, pCut ); aResult = If_CutAreaRef( p, pCut ); - assert( aResult > aResult2 - p->fEpsilon ); - assert( aResult < aResult2 + p->fEpsilon ); +// assert( aResult > aResult2 - p->fEpsilon ); +// assert( aResult < aResult2 + p->fEpsilon ); return aResult; } @@ -1207,8 +1219,8 @@ float If_CutEdgeDerefed( If_Man_t * p, If_Cut_t * pCut ) return pCut->nLeaves; aResult2 = If_CutEdgeRef( p, pCut ); aResult = If_CutEdgeDeref( p, pCut ); - assert( aResult > aResult2 - 3*p->fEpsilon ); - assert( aResult < aResult2 + 3*p->fEpsilon ); +// assert( aResult > aResult2 - 3*p->fEpsilon ); +// assert( aResult < aResult2 + 3*p->fEpsilon ); return aResult; } @@ -1230,8 +1242,8 @@ float If_CutEdgeRefed( If_Man_t * p, If_Cut_t * pCut ) return pCut->nLeaves; aResult2 = If_CutEdgeDeref( p, pCut ); aResult = If_CutEdgeRef( p, pCut ); - assert( aResult > aResult2 - p->fEpsilon ); - assert( aResult < aResult2 + p->fEpsilon ); +// assert( aResult > aResult2 - p->fEpsilon ); +// assert( aResult < aResult2 + p->fEpsilon ); return aResult; } |