twaalgos: add many guards against alternation

* spot/twa/twagraph.hh, spot/twaalgos/are_isomorphic.cc,
spot/twaalgos/canonicalize.cc, spot/twaalgos/couvreurnew.cc,
spot/twaalgos/cycles.cc, spot/twaalgos/degen.cc,
spot/twaalgos/determinize.cc, spot/twaalgos/isunamb.cc,
spot/twaalgos/isweakscc.cc, spot/twaalgos/mask.hh,
spot/twaalgos/minimize.cc, spot/twaalgos/product.cc,
spot/twaalgos/randomize.cc, spot/twaalgos/sbacc.cc,
spot/twaalgos/sccfilter.cc, spot/twaalgos/simulation.cc:
Throw a runtime_error if the input is alternating.
This commit is contained in:
Alexandre Duret-Lutz 2016-12-24 18:31:19 +01:00
parent 87c9d6f039
commit 9f6924ccfb
16 changed files with 81 additions and 5 deletions

View file

@ -37,6 +37,10 @@ namespace spot
// we used to have, was motivated by issue #188.
bool is_unambiguous(const const_twa_graph_ptr& aut)
{
if (aut->is_alternating())
throw std::runtime_error
("is_unambiguous() does not support alternation");
trival u = aut->prop_unambiguous();
if (u.is_known())
return u.is_true();