acc: get rid of join()

* spot/twa/acc.hh: Here.  Also make sure << takes an unsigned
argument.
* spot/twa/twaproduct.cc, spot/twaalgos/compsusp.cc,
spot/twaalgos/product.cc, spot/twaalgos/remfin.cc,
spot/twaalgos/totgba.cc, spot/tests/acc.cc: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2015-12-17 11:45:51 +01:00
parent 94cca9de3d
commit fd6ad9913f
7 changed files with 27 additions and 48 deletions

View file

@ -168,11 +168,10 @@ namespace spot
dict->register_all_variables_of(right, res);
dict->unregister_variable(bdd_var(v), res);
const acc_cond& la = left->acc();
const acc_cond& ra = right->acc();
res->set_generalized_buchi(la.num_sets() + ra.num_sets());
unsigned lsets = left->num_sets();
res->set_generalized_buchi(lsets + right->num_sets());
acc_cond::mark_t radd = ra.all_sets();
acc_cond::mark_t radd = right->acc().all_sets();
pair_map seen;
pair_queue todo;
@ -246,9 +245,7 @@ namespace spot
todo.push_back(d);
}
acc_cond::mark_t a =
res->acc().join(la, li->acc(),
ra, racc);
acc_cond::mark_t a = li->acc() | (racc << lsets);
res->new_edge(src, dest, bdd_exist(cond, v), a);
if (ri)