Simplify copying of atomic propositions in new tgba_digraph.

* src/tgba/bdddict.cc, src/tgba/bdddict.hh
(register_all_propositions_of): New method.
* src/tgba/tgbagraph.hh (copy_ap_of): New method.
* src/dstarparse/dra2ba.cc, src/dstarparse/nra2nba.cc,
src/dstarparse/nsa2tgba.cc, src/tgbaalgos/degen.cc,
src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc,
src/tgbaalgos/dupexp.cc, src/tgbaalgos/emptiness.cc,
src/tgbaalgos/minimize.cc, src/tgbaalgos/powerset.cc,
src/tgbaalgos/sccfilter.cc, src/tgbaalgos/simulation.cc,
src/tgbaalgos/stripacc.cc: Simplify using copy_ap_of.
This commit is contained in:
Alexandre Duret-Lutz 2014-08-13 14:21:16 +02:00
parent 917f70073f
commit 10e5c62386
16 changed files with 65 additions and 61 deletions

View file

@ -235,8 +235,7 @@ namespace spot
sm_(sm),
realizable_(realizable)
{
bdd_dict* bd = a->aut->get_dict();
bd->register_all_variables_of(a->aut, out_);
out_->copy_ap_of(a->aut);
out_->set_bprop(tgba_digraph::StateBasedAcc);
acc_ = out_->set_single_acceptance_set();
out_->new_states(num_states_ * (a->accpair_count + 1));
@ -292,7 +291,8 @@ namespace spot
// accepting cycle.
out_->new_transition(in, out + shift, cond);
// Acceptance transitions are those in the Li set. (Löding's Fi set.)
// Acceptance transitions are those in the Li
// set. (Löding's Fi set.)
out_->new_acc_transition(in + shift, out + shift, cond,
l.get(i));
}

View file

@ -44,10 +44,7 @@ namespace spot
d_(a),
num_states_(a->aut->num_states())
{
bdd_dict* bd = out_->get_dict();
bd->register_all_variables_of(aut, out_);
// Invent a new acceptance set for the degeneralized automaton.
out_->copy_ap_of(aut);
out_->set_single_acceptance_set();
out_->set_bprop(tgba_digraph::StateBasedAcc);
out_->new_states(num_states_ * (d_->accpair_count + 1));

View file

@ -102,11 +102,9 @@ namespace spot
tgba_digraph* nsa_to_tgba(const dstar_aut* nsa)
{
assert(nsa->type == Streett);
tgba_digraph* a = nsa->aut;
bdd_dict* dict = a->get_dict();
tgba_digraph* res = new tgba_digraph(dict);
dict->register_all_variables_of(a, res);
auto a = nsa->aut;
auto res = new tgba_digraph(a->get_dict());
res->copy_ap_of(a);
// Create accpair_count acceptance sets for the output.
unsigned npairs = nsa->accpair_count;