From 3dfe0dad2496b364ee9466beaeacae9eb1a3086a Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Mon, 14 Dec 2020 22:55:37 +0100 Subject: [PATCH] determinize: do not copy the "incomplete" property Mentioned in issue #298. * spot/twaalgos/determinize.cc: Do not copy prop_complete of the input if it is false. * NEWS: Mention the bug. --- NEWS | 4 ++++ spot/twaalgos/determinize.cc | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 4afbea16f..2c0734431 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ New in spot 2.9.5.dev (not yet released) performing an (unnecessary) second iteration even when the first one failed to reduce the automaton. (Issue #442) + - When passed an incomplete automaton as input, tgba_determinize() + would sometimes produce a complete automaton but incorrectly mark + it as incomplete. + New in spot 2.9.5 (2020-11-19) Bugs fixed: diff --git a/spot/twaalgos/determinize.cc b/spot/twaalgos/determinize.cc index 4aeddc497..fe4ed080c 100644 --- a/spot/twaalgos/determinize.cc +++ b/spot/twaalgos/determinize.cc @@ -926,9 +926,12 @@ namespace spot { false, // state based false, // inherently_weak false, false, // deterministic - true, // complete + false, // complete true // stutter inv }); + // completeness can only be improved. + if (aut->prop_complete().is_true()) + res->prop_complete(true); // Given a safra_state get its associated state in output automata. // Required to create new edges from 2 safra-state