* src/tgbaalgos/emptiness_stats.hh, src/tgbaalgos/weight.cc,

src/tgbaalgos/weight.hh: New files.
* src/tgbaalgos/Makefile.am: Add them.
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc,
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc,
src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/status.cc,
src/tgbaalgos/gtec/status.hh, : Add emptiness check statistics
capability.
* src/tgbatest/randtgba.cc: Print these statistics.
* src/tgbatest/ltl2tgba.cc: tau03opt search can deal without acceptance
condition.
* src/tgbatest/emptchk.test: Test tau03opt search.
This commit is contained in:
Denis Poitrenaud 2004-11-22 12:06:03 +00:00
parent fc775a8b1f
commit 0f15d28fe8
16 changed files with 1053 additions and 478 deletions

View file

@ -221,6 +221,7 @@ namespace spot
delete todo.top().second;
todo.pop();
}
set_states(ecs_->states());
return new couvreur99_check_result(ecs_);
}
}
@ -344,6 +345,7 @@ namespace spot
}
todo.pop();
}
set_states(ecs_->states());
return new couvreur99_check_result(ecs_);
}
}

View file

@ -24,6 +24,7 @@
#include "status.hh"
#include "tgbaalgos/emptiness.hh"
#include "tgbaalgos/emptiness_stats.hh"
namespace spot
{
@ -71,7 +72,7 @@ namespace spot
/// tgba_succ_iterators: it must compute all successors of a state
/// at once in order to decide which to explore first, and must keep
/// a list of all unexplored successors in its DFS stack.
class couvreur99_check: public emptiness_check
class couvreur99_check: public emptiness_check, public ec_statistics
{
public:
couvreur99_check(const tgba* a,

View file

@ -45,4 +45,10 @@ namespace spot
<< " strongly connected components in search stack"
<< std::endl;
}
int
couvreur99_check_status::states() const
{
return h->size();
}
}

View file

@ -47,6 +47,9 @@ namespace spot
/// Output statistics about this object.
void print_stats(std::ostream& os) const;
/// Return the number of states visited by the search
int states() const;
};
}