Commit d0102310 by Alan Mishchenko

The result of merging.

parents 17af4542 e5054fa7
......@@ -442,13 +442,12 @@ void Gia_ManCycle( Gia_Man_t * p, int nFrames )
{
Gia_Obj_t * pObj, * pObjRi, * pObjRo;
int i, k;
// Gia_ManRandom( 1 );
// assign random primary inputs
Gia_ManForEachPi( p, pObj, k )
pObj->fMark0 = (1 & Gia_ManRandom(0));
Gia_ManRandom( 1 );
// iterate for the given number of frames
for ( i = 0; i < nFrames; i++ )
{
Gia_ManForEachPi( p, pObj, k )
pObj->fMark0 = (1 & Gia_ManRandom(0));
Gia_ManForEachAnd( p, pObj, k )
pObj->fMark0 = (Gia_ObjFanin0(pObj)->fMark0 ^ Gia_ObjFaninC0(pObj)) &
(Gia_ObjFanin1(pObj)->fMark0 ^ Gia_ObjFaninC1(pObj));
......@@ -461,16 +460,16 @@ void Gia_ManCycle( Gia_Man_t * p, int nFrames )
Gia_Man_t * Gia_ManDupCycled( Gia_Man_t * p, int nFrames )
{
Gia_Man_t * pNew;
Vec_Int_t * vInits;
Vec_Bit_t * vInits;
Gia_Obj_t * pObj;
int i;
Gia_ManCleanMark0(p);
Gia_ManCycle( p, nFrames );
vInits = Vec_IntAlloc( Gia_ManRegNum(p) );
vInits = Vec_BitAlloc( Gia_ManRegNum(p) );
Gia_ManForEachRo( p, pObj, i )
Vec_IntPush( vInits, pObj->fMark0 );
pNew = Gia_ManDupFlip( p, Vec_IntArray(vInits) );
Vec_IntFree( vInits );
Vec_BitPush( vInits, pObj->fMark0 );
pNew = Gia_ManDupFlip( p, Vec_BitArray(vInits) );
Vec_BitFree( vInits );
Gia_ManCleanMark0(p);
return pNew;
}
......
......@@ -606,7 +606,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
if ( !p->pPars->fSilent )
Abc_Print( 1, "Reached gap timeout (%d seconds).\n", p->pPars->nTimeOutGap );
p->pPars->iFrame = k;
return p->vCexes ? 0 : -1;
return -1;
}
RetValue = Pdr_ManCheckCube( p, k, NULL, &pCube, p->pPars->nConfLimit );
if ( RetValue == 1 )
......@@ -620,7 +620,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
else if ( p->pPars->fVerbose )
Abc_Print( 1, "Computation cancelled by the callback.\n" );
p->pPars->iFrame = k;
return p->vCexes ? 0 : -1;
return -1;
}
if ( RetValue == 0 )
{
......@@ -636,7 +636,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
else if ( p->pPars->fVerbose )
Abc_Print( 1, "Computation cancelled by the callback.\n" );
p->pPars->iFrame = k;
return p->vCexes ? 0 : -1;
return -1;
}
if ( RetValue == 0 )
{
......@@ -702,7 +702,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
Abc_Print( 1, "Reached conflict limit (%d).\n", p->pPars->nConfLimit );
}
p->pPars->iFrame = k;
return p->vCexes ? 0 : -1;
return -1;
}
if ( RetValue )
{
......@@ -722,7 +722,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
if ( p->pPars->pFuncStop && p->pPars->pFuncStop(p->pPars->RunId) )
{
p->pPars->iFrame = k;
return p->vCexes ? 0 : -1;
return -1;
}
if ( p->timeToStop && clock() > p->timeToStop )
{
......@@ -736,7 +736,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
if ( !p->pPars->fSilent )
Abc_Print( 1, "Reached timeout (%d seconds).\n", p->pPars->nTimeOut );
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 )
{
......@@ -750,7 +750,7 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
if ( !p->pPars->fSilent )
Abc_Print( 1, "Reached gap timeout (%d seconds).\n", p->pPars->nTimeOutGap );
p->pPars->iFrame = k;
return p->vCexes ? 0 : -1;
return -1;
}
if ( p->pPars->nFrameMax && k >= p->pPars->nFrameMax )
{
......@@ -759,10 +759,11 @@ int Pdr_ManSolveInt( Pdr_Man_t * p )
if ( !p->pPars->fSilent )
Abc_Print( 1, "Reached limit on the number of timeframes (%d).\n", p->pPars->nFrameMax );
p->pPars->iFrame = k;
return p->vCexes ? 0 : -1;
return -1;
}
}
return p->vCexes ? 0 : RetValue;
assert( 0 );
return -1;
}
/**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