summaryrefslogtreecommitdiffstats
path: root/src/aig/gia/giaSweeper.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-05-08 10:24:00 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-05-08 10:24:00 -0700
commit68566713da1f5eaf712caf06b3750d2e6f92ee43 (patch)
tree3f379b7c73e1c5574cbea235a4bbe20ece593882 /src/aig/gia/giaSweeper.c
parente7e21b00fe979b5a8f91341c83caa21809e8b105 (diff)
downloadabc-68566713da1f5eaf712caf06b3750d2e6f92ee43.tar.gz
abc-68566713da1f5eaf712caf06b3750d2e6f92ee43.tar.bz2
abc-68566713da1f5eaf712caf06b3750d2e6f92ee43.zip
Bug fix in the sweeper.
Diffstat (limited to 'src/aig/gia/giaSweeper.c')
-rw-r--r--src/aig/gia/giaSweeper.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/aig/gia/giaSweeper.c b/src/aig/gia/giaSweeper.c
index 1b1abece..5ff05a37 100644
--- a/src/aig/gia/giaSweeper.c
+++ b/src/aig/gia/giaSweeper.c
@@ -959,7 +959,7 @@ Vec_Int_t * Gia_SweeperGraft( Gia_Man_t * pDst, Vec_Int_t * vProbes, Gia_Man_t *
else
assert( Gia_ManPiNum(pDst) == Gia_ManPiNum(pSrc) );
Gia_ManForEachPi( pSrc, pObj, i )
- pObj->Value = Gia_SweeperProbeLit( pDst, vProbes ? Vec_IntEntry(vProbes, i) : Gia_Obj2Lit(pDst,Gia_ManPi(pDst, i)) );
+ pObj->Value = vProbes ? Gia_SweeperProbeLit(pDst, Vec_IntEntry(vProbes, i)) : Gia_Obj2Lit(pDst,Gia_ManPi(pDst, i));
Gia_ManForEachAnd( pSrc, pObj, i )
pObj->Value = Gia_ManHashAnd( pDst, Gia_ObjFanin0Copy(pObj), Gia_ObjFanin1Copy(pObj) );
vOutLits = Vec_IntAlloc( Gia_ManPoNum(pSrc) );
@@ -996,6 +996,9 @@ Gia_Man_t * Gia_SweeperSweep( Gia_Man_t * p, Vec_Int_t * vProbeOuts, int nWords,
pGiaCond = Gia_SweeperExtractUserLogic( p, vProbeConds, NULL, NULL );
pGiaOuts = Gia_SweeperExtractUserLogic( p, vProbeOuts, NULL, NULL );
Gia_ManSetPhase( pGiaOuts );
+ // if there is no conditions, define constant true constrain (constant 0 output)
+ if ( Gia_ManPoNum(pGiaCond) == 0 )
+ Gia_ManAppendCo( pGiaCond, Gia_ManConst0Lit() );
// perform sweeping under constraints
pGiaRes = Ssc_PerformSweeping( pGiaOuts, pGiaCond, pPars );
Gia_ManStop( pGiaCond );
@@ -1083,6 +1086,7 @@ Gia_Man_t * Gia_SweeperFraigTest( Gia_Man_t * pInit, int nWords, int nConfs, int
return pGia;
}
+
////////////////////////////////////////////////////////////////////////
/// END OF FILE ///
////////////////////////////////////////////////////////////////////////