Commit a13d2c8f authored by Ala-Eddine Ben-Salem's avatar Ala-Eddine Ben-Salem Committed by Alexandre Duret-Lutz
Browse files

BUG FIX in TA construction and minimization

* src/taalgos/tgba2ta.cc: BUG FIX in TA construction
* src/taalgos/minimize.cc: BUG FIX in TA minimization (did_split Flag)
parent 4a1d6dd6
...@@ -367,6 +367,7 @@ namespace spot ...@@ -367,6 +367,7 @@ namespace spot
const state* src = *hi; const state* src = *hi;
bdd f = bddfalse; bdd f = bddfalse;
ta_succ_iterator* si = ta_->succ_iter(src); ta_succ_iterator* si = ta_->succ_iter(src);
trace << "+src: " << src << std::endl;
for (si->first(); !si->done(); si->next()) for (si->first(); !si->done(); si->next())
{ {
const state* dst = si->current_state(); const state* dst = si->current_state();
...@@ -380,7 +381,11 @@ namespace spot ...@@ -380,7 +381,11 @@ namespace spot
= bdd_false_acceptance_condition; = bdd_false_acceptance_condition;
f |= (bdd_ithvar(i->second) & si->current_condition() f |= (bdd_ithvar(i->second) & si->current_condition()
& current_acceptance_conditions); & current_acceptance_conditions);
trace << "--------------f: " << bdd_format_accset(ta_->get_dict(),f) << std::endl;; trace << "+f: " << bdd_format_accset(ta_->get_dict(),f) << std::endl;;
trace << " -bdd_ithvar(i->second): " << bdd_format_accset(ta_->get_dict(),bdd_ithvar(i->second)) << std::endl;;
trace << " -si->current_condition(): " << bdd_format_accset(ta_->get_dict(),si->current_condition()) << std::endl;;
trace << " -current_acceptance_conditions: " << bdd_format_accset(ta_->get_dict(),current_acceptance_conditions) << std::endl;;
} }
delete si; delete si;
...@@ -411,6 +416,7 @@ namespace spot ...@@ -411,6 +416,7 @@ namespace spot
} }
else else
{ {
did_split = true;
for (; bsi != bdd_map.end(); ++bsi) for (; bsi != bdd_map.end(); ++bsi)
{ {
hash_set* set = bsi->second; hash_set* set = bsi->second;
...@@ -444,7 +450,6 @@ namespace spot ...@@ -444,7 +450,6 @@ namespace spot
} }
else else
{ {
did_split = true;
trace trace
<< "set " << format_hash_set(set, ta_) << "set " << format_hash_set(set, ta_)
<< " should be processed further" << std::endl; << " should be processed further" << std::endl;
......
...@@ -512,7 +512,7 @@ namespace spot ...@@ -512,7 +512,7 @@ namespace spot
== testing_automata->all_acceptance_conditions())) == testing_automata->all_acceptance_conditions()))
{ {
self_loop_state->set_livelock_accepting_state(true); self_loop_state->set_livelock_accepting_state(true);
self_loop_state->set_accepting_state(true); if (artificial_livelock_accepting_state != 0) self_loop_state->set_accepting_state(true);
} }
......
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