The computation of the counter example fails the valgrind tests

and is wrong into two ways: the search stack is generally not a
path, and does not run until the end of the STL container.
Remove it.
* src/tgbaalgos/tarjan_on_fly.cc, src/tgbaalgos/tarjan_on_fly.hh
(tarjan_on_fly): Do not inherit from the emptiness_search class,
because the check method will no longer return a counter example.
(tarjan_on_fly::check): Return only a boolean.
(tarjan_on_fly::build_counter): Delete.
* src/tgbatest/ltl2tgba.cc: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2004-10-13 17:39:27 +00:00
parent ca27267c69
commit e8e2bec243
4 changed files with 30 additions and 88 deletions

View file

@ -721,14 +721,6 @@ main(int argc, char** argv)
spot::counter_example ce(ec->result());
ce.print_result(std::cout);
ce.print_stats(std::cout);
//spot::ce::counter_example* res2 = ce.get_counter_example();
//spot::tgba* aut = res2->ce2tgba();
//spot::dotty_reachable(std::cout, aut);
//res2->print(std::cout);
//delete res2;
//delete aut;
}
else
{
@ -744,15 +736,7 @@ main(int argc, char** argv)
spot::nesteddfsgen_search* ec = new spot::nesteddfsgen_search(a);
bool res = ec->check();
ec->print_stats(std::cout);
if (expect_counter_example)
{
if (!res)
exit_code = 1;
}
else
{
exit_code = res;
}
exit_code = expect_counter_example ? !res : res;
delete ec;
}
break;
@ -786,9 +770,14 @@ main(int argc, char** argv)
break;
case TarjanOnFly:
std::cout << "Tarjan On Fly" << std::endl;
es = new spot::tarjan_on_fly(degeneralized);
break;
{
std::cout << "Tarjan On Fly" << std::endl;
spot::tarjan_on_fly* tof = new spot::tarjan_on_fly(degeneralized);
bool res = tof->check();
exit_code = expect_counter_example ? !res : res;
delete tof;
break;
}
case MinimalSearch:
{
@ -804,7 +793,7 @@ main(int argc, char** argv)
break;
case MinimalSearchIterative:
std::cout << "Iterative Minimal Search" << std::endl;
std::cout << "Iterative Minimal Search" << std::endl;
es = new spot::minimalce_search(degeneralized, true);
break;