summaryrefslogtreecommitdiffstats
path: root/src/aig
diff options
context:
space:
mode:
Diffstat (limited to 'src/aig')
-rw-r--r--src/aig/gia/giaLf.c6
-rw-r--r--src/aig/gia/giaNf.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/src/aig/gia/giaLf.c b/src/aig/gia/giaLf.c
index 2c216a9b..15ec3529 100644
--- a/src/aig/gia/giaLf.c
+++ b/src/aig/gia/giaLf.c
@@ -1154,7 +1154,11 @@ static inline void Lf_CutParams( Lf_Man_t * p, Lf_Cut_t * pCut, int Required, fl
else
{
Index = (int)(pBest->Delay[1] + 1 <= Required && Required != ABC_INFINITY);
- pCut->Flow += pBest->Flow[Index];
+ //pCut->Flow += pBest->Flow[Index];
+ if ( pCut->Flow >= (float)1e32 || pBest->Flow[Index] >= (float)1e32 )
+ pCut->Flow = (float)1e32;
+ else
+ pCut->Flow += pBest->Flow[Index];
}
Delay = pBest->Delay[Index];
}
diff --git a/src/aig/gia/giaNf.c b/src/aig/gia/giaNf.c
index 6f1d0c8d..403c220a 100644
--- a/src/aig/gia/giaNf.c
+++ b/src/aig/gia/giaNf.c
@@ -1147,7 +1147,11 @@ void Nf_ManCutMatchOne( Nf_Man_t * p, int iObj, int * pCut, int * pCutSet )
if ( pD->D < SCL_INFINITY && pA->D < SCL_INFINITY && ArrivalD + pC->iDelays[k] > Required )
break;
Delay = Abc_MaxInt( Delay, ArrivalD + pC->iDelays[k] );
- AreaF += pBestF[iFanin]->M[fComplF][0].F;
+ //AreaF += pBestF[iFanin]->M[fComplF][0].F;
+ if ( AreaF >= (float)1e32 || pBestF[iFanin]->M[fComplF][0].F >= (float)1e32 )
+ AreaF = (float)1e32;
+ else
+ AreaF += pBestF[iFanin]->M[fComplF][0].F;
}
}
if ( k < nFans )