Commit e5054fa7 by Alan Mishchenko

Making sure 'pdr -a' return UNDEC if it did not finish proving the remaining outputs to be UNSAT.

parent d80071be
...@@ -606,7 +606,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p ) ...@@ -606,7 +606,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
if ( !p->pPars->fSilent ) if ( !p->pPars->fSilent )
Abc_Print( 1, "Reached gap timeout (%d seconds).\n", p->pPars->nTimeOutGap ); Abc_Print( 1, "Reached gap timeout (%d seconds).\n", p->pPars->nTimeOutGap );
p->pPars->iFrame = k; p->pPars->iFrame = k;
return p->vCexes ? 0 : -1; return -1;
} }
RetValue = Pdr_ManCheckCube( p, k, NULL, &pCube, p->pPars->nConfLimit ); RetValue = Pdr_ManCheckCube( p, k, NULL, &pCube, p->pPars->nConfLimit );
if ( RetValue == 1 ) if ( RetValue == 1 )
...@@ -620,7 +620,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p ) ...@@ -620,7 +620,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
else if ( p->pPars->fVerbose ) else if ( p->pPars->fVerbose )
Abc_Print( 1, "Computation cancelled by the callback.\n" ); Abc_Print( 1, "Computation cancelled by the callback.\n" );
p->pPars->iFrame = k; p->pPars->iFrame = k;
return p->vCexes ? 0 : -1; return -1;
} }
if ( RetValue == 0 ) if ( RetValue == 0 )
{ {
...@@ -636,7 +636,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p ) ...@@ -636,7 +636,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
else if ( p->pPars->fVerbose ) else if ( p->pPars->fVerbose )
Abc_Print( 1, "Computation cancelled by the callback.\n" ); Abc_Print( 1, "Computation cancelled by the callback.\n" );
p->pPars->iFrame = k; p->pPars->iFrame = k;
return p->vCexes ? 0 : -1; return -1;
} }
if ( RetValue == 0 ) if ( RetValue == 0 )
{ {
...@@ -702,7 +702,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p ) ...@@ -702,7 +702,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
Abc_Print( 1, "Reached conflict limit (%d).\n", p->pPars->nConfLimit ); Abc_Print( 1, "Reached conflict limit (%d).\n", p->pPars->nConfLimit );
} }
p->pPars->iFrame = k; p->pPars->iFrame = k;
return p->vCexes ? 0 : -1; return -1;
} }
if ( RetValue ) if ( RetValue )
{ {
...@@ -722,7 +722,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p ) ...@@ -722,7 +722,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
if ( p->pPars->pFuncStop && p->pPars->pFuncStop(p->pPars->RunId) ) if ( p->pPars->pFuncStop && p->pPars->pFuncStop(p->pPars->RunId) )
{ {
p->pPars->iFrame = k; p->pPars->iFrame = k;
return p->vCexes ? 0 : -1; return -1;
} }
if ( p->timeToStop && clock() > p->timeToStop ) if ( p->timeToStop && clock() > p->timeToStop )
{ {
...@@ -736,7 +736,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p ) ...@@ -736,7 +736,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
if ( !p->pPars->fSilent ) if ( !p->pPars->fSilent )
Abc_Print( 1, "Reached timeout (%d seconds).\n", p->pPars->nTimeOut ); Abc_Print( 1, "Reached timeout (%d seconds).\n", p->pPars->nTimeOut );
p->pPars->iFrame = k; p->pPars->iFrame = k;
return p->vCexes ? 0 : -1; return -1;
} }
if ( p->pPars->nTimeOutGap && p->pPars->timeLastSolved && clock() > p->pPars->timeLastSolved + p->pPars->nTimeOutGap * CLOCKS_PER_SEC ) if ( p->pPars->nTimeOutGap && p->pPars->timeLastSolved && clock() > p->pPars->timeLastSolved + p->pPars->nTimeOutGap * CLOCKS_PER_SEC )
{ {
...@@ -750,7 +750,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p ) ...@@ -750,7 +750,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
if ( !p->pPars->fSilent ) if ( !p->pPars->fSilent )
Abc_Print( 1, "Reached gap timeout (%d seconds).\n", p->pPars->nTimeOutGap ); Abc_Print( 1, "Reached gap timeout (%d seconds).\n", p->pPars->nTimeOutGap );
p->pPars->iFrame = k; p->pPars->iFrame = k;
return p->vCexes ? 0 : -1; return -1;
} }
if ( p->pPars->nFrameMax && k >= p->pPars->nFrameMax ) if ( p->pPars->nFrameMax && k >= p->pPars->nFrameMax )
{ {
...@@ -759,10 +759,11 @@ int Pdr_ManSolveInt( Pdr_Man_t * p ) ...@@ -759,10 +759,11 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
if ( !p->pPars->fSilent ) if ( !p->pPars->fSilent )
Abc_Print( 1, "Reached limit on the number of timeframes (%d).\n", p->pPars->nFrameMax ); Abc_Print( 1, "Reached limit on the number of timeframes (%d).\n", p->pPars->nFrameMax );
p->pPars->iFrame = k; p->pPars->iFrame = k;
return p->vCexes ? 0 : -1; return -1;
} }
} }
return p->vCexes ? 0 : RetValue; assert( 0 );
return -1;
} }
/**Function************************************************************* /**Function*************************************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment