Fix detection of the last iteration of minimize_dfa().
* src/tgbaalgos/minimize.cc (minimize_dfa): Fix detection of the last iteration. An extra iteration case could be missed in case where a split generates only singletons, and yet predecessor classes need to be refined.
This commit is contained in:
parent
984c715cc6
commit
0ca40d72d7
4 changed files with 16 additions and 2 deletions
1
AUTHORS
1
AUTHORS
|
|
@ -1,5 +1,6 @@
|
|||
Have contributed to Spot:
|
||||
|
||||
Ala-Eddine Ben-Salem
|
||||
Alexandre Duret-Lutz
|
||||
Damien Lefortier
|
||||
Denis Poitrenaud
|
||||
|
|
|
|||
|
|
@ -1,3 +1,12 @@
|
|||
2012-01-05 Ala-Eddine Ben-Salem <ala@lrde.epita.fr>
|
||||
|
||||
Fix detection of the last iteration of minimize_dfa().
|
||||
|
||||
* src/tgbaalgos/minimize.cc (minimize_dfa): Fix detection of the
|
||||
last iteration. An extra iteration case could be missed in case
|
||||
where a split generates only singletons, and yet predecessor
|
||||
classes need to be refined.
|
||||
|
||||
2012-01-05 Alexandre Duret-Lutz <adl@lrde.epita.fr>
|
||||
|
||||
Fix computation of length of LTL formulas.
|
||||
|
|
|
|||
4
NEWS
4
NEWS
|
|
@ -3,6 +3,10 @@ New in spot 0.8.1a:
|
|||
* Bug fixes:
|
||||
- spot::ltl::length() forgot to count the '&' and '|' operators
|
||||
in an LTL formula.
|
||||
- minimize_dfa() could produce incorrect automata, but it's not
|
||||
clear whether this could have had an inpact on WDBA minimization
|
||||
(the worse case is that some TGBA would not have been minimized
|
||||
when they could).
|
||||
|
||||
New in spot 0.8.1:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (C) 2010, 2011 Laboratoire de Recherche et Développement
|
||||
// Copyright (C) 2010, 2011, 2012 Laboratoire de Recherche et Développement
|
||||
// de l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -425,6 +425,7 @@ namespace spot
|
|||
}
|
||||
else
|
||||
{
|
||||
did_split = true;
|
||||
for (; bsi != bdd_map.end(); ++bsi)
|
||||
{
|
||||
hash_set* set = bsi->second;
|
||||
|
|
@ -457,7 +458,6 @@ namespace spot
|
|||
}
|
||||
else
|
||||
{
|
||||
did_split = true;
|
||||
trace << "set " << format_hash_set(set, det_a)
|
||||
<< " should be processed further" << std::endl;
|
||||
next_run.push_back(set);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue