stats: allow counting complete SCCs

* bin/common_aoutput.cc, NEWS: Update documentation.
* spot/twaalgos/stats.cc: Honor c and C.
* tests/core/alternating.test: Test it.
This commit is contained in:
Alexandre Duret-Lutz 2017-08-04 15:14:35 +02:00
parent 223b0c6a9e
commit 1cf5778faa
4 changed files with 74 additions and 6 deletions

View file

@ -212,6 +212,8 @@ namespace spot
bool non_weak = false;
bool inherently_weak = false;
bool non_inherently_weak = false;
bool complete = false;
bool non_complete = false;
const char* beg = pos;
auto error = [&](std::string str)
@ -236,11 +238,11 @@ namespace spot
case 'r':
rejecting = true;
break;
case 'v':
trivial = true;
case 'c':
complete = true;
break;
case 'V':
non_trivial = true;
case 'C':
non_complete = true;
break;
case 't':
terminal = true;
@ -248,6 +250,12 @@ namespace spot
case 'T':
non_terminal = true;
break;
case 'v':
trivial = true;
break;
case 'V':
non_trivial = true;
break;
case 'w':
weak = true;
break;
@ -301,6 +309,10 @@ namespace spot
continue;
if (non_trivial && val_->is_trivial(i))
continue;
if (complete && !is_complete_scc(*val_, i))
continue;
if (non_complete && is_complete_scc(*val_, i))
continue;
if (terminal && !is_terminal_scc(*val_, i))
continue;
if (non_terminal && is_terminal_scc(*val_, i))