Commit c1e54b8b by Alan Mishchenko

Experiments with recent ideas.

parent 86d3c72b
...@@ -219,13 +219,11 @@ int Bmc_LilacPerform( Gia_Man_t * p, Vec_Int_t * vInit0, Vec_Int_t * vInit1, int ...@@ -219,13 +219,11 @@ int Bmc_LilacPerform( Gia_Man_t * p, Vec_Int_t * vInit0, Vec_Int_t * vInit1, int
else else
Vec_IntPush( vMiters, -1 ); Vec_IntPush( vMiters, -1 );
assert( Vec_IntSize(vMiters) == Gia_ManRegNum(p) ); assert( Vec_IntSize(vMiters) == Gia_ManRegNum(p) );
if ( fVerbose )
printf( "Frame %4d : ", f );
if ( Vec_IntSum(vMiters) + Vec_IntSize(vLits1) == 0 ) if ( Vec_IntSum(vMiters) + Vec_IntSize(vLits1) == 0 )
{ {
if ( fVerbose ) if ( fVerbose )
printf( "Trivial\n" ); printf( "Reached a fixed point after %d frames. \n", f+1 );
continue; break;
} }
// create new part // create new part
pPart = Bmc_LilacPart( pNew, vSatMap, vMiters, vPartMap, vCopies ); pPart = Bmc_LilacPart( pNew, vSatMap, vMiters, vPartMap, vCopies );
...@@ -288,6 +286,7 @@ int Bmc_LilacPerform( Gia_Man_t * p, Vec_Int_t * vInit0, Vec_Int_t * vInit1, int ...@@ -288,6 +286,7 @@ int Bmc_LilacPerform( Gia_Man_t * p, Vec_Int_t * vInit0, Vec_Int_t * vInit1, int
} }
if ( fVerbose ) if ( fVerbose )
{ {
printf( "Frame %4d : ", f+1 );
printf( "Vars =%7d ", nSatVars ); printf( "Vars =%7d ", nSatVars );
printf( "Clause =%10d ", sat_solver_nclauses(pSat) ); printf( "Clause =%10d ", sat_solver_nclauses(pSat) );
printf( "Conflict =%10d ", sat_solver_nconflicts(pSat) ); printf( "Conflict =%10d ", sat_solver_nconflicts(pSat) );
......
...@@ -239,7 +239,7 @@ Vec_Int_t * Gia_ManTulipPerform( Gia_Man_t * p, Vec_Int_t * vInit, int nFrames, ...@@ -239,7 +239,7 @@ Vec_Int_t * Gia_ManTulipPerform( Gia_Man_t * p, Vec_Int_t * vInit, int nFrames,
Gia_ManForEachPi( pM, pObj, i ) Gia_ManForEachPi( pM, pObj, i )
if ( i == Gia_ManRegNum(p) ) if ( i == Gia_ManRegNum(p) )
break; break;
else if ( (Vec_IntEntry(vLits, i) & 2) && !Vec_IntEntry( vMap, pCnf->pVarNums[Gia_ObjId(pM, pObj)] ) ) else if ( (Vec_IntEntry(vLits, i) & 2) && Vec_IntEntry( vMap, pCnf->pVarNums[Gia_ObjId(pM, pObj)] ) )
Vec_IntWriteEntry( vLits, i, (Vec_IntEntry(vLits, i) & 1) ); Vec_IntWriteEntry( vLits, i, (Vec_IntEntry(vLits, i) & 1) );
Vec_IntFree( vMap ); Vec_IntFree( vMap );
......
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