remove_fin: ignore more useless transitions

Do not clone transitions that are necessarily part of on accepting
cycle in the main copy of the automaton.

* spot/twaalgos/remfin.cc: Use propagate_marks_vector to ignore more
edges.
* tests/core/remfin.test, tests/python/remfin.py,
tests/python/automata.ipynb: Adjust.
* tests/sanity/style.test: Do not choke on C++17 if statements with
initializer.
This commit is contained in:
Alexandre Duret-Lutz 2020-07-24 15:38:42 +02:00
parent 91db0e1e29
commit 7fbf4e0e3c
6 changed files with 269 additions and 288 deletions

3
NEWS
View file

@ -48,6 +48,9 @@ New in spot 2.9.3.dev (not yet released)
- Translations for formulas such as FGp1 & FGp2 &...& FGp32 which
used to take ages are now instantaneous. (See issue #412.)
- remove_fin() learned to remove more unnecessary edges by using
propagate_marks_vector().
Bugs fixed:
- Handle xor and <-> in a more natural way when translating