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:
Ala-Eddine Ben-Salem 2012-01-05 19:16:44 +01:00 committed by Alexandre Duret-Lutz
parent 984c715cc6
commit 0ca40d72d7
4 changed files with 16 additions and 2 deletions

View file

@ -1,5 +1,6 @@
Have contributed to Spot:
Ala-Eddine Ben-Salem
Alexandre Duret-Lutz
Damien Lefortier
Denis Poitrenaud

View file

@ -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
View file

@ -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:

View file

@ -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);