* src/tgbaalgos/emptiness_stats.hh: Make sure depth() >= 0.
* src/tgbaalgos/gtec/gtec.hh (couvreur99_check, couvreur99_check_shy): Add the poprem option. * src/tgbaalgos/gtec/gtec.cc: Implement it. * src/tgbaalgos/gtec/sccstack.cc, src/tgbaalgos/gtec/sccstack.hh (scc_stack::rem, scc_stack::clear_rem, scc_stack::connected_component::rem): New. * src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Add rem variants.
This commit is contained in:
parent
b1800e382c
commit
5fb5b68407
9 changed files with 206 additions and 46 deletions
|
|
@ -136,6 +136,9 @@ syntax(char* prog)
|
|||
<< " Cou99 (the default)" << std::endl
|
||||
<< " Cou99_shy-" << std::endl
|
||||
<< " Cou99_shy" << std::endl
|
||||
<< " Cou99_rem" << std::endl
|
||||
<< " Cou99_rem_shy-" << std::endl
|
||||
<< " Cou99_rem_shy" << std::endl
|
||||
<< " CVWY90" << std::endl
|
||||
<< " CVWY90_repeated" << std::endl
|
||||
<< " CVWY90_bsh[(heap size in Mo - 10Mo by default)]"
|
||||
|
|
@ -174,6 +177,7 @@ main(int argc, char** argv)
|
|||
Tau03Search, Tau03OptSearch, Gv04 } echeck = None;
|
||||
enum { NoneDup, BFS, DFS } dupexp = NoneDup;
|
||||
bool couv_group = true;
|
||||
bool poprem = false;
|
||||
bool search_many = false;
|
||||
bool bit_state_hashing = false;
|
||||
int heap_size = 10*1024*1024;
|
||||
|
|
@ -426,6 +430,23 @@ main(int argc, char** argv)
|
|||
echeck = Couvreur2;
|
||||
couv_group = false;
|
||||
}
|
||||
else if (echeck_algo == "Cou99_rem")
|
||||
{
|
||||
echeck = Couvreur;
|
||||
poprem = true;
|
||||
}
|
||||
else if (echeck_algo == "Cou99_rem_shy")
|
||||
{
|
||||
echeck = Couvreur2;
|
||||
couv_group = true;
|
||||
poprem = true;
|
||||
}
|
||||
else if (echeck_algo == "Cou99_rem_shy-")
|
||||
{
|
||||
echeck = Couvreur2;
|
||||
couv_group = false;
|
||||
poprem = true;
|
||||
}
|
||||
else if (echeck_algo == "CVWY90")
|
||||
{
|
||||
echeck = MagicSearch;
|
||||
|
|
@ -728,11 +749,11 @@ main(int argc, char** argv)
|
|||
break;
|
||||
|
||||
case Couvreur:
|
||||
ec = new spot::couvreur99_check(a);
|
||||
ec = new spot::couvreur99_check(a, poprem);
|
||||
break;
|
||||
|
||||
case Couvreur2:
|
||||
ec = new spot::couvreur99_check_shy(a, couv_group);
|
||||
ec = new spot::couvreur99_check_shy(a, poprem, couv_group);
|
||||
break;
|
||||
|
||||
case MagicSearch:
|
||||
|
|
|
|||
|
|
@ -65,19 +65,37 @@
|
|||
spot::emptiness_check*
|
||||
couvreur99_cons(const spot::tgba* a)
|
||||
{
|
||||
return new spot::couvreur99_check(a);
|
||||
return new spot::couvreur99_check(a, false);
|
||||
}
|
||||
|
||||
spot::emptiness_check*
|
||||
couvreur99_shy_cons(const spot::tgba* a)
|
||||
{
|
||||
return new spot::couvreur99_check_shy(a);
|
||||
return new spot::couvreur99_check_shy(a, false);
|
||||
}
|
||||
|
||||
spot::emptiness_check*
|
||||
couvreur99_shy_minus_cons(const spot::tgba* a)
|
||||
{
|
||||
return new spot::couvreur99_check_shy(a, false);
|
||||
return new spot::couvreur99_check_shy(a, false, false);
|
||||
}
|
||||
|
||||
spot::emptiness_check*
|
||||
couvreur99_rem_cons(const spot::tgba* a)
|
||||
{
|
||||
return new spot::couvreur99_check(a, true);
|
||||
}
|
||||
|
||||
spot::emptiness_check*
|
||||
couvreur99_rem_shy_cons(const spot::tgba* a)
|
||||
{
|
||||
return new spot::couvreur99_check_shy(a, true);
|
||||
}
|
||||
|
||||
spot::emptiness_check*
|
||||
couvreur99_rem_shy_minus_cons(const spot::tgba* a)
|
||||
{
|
||||
return new spot::couvreur99_check_shy(a, true, false);
|
||||
}
|
||||
|
||||
spot::emptiness_check*
|
||||
|
|
@ -103,16 +121,19 @@ struct ec_algo
|
|||
|
||||
ec_algo ec_algos[] =
|
||||
{
|
||||
{ "Cou99", couvreur99_cons, 0, -1U, true },
|
||||
{ "Cou99_shy-", couvreur99_shy_minus_cons, 0, -1U, true },
|
||||
{ "Cou99_shy", couvreur99_shy_cons, 0, -1U, true },
|
||||
{ "CVWY90", spot::explicit_magic_search, 0, 1, true },
|
||||
{ "CVWY90_bsh", bsh_ms_cons, 0, 1, false },
|
||||
{ "GV04", spot::explicit_gv04_check, 0, 1, true },
|
||||
{ "SE05", spot::explicit_se05_search, 0, 1, true },
|
||||
{ "SE05_bsh", bsh_se05_cons, 0, 1, false },
|
||||
{ "Tau03", spot::explicit_tau03_search, 1, -1U, true },
|
||||
{ "Tau03_opt", spot::explicit_tau03_opt_search, 0, -1U, true },
|
||||
{ "Cou99", couvreur99_cons, 0, -1U, true },
|
||||
{ "Cou99_shy-", couvreur99_shy_minus_cons, 0, -1U, true },
|
||||
{ "Cou99_shy", couvreur99_shy_cons, 0, -1U, true },
|
||||
{ "Cou99_rem", couvreur99_rem_cons, 0, -1U, true },
|
||||
{ "Cou99_rem_shy-", couvreur99_rem_shy_minus_cons, 0, -1U, true },
|
||||
{ "Cou99_rem_shy", couvreur99_rem_shy_cons, 0, -1U, true },
|
||||
{ "CVWY90", spot::explicit_magic_search, 0, 1, true },
|
||||
{ "CVWY90_bsh", bsh_ms_cons, 0, 1, false },
|
||||
{ "GV04", spot::explicit_gv04_check, 0, 1, true },
|
||||
{ "SE05", spot::explicit_se05_search, 0, 1, true },
|
||||
{ "SE05_bsh", bsh_se05_cons, 0, 1, false },
|
||||
{ "Tau03", spot::explicit_tau03_search, 1, -1U, true },
|
||||
{ "Tau03_opt", spot::explicit_tau03_opt_search, 0, -1U, true },
|
||||
};
|
||||
|
||||
spot::emptiness_check*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue