From bff5f4ee67d3d65cbc6d6e39ff2825a2a09afb5f Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Mon, 3 Nov 2003 13:04:22 +0000 Subject: [PATCH] * iface/gspn/eesrg.cc (tgba_succ_iterator_gspn_eesrg::step): Really Skip unknown variables. --- ChangeLog | 3 +++ iface/gspn/eesrg.cc | 22 ++++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3a594ae07..0d8a80aab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2003-11-03 Alexandre Duret-Lutz + * iface/gspn/eesrg.cc (tgba_succ_iterator_gspn_eesrg::step): + Really Skip unknown variables. + * configure.ac, NEWS: Bump version to 0.0j. * iface/gspn/eesrg.cc (tgba_succ_iterator_gspn_eesrg::step): diff --git a/iface/gspn/eesrg.cc b/iface/gspn/eesrg.cc index 853d69459..de987ffdf 100644 --- a/iface/gspn/eesrg.cc +++ b/iface/gspn/eesrg.cc @@ -208,26 +208,28 @@ namespace spot while (cond != bddtrue) { int var = bdd_var(cond); - tgba_gspn_eesrg_private_::prop_map::iterator i = - data_->prop_dict.find(var); - - // It's OK if VAR is unknown from GreatSPN (it might have - // been used to synchornize other automaton or something), - // just skip it. - if (i != data_->prop_dict.end()) - continue; bdd high = bdd_high(cond); + int res; if (high == bddfalse) { cond = bdd_low(cond); - props[i->second] = 0; + res = 0; } else { cond = high; - props[i->second] = 1; + res = 1; } + + // It's OK if VAR is unknown from GreatSPN (it might have + // been used to synchornize other automaton or something), + // just skip it. + tgba_gspn_eesrg_private_::prop_map::iterator i = + data_->prop_dict.find(var); + if (i != data_->prop_dict.end()) + props[i->second] = res; + assert(cond != bddfalse); }