is_unambiguous: fix detection of empty languages

* src/tests/unambig.test: New test case.  Reported by Ming-Hsien Tsai.
* src/twaalgos/sccfilter.cc: Always create an initial state.
* src/twaalgos/isunamb.cc: Speed up on empty languages.
* NEWS, THANKS: Update.
This commit is contained in:
Alexandre Duret-Lutz 2015-10-20 08:06:31 +02:00
parent 61bf5daab4
commit cd8e53de09
5 changed files with 29 additions and 5 deletions

View file

@ -30,6 +30,8 @@ namespace spot
if (aut->is_deterministic() || aut->is_unambiguous())
return true;
auto clean_a = scc_filter_states(aut);
if (clean_a->num_edges() == 0)
return true;
auto prod = product(clean_a, clean_a);
auto clean_p = scc_filter_states(prod);
return clean_a->num_states() == clean_p->num_states()