summaryrefslogtreecommitdiffstats
path: root/src/sat/bmc/bmcBmc3.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2020-04-03 23:35:47 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2020-04-03 23:35:47 -0700
commit71fd9165e39b5bda06e88d5bb545a3ef38c94e96 (patch)
treea46a891100a51c7d74a3f7a447ae57688d9e6ce2 /src/sat/bmc/bmcBmc3.c
parent5a20a27c620563e90694462df299dc3933844670 (diff)
downloadabc-71fd9165e39b5bda06e88d5bb545a3ef38c94e96.tar.gz
abc-71fd9165e39b5bda06e88d5bb545a3ef38c94e96.tar.bz2
abc-71fd9165e39b5bda06e88d5bb545a3ef38c94e96.zip
Correctly updating the failed output when recording the CEX in bmc3 -a.
Diffstat (limited to 'src/sat/bmc/bmcBmc3.c')
-rw-r--r--src/sat/bmc/bmcBmc3.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/sat/bmc/bmcBmc3.c b/src/sat/bmc/bmcBmc3.c
index 904a2d7f..6f408047 100644
--- a/src/sat/bmc/bmcBmc3.c
+++ b/src/sat/bmc/bmcBmc3.c
@@ -1772,6 +1772,7 @@ nTimeSat += clkSatRun;
// check if other outputs failed under the same counter-example
Saig_ManForEachPo( pAig, pObj, k )
{
+ Abc_Cex_t * pCexDup;
if ( k >= Saig_ManPoNum(pAig) )
break;
// skip solved outputs
@@ -1807,7 +1808,10 @@ nTimeSat += clkSatRun;
Gia_ManToBridgeResult( stdout, 0, pCexNew0, pCexNew0->iPo );
}
// remember solved output
- Vec_PtrWriteEntry( p->vCexes, k, Abc_CexDup(pCexNew, Saig_ManRegNum(pAig)) );
+ //Vec_PtrWriteEntry( p->vCexes, k, Abc_CexDup(pCexNew, Saig_ManRegNum(pAig)) );
+ pCexDup = Abc_CexDup(pCexNew, Saig_ManRegNum(pAig));
+ pCexDup->iPo = k;
+ Vec_PtrWriteEntry( p->vCexes, k, pCexDup );
}
Abc_CexFreeP( &pCexNew0 );
Abc_CexFree( pCexNew );