ltlcross: skip product that require too much acceptance sets
Reported by Fanda when he was testing ltl3dra 0.2.2. * src/bin/ltlcross.cc: Here. * src/tests/ltl3dra.test: New file. * src/tests/Makefile.am: Add it.
This commit is contained in:
parent
7ea9ebe07a
commit
b2e812b105
3 changed files with 58 additions and 0 deletions
|
|
@ -737,6 +737,26 @@ namespace
|
|||
const spot::const_twa_graph_ptr& aut_j,
|
||||
size_t i, size_t j, bool icomp, bool jcomp)
|
||||
{
|
||||
if (aut_i->num_sets() + aut_j->num_sets()
|
||||
> 8 * sizeof(spot::acc_cond::mark_t::value_t))
|
||||
{
|
||||
// Report the skipped test if both automata are not
|
||||
// complemented, or the --verbose option is used,
|
||||
if (!verbose && (icomp || jcomp))
|
||||
return false;
|
||||
std::cerr << "info: building ";
|
||||
if (icomp)
|
||||
std::cerr << "Comp(N" << i << ')';
|
||||
else
|
||||
std::cerr << 'P' << i;
|
||||
if (jcomp)
|
||||
std::cerr << "*Comp(P" << j << ')';
|
||||
else
|
||||
std::cerr << "*N" << j;
|
||||
std::cerr << " requires more acceptance sets than supported\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
auto prod = spot::product(aut_i, aut_j);
|
||||
|
||||
if (verbose)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue