product: optimize product with weak automata
Fixes #350. * spot/twaalgos/product.cc: Implement this change. * NEWS, spot/twaalgos/product.hh: Mention it. * spot/twa/acc.cc, spot/twa/acc.hh (acc_cond::sat_mark): New method. * tests/python/_product_weak.ipynb: New file. * tests/Makefile.am: Add it. * tests/python/automata.ipynb, tests/python/highlighting.ipynb, tests/python/product.ipynb, tests/core/prodor.test: Adjust test cases.
This commit is contained in:
parent
b655038803
commit
a738801edf
11 changed files with 15348 additions and 1605 deletions
|
|
@ -1165,10 +1165,21 @@ namespace spot
|
|||
// Return (true, m) if there exist some acceptance mark m that
|
||||
// does not satisfy the acceptance condition. Return (false, 0U)
|
||||
// otherwise.
|
||||
std::pair<bool, acc_cond::mark_t> unsat_mark() const;
|
||||
std::pair<bool, acc_cond::mark_t> unsat_mark() const
|
||||
{
|
||||
return sat_unsat_mark(false);
|
||||
}
|
||||
// Return (true, m) if there exist some acceptance mark m that
|
||||
// does satisfy the acceptance condition. Return (false, 0U)
|
||||
// otherwise.
|
||||
std::pair<bool, acc_cond::mark_t> sat_mark() const
|
||||
{
|
||||
return sat_unsat_mark(true);
|
||||
}
|
||||
|
||||
protected:
|
||||
bool check_fin_acceptance() const;
|
||||
std::pair<bool, acc_cond::mark_t> sat_unsat_mark(bool) const;
|
||||
|
||||
public:
|
||||
static acc_code inf(mark_t mark)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue