to_parity: Add an option to force degeneralization
* spot/twaalgos/toparity.cc, spot/twaalgos/toparity.hh: Don't try to run the algorithm without degeneralization with the option force_degen.
This commit is contained in:
parent
527b62c5ff
commit
685d6d8ba0
2 changed files with 8 additions and 4 deletions
|
|
@ -1606,6 +1606,7 @@ run()
|
||||||
max_states_sub_car =
|
max_states_sub_car =
|
||||||
10000 + nb_states_deg - 1;
|
10000 + nb_states_deg - 1;
|
||||||
}
|
}
|
||||||
|
if (!options.force_degen || !has_degeneralized)
|
||||||
nb_states_sub =
|
nb_states_sub =
|
||||||
build_scc(sub_automaton, scc, state2car_sub, car2num_sub,
|
build_scc(sub_automaton, scc, state2car_sub, car2num_sub,
|
||||||
algo_sub, max_states_sub_car);
|
algo_sub, max_states_sub_car);
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,9 @@ namespace spot
|
||||||
/// degeneralization to remove occurrences of acceptance
|
/// degeneralization to remove occurrences of acceptance
|
||||||
/// subformulas such as `Fin(x) | Fin(y)` or `Inf(x) & Inf(y)`.
|
/// subformulas such as `Fin(x) | Fin(y)` or `Inf(x) & Inf(y)`.
|
||||||
bool partial_degen = true;
|
bool partial_degen = true;
|
||||||
|
/// If \c force_degen is false, to_parity will checks if we can
|
||||||
|
/// get a better result if we don't apply partial_degeneralize.
|
||||||
|
bool force_degen = true;
|
||||||
/// If \c scc_acc_clean is true, to_parity() will ignore colors
|
/// If \c scc_acc_clean is true, to_parity() will ignore colors
|
||||||
/// no occoring in an SCC while processing this SCC.
|
/// no occoring in an SCC while processing this SCC.
|
||||||
bool acc_clean = true;
|
bool acc_clean = true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue