diff --git a/src/tgbaalgos/simulation.cc b/src/tgbaalgos/simulation.cc index 0a58565f0..a2094276b 100644 --- a/src/tgbaalgos/simulation.cc +++ b/src/tgbaalgos/simulation.cc @@ -394,7 +394,17 @@ namespace spot free_var_.pop(); } - assert(bdd_lstate_.size() == used_var_.size()); + for (int i = 0; i > nb_new_color; --i) + { + assert(!used_var_.empty()); + free_var_.push(bdd_var(used_var_.front())); + used_var_.pop_front(); + } + + + assert((bdd_lstate_.size() == used_var_.size()) + || (bdd_lstate_.find(bddfalse) != bdd_lstate_.end() + && bdd_lstate_.size() == used_var_.size() + 1)); // Now we make a temporary hash_table which links the tuple // "C^(i-1), N^(i-1)" to the new class coloring. If we diff --git a/src/tgbatest/Makefile.am b/src/tgbatest/Makefile.am index 70198270a..f9d95a427 100644 --- a/src/tgbatest/Makefile.am +++ b/src/tgbatest/Makefile.am @@ -76,6 +76,7 @@ TESTS = \ explicit2.test \ taatgba.test \ tgbaread.test \ + renault.test \ neverclaimread.test \ readsave.test \ ltl2tgba.test \ diff --git a/src/tgbatest/renault.test b/src/tgbatest/renault.test new file mode 100755 index 000000000..e413a1555 --- /dev/null +++ b/src/tgbatest/renault.test @@ -0,0 +1,58 @@ +#!/bin/sh +# -*- coding: utf-8 -*- +# Copyright (C) 2012 Laboratoire de Recherche et Développement +# de l'Epita (LRDE). +# +# This file is part of Spot, a model checking library. +# +# Spot is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# Spot is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Spot; see the file COPYING. If not, write to the Free +# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +. ./defs +set -e + +cat >file <outexp < out + +cmp out outexp