Commit 2ea7cbe0 authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz
Browse files

* src/tgba/tgbabddcoredata.hh (tgba_bdd_core_data::nownext_set):

New attribute.
* tgba/tgbabddcoredata.cc, tgba/tgbabddtranslatefactory.cc:
Handle nownext_set.
* src/tgba/succiterconcrete.cc
(tgba_succ_iterator_concrete::next): Use nownext_set to simplify.
parent 2ed07475
2003-07-02 Alexandre Duret-Lutz <aduret@src.lip6.fr>
* src/tgba/tgbabddcoredata.hh (tgba_bdd_core_data::nownext_set):
New attribute.
* tgba/tgbabddcoredata.cc, tgba/tgbabddtranslatefactory.cc:
Handle nownext_set.
* src/tgba/succiterconcrete.cc
(tgba_succ_iterator_concrete::next): Use nownext_set to simplify.
Rewrite tgba_succ_iterator_concrete::next for the fourth time
(or is it the fifth?).
......@@ -14,7 +21,7 @@
(tgba_succ_iterator_concrete::first): Likewise.
(tgba_succ_iterator_concrete::next): Rewrite.
* tgba/tgbabddcoredata.hh (tgba_bdd_core_data::acc_set): New attribute.
* tgba/tgbabddcoredata.cc, tgba/tgbabddtranslatefactory.cc:
* tgba/tgbabddcoredata.cc, tgba/tgbabddtranslatefactory.cc:
Handle acc_set.
2003-07-01 Alexandre Duret-Lutz <aduret@src.lip6.fr>
......
......@@ -111,7 +111,7 @@ namespace spot
{
// AS is false when no transition from ST belongs to
// an accepting set. Iterate over ST directly.
trans_set_ = bdd_exist(st, data_.now_set & data_.next_set);
trans_set_ = bdd_exist(st, data_.nownext_set);
}
else
{
......@@ -119,7 +119,7 @@ namespace spot
// only work over a set of transitions sharing the
// same accepting set.
as = bdd_exist(as, data_.now_set & data_.next_set);
as = bdd_exist(as, data_.nownext_set);
// as = (a | (!a)&b) & (Acc[a] | Acc[b]) + (!a & Acc[b])
bdd cube = bdd_satone(as);
// cube = (!ab & Acc[a])
......@@ -137,7 +137,7 @@ namespace spot
// Pick and remove one satisfaction from trans_set_left_.
bdd cube = bdd_satone(trans_set_left_);
trans_set_left_ &= !cube;
// Let this cube grow as much as possible.
// Let this cube grow as much as possible.
// (e.g., cube "(!a)&b" taken from "a | (!a)&b" can
// be simplified to "b").
cube = bdd_simplify(cube, cube | neg_trans_set_);
......
......@@ -7,7 +7,7 @@ namespace spot
accepting_conditions(bddfalse),
now_set(bddtrue),
next_set(bddtrue),
negnow_set(bddtrue),
nownext_set(bddtrue),
notnow_set(bddtrue),
notnext_set(bddtrue),
var_set(bddtrue),
......@@ -25,7 +25,7 @@ namespace spot
accepting_conditions(copy.accepting_conditions),
now_set(copy.now_set),
next_set(copy.next_set),
negnow_set(copy.negnow_set),
nownext_set(copy.nownext_set),
notnow_set(copy.notnow_set),
notnext_set(copy.notnext_set),
var_set(copy.var_set),
......@@ -46,7 +46,7 @@ namespace spot
| right.accepting_conditions),
now_set(left.now_set & right.now_set),
next_set(left.next_set & right.next_set),
negnow_set(left.negnow_set & right.negnow_set),
nownext_set(left.nownext_set & right.nownext_set),
notnow_set(left.notnow_set & right.notnow_set),
notnext_set(left.notnext_set & right.notnext_set),
var_set(left.var_set & right.var_set),
......@@ -80,10 +80,10 @@ namespace spot
{
now_set &= now;
next_set &= next;
negnow_set &= !now;
notnext_set &= now;
notnow_set &= next;
bdd both = now & next;
nownext_set &= both;
notvar_set &= both;
notacc_set &= both;
varandnext_set &= next;
......
......@@ -65,8 +65,8 @@ namespace spot
bdd now_set;
/// The conjunction of all Next variables, in their positive form.
bdd next_set;
/// The conjunction of all Now variables, in their negated form.
bdd negnow_set;
/// The conjunction of all Now and Next variables, in their positive form.
bdd nownext_set;
/// \brief The (positive) conjunction of all variables which are
/// not Now variables.
bdd notnow_set;
......
......@@ -16,7 +16,7 @@ namespace spot
data_.accepting_conditions = bdd_replace(in.accepting_conditions, rewrite);
data_.now_set = bdd_replace(in.now_set, rewrite);
data_.next_set = bdd_replace(in.next_set, rewrite);
data_.negnow_set = bdd_replace(in.negnow_set, rewrite);
data_.nownext_set = bdd_replace(in.nownext_set, rewrite);
data_.notnow_set = bdd_replace(in.notnow_set, rewrite);
data_.notnext_set = bdd_replace(in.notnext_set, rewrite);
data_.notvar_set = bdd_replace(in.notvar_set, rewrite);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment