sat-minimize: allow different acceptances as input and output

* src/twaalgos/dtgbasat.cc (sat_minimize): Use any arbitrary
acceptance condition passed via the "acc" option.
* src/twa/acc.hh (mark_t::max_set): New method.
* src/tests/satmin2.test: Add two test cases with DRA as input
and DSA as output.
This commit is contained in:
Alexandre Duret-Lutz 2015-04-16 00:10:56 +02:00
parent 3efeacb61b
commit 0ede968760
3 changed files with 88 additions and 3 deletions

View file

@ -197,6 +197,21 @@ namespace spot
#endif
}
// Return the number of the highest set used plus one.
// So if no set is used, this returns 0,
// but if the sets {1,3,8} are used, this returns 9.
unsigned max_set() const
{
auto i = id;
int res = 0;
while (i)
{
++res;
i >>= 1;
}
return res;
}
// Remove n bits that where set
mark_t& remove_some(unsigned n)
{