autfilt: introduce --acceptance-is

Fixes #288.

* bin/autfilt.cc: Implement it.
* spot/twa/acc.cc, spot/twa/acc.hh: Add
acc_cond::is_generalized_streett, acc_cond::operator==, and
acc_cond::operator!=.
* tests/core/randaut.test: Add some tests.
* NEWS: Mention it.
This commit is contained in:
Alexandre Duret-Lutz 2017-11-04 20:53:57 +01:00
parent 3334d37bb5
commit 62302b6046
5 changed files with 388 additions and 2 deletions

View file

@ -985,6 +985,16 @@ namespace spot
return code_;
}
bool operator==(const acc_cond& other) const
{
return other.num_sets() == num_ && other.get_acceptance() == code_;
}
bool operator!=(const acc_cond& other) const
{
return !(*this == other);
}
bool uses_fin_acceptance() const
{
return uses_fin_acceptance_;
@ -1124,6 +1134,9 @@ namespace spot
// Return the number of Inf in each pair.
bool is_generalized_rabin(std::vector<unsigned>& pairs) const;
// Return the number of Inf in each pair.
bool is_generalized_streett(std::vector<unsigned>& pairs) const;
// If EQUIV is false, this return true iff the acceptance
// condition is a parity condition written in the canonical way
// given in the HOA specifications. If EQUIV is true, then we