summaryrefslogtreecommitdiffstats
path: root/src/opt/mfs/mfsResub.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2009-02-15 08:01:00 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2009-02-15 08:01:00 -0800
commit0871bffae307e0553e0c5186336189e8b55cf6a6 (patch)
tree4571d1563fe33a53a57fea1c35fb668b9d33265f /src/opt/mfs/mfsResub.c
parentf936cc0680c98ffe51b3a1716c996072d5dbf76c (diff)
downloadabc-0871bffae307e0553e0c5186336189e8b55cf6a6.tar.gz
abc-0871bffae307e0553e0c5186336189e8b55cf6a6.tar.bz2
abc-0871bffae307e0553e0c5186336189e8b55cf6a6.zip
Version abc90215
Diffstat (limited to 'src/opt/mfs/mfsResub.c')
-rw-r--r--src/opt/mfs/mfsResub.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/opt/mfs/mfsResub.c b/src/opt/mfs/mfsResub.c
index e9ea2c40..e49fd61d 100644
--- a/src/opt/mfs/mfsResub.c
+++ b/src/opt/mfs/mfsResub.c
@@ -100,7 +100,7 @@ int Abc_NtkMfsTryResubOnce( Mfs_Man_t * p, int * pCands, int nCands )
unsigned * pData;
int RetValue, iVar, i;
p->nSatCalls++;
- RetValue = sat_solver_solve( p->pSat, pCands, pCands + nCands, (sint64)p->pPars->nBTLimit, (sint64)0, (sint64)0, (sint64)0 );
+ RetValue = sat_solver_solve( p->pSat, pCands, pCands + nCands, (ABC_INT64_T)p->pPars->nBTLimit, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0 );
// assert( RetValue == l_False || RetValue == l_True );
if ( RetValue == l_False )
return 1;
@@ -209,8 +209,6 @@ p->timeInt += clock() - clk;
iVar = -1;
while ( 1 )
{
- float * pProbab = (float *)(p->vProbs? p->vProbs->pArray : NULL);
- assert( (pProbab != NULL) == p->pPars->fPower );
if ( fVeryVerbose )
{
printf( "%3d: %2d ", p->nCexes, iVar );
@@ -231,7 +229,7 @@ p->timeInt += clock() - clk;
{
Abc_Obj_t * pDiv = Vec_PtrEntry(p->vDivs, iVar);
// only accept the divisor if it is "cool"
- if ( pProbab[Abc_ObjId(pDiv)] >= 0.15 )
+ if ( Abc_MfsObjProb(p, pDiv) >= 0.15 )
continue;
}
pData = Vec_PtrEntry( p->vDivCexes, iVar );
@@ -355,8 +353,6 @@ p->timeInt += clock() - clk;
while ( 1 )
{
#if 1 // sjang
- float * pProbab = (float *)(p->vProbs? p->vProbs->pArray : NULL);
- assert( (pProbab != NULL) == p->pPars->fPower );
#endif
if ( fVeryVerbose )
{
@@ -381,7 +377,7 @@ p->timeInt += clock() - clk;
{
Abc_Obj_t * pDiv = Vec_PtrEntry(p->vDivs, iVar);
// only accept the divisor if it is "cool"
- if ( pProbab[Abc_ObjId(pDiv)] >= 0.12 )
+ if ( Abc_MfsObjProb(p, pDiv) >= 0.12 )
continue;
}
#endif
@@ -393,7 +389,7 @@ p->timeInt += clock() - clk;
{
Abc_Obj_t * pDiv = Vec_PtrEntry(p->vDivs, iVar2);
// only accept the divisor if it is "cool"
- if ( pProbab[Abc_ObjId(pDiv)] >= 0.12 )
+ if ( Abc_MfsObjProb(p, pDiv) >= 0.12 )
continue;
}
#endif
@@ -477,16 +473,15 @@ int Abc_NtkMfsEdgeSwapEval( Mfs_Man_t * p, Abc_Obj_t * pNode )
int Abc_NtkMfsEdgePower( Mfs_Man_t * p, Abc_Obj_t * pNode )
{
Abc_Obj_t * pFanin;
- float * pProbab = (float *)p->vProbs->pArray;
int i;
// try replacing area critical fanins
Abc_ObjForEachFanin( pNode, pFanin, i )
{
- if ( pProbab[pFanin->Id] >= 0.35 )
+ if ( Abc_MfsObjProb(p, pFanin) >= 0.35 )
{
if ( Abc_NtkMfsSolveSatResub( p, pNode, i, 0, 0 ) )
return 1;
- } else if ( pProbab[pFanin->Id] >= 0.25 ) // sjang
+ } else if ( Abc_MfsObjProb(p, pFanin) >= 0.25 ) // sjang
{
if ( Abc_NtkMfsSolveSatResub( p, pNode, i, 1, 0 ) )
return 1;