stutter: improve closure
if a transition with the same label already exist, reuse it * src/tgbaalgos/stutter.cc: Here. * src/tgbatest/stutter.test: Add a test case.
This commit is contained in:
parent
2f42c1c9bf
commit
a18327d488
2 changed files with 44 additions and 5 deletions
|
|
@ -487,13 +487,27 @@ namespace spot
|
|||
{
|
||||
if (!bdd_implies(cond, ts.cond))
|
||||
{
|
||||
ts.cond = ts.cond | cond;
|
||||
ts.cond |= cond;
|
||||
if (std::find(todo.begin(), todo.end(), t)
|
||||
== todo.end())
|
||||
todo.push_back(t);
|
||||
}
|
||||
need_new_trans = false;
|
||||
break;
|
||||
}
|
||||
else if (cond == ts.cond)
|
||||
{
|
||||
acc |= ts.acc;
|
||||
if (ts.acc != acc)
|
||||
{
|
||||
ts.acc = acc;
|
||||
if (std::find(todo.begin(), todo.end(), t)
|
||||
== todo.end())
|
||||
todo.push_back(t);
|
||||
}
|
||||
need_new_trans = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (need_new_trans)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue