Optimisations

This commit is contained in:
Artur Meski
2018-07-22 20:20:14 +01:00
parent 18e840ce17
commit 07171c6d60
5 changed files with 22 additions and 6 deletions

13
mc.cc
View File

@@ -75,6 +75,7 @@ inline BDD ModelChecker::getSucc(const BDD &states)
if (opts->part_tr_rel) {
for (const auto &trans : *trp) {
q *= states * trans;
reorder();
}
}
else {
@@ -101,6 +102,7 @@ inline BDD ModelChecker::getPreE(const BDD &states)
if (opts->part_tr_rel) {
for (const auto &trans : *trp) {
q *= x * trans;
reorder();
}
}
else {
@@ -123,6 +125,7 @@ inline BDD ModelChecker::getPreEctx(const BDD &states, const BDD *contexts)
if (opts->part_tr_rel) {
for (const auto &trans : *trp) {
q *= x * trans;
reorder();
}
q *= *contexts;
}
@@ -619,6 +622,16 @@ bool ModelChecker::checkRSCTLKbmc(FormRSCTLK *form)
return result;
}
void ModelChecker::reorder(void)
{
if (opts->reorder_trans) {
VERB_L2("Reordering START");
// Cudd_ReduceHeap(cuddMgr->getManager(), CUDD_REORDER_SIFT, 100000);
cuddMgr->ReduceHeap(CUDD_REORDER_GROUP_SIFT);
VERB_L2("Reordering DONE");
}
}
void ModelChecker::cleanup(void)
{
delete reach;