complement: fix a regression with 2.9.8

Reported by Reuben Rowe.

* spot/twaalgos/complement.cc (complement): Remove the hard-coded
simul=0 option on automata with >32 states.  In 2.10 simul=0 now
implies det-simul=0, causing the regression, and most importantly it
is not needed anymore, because we have other threashold like simul-max
and simul-trans-pruning in place.
* tests/core/complement.test: Add Reuben's automaton as test case.
* NEWS: Mention the fix.
This commit is contained in:
Alexandre Duret-Lutz 2021-12-17 12:05:33 +01:00
parent c0a43cd92b
commit d8f245a7de
3 changed files with 334 additions and 6 deletions

View file

@ -522,11 +522,10 @@ namespace spot
m.set("det-max-states", aborter->max_states());
m.set("det-max-edges", aborter->max_edges());
}
if (aut->num_states() > 32)
{
m.set("ba-simul", 0);
m.set("simul", 0);
}
// In addition to the above options, the simulation-based
// optimization of the determinization is already restricted by
// the default values of simul-max and simul-trans-pruning.
// (See spot-x(7) for details.)
spot::postprocessor p(&m);
p.set_type(spot::postprocessor::Generic);
p.set_pref(spot::postprocessor::Deterministic);