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

@ -167,23 +167,23 @@ namespace spot
return id ^ r.id;
}
mark_t operator<<(int i) const
mark_t operator<<(unsigned i) const
{
return id << i;
}
mark_t& operator<<=(int i)
mark_t& operator<<=(unsigned i)
{
id <<= i;
return *this;
}
mark_t operator>>(int i) const
mark_t operator>>(unsigned i) const
{
return id >> i;
}
mark_t& operator>>=(int i)
mark_t& operator>>=(unsigned i)
{
id >>= i;
return *this;
@ -1072,15 +1072,8 @@ namespace spot
mark_t mark(unsigned u) const
{
return mark_(u);
}
mark_t join(const acc_cond& la, mark_t lm,
const acc_cond& ra, mark_t rm) const
{
assert(la.num_sets() + ra.num_sets() == num_sets());
(void)ra;
return lm.id | (rm.id << la.num_sets());
assert(u < num_sets());
return 1U << u;
}
mark_t comp(mark_t l) const
@ -1151,12 +1144,6 @@ namespace spot
}
protected:
mark_t::value_t mark_(unsigned u) const
{
assert(u < num_sets());
return 1U << u;
}
mark_t::value_t all_sets_() const
{
if (num_ == 0)

View file

@ -203,12 +203,8 @@ namespace spot
acc_cond::mark_t acc() const
{
return
prod_->acc().join(prod_->left_acc(),
left_->acc(),
prod_->right_acc(),
right_->acc());
}
return left_->acc() | (right_->acc() << prod_->left_acc().num_sets());
}
protected:
bdd current_cond_;