simulation: remove unnecessary iteration
This fixes #442. * spot/twaalgos/simulation.cc (iterated_simulations_): Initialize next so that we can exit after the first iteration if no change was made. * NEWS: Mention the bug.
This commit is contained in:
parent
fb224d3f63
commit
97eedd7c5c
2 changed files with 8 additions and 4 deletions
4
NEWS
4
NEWS
|
|
@ -152,6 +152,10 @@ New in spot 2.9.5.dev (not yet released)
|
|||
- twa_graph::merge_edges() could fail to merge two transitions if the
|
||||
destination transition was the first of the automaton. (Issue #441)
|
||||
|
||||
- On non-deterministic automata, iterated_simulations() was
|
||||
performing an (unnecessary) second iteration even when the first
|
||||
one failed to reduce the automaton. (Issue #442)
|
||||
|
||||
New in spot 2.9.5 (2020-11-19)
|
||||
|
||||
Bugs fixed:
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2012-2019 Laboratoire de Recherche et Développement
|
||||
// Copyright (C) 2012-2020 Laboratoire de Recherche et Développement
|
||||
// de l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -70,13 +70,13 @@ namespace spot
|
|||
{
|
||||
}
|
||||
|
||||
automaton_size(const twa_graph_ptr& a)
|
||||
automaton_size(const const_twa_graph_ptr& a)
|
||||
: edges(a->num_edges()),
|
||||
states(a->num_states())
|
||||
{
|
||||
}
|
||||
|
||||
void set_size(const twa_graph_ptr& a)
|
||||
void set_size(const const_twa_graph_ptr& a)
|
||||
{
|
||||
states = a->num_states();
|
||||
edges = a->num_edges();
|
||||
|
|
@ -920,7 +920,7 @@ namespace spot
|
|||
{
|
||||
twa_graph_ptr res = nullptr;
|
||||
automaton_size prev;
|
||||
automaton_size next;
|
||||
automaton_size next(t);
|
||||
|
||||
do
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue