* src/tgbaalgos/se05.hh, src/tgbaalgos/tau03.hh: Typo.

* src/tgbaalgos/tau03.cc: Suppress optimisations, the algorithm is now
the original one.
* src/tgbaalgos/tau03opt.hh, src/tgbaalgos/tau03opt.cc: New files
implementing most of all the optimisations of tau03.
* src/tgbaalgos/Makefile.am: Add them.
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Make them public.
* src/tgbatest/tba_samples_from_spin.test: Test them.
This commit is contained in:
Denis Poitrenaud 2004-11-18 16:09:41 +00:00
parent 321177331d
commit 121d582480
10 changed files with 635 additions and 77 deletions

View file

@ -45,7 +45,7 @@ namespace spot
///
/// procedure dfs_blue (s)
/// begin
/// s.color = cyan;
/// s.color = blue;
/// s.acc = emptyset;
/// for all t in post(s) do
/// if t.color == white then
@ -54,28 +54,19 @@ namespace spot
/// end for;
/// for all t in post(s) do
/// let (s, l, a, t) be the edge from s to t;
/// if a U s.acc not included in t.acc then
/// target = s;
/// if s.acc U a not included in t.acc then
/// call dfs_red(t, a U s.acc);
/// end if;
/// end for;
/// if s.acc == all_acc then
/// report a cycle;
/// end if;
/// s.color = blue;
/// end;
///
/// procedure dfs_red(s, A)
/// begin
/// s.acc = s.acc U A;
/// // The following test has been added to the origiginal algorithm to
/// // report a cycle as soon as possible (and to mimic the classic magic
/// // search.
/// if s == target and s.acc == all_acc then
/// report a cycle;
/// end if;
/// for all t in post(s) do
/// let (s, l, a, t) be the edge from s to t;
/// if t.color != white and A not included in t.acc then
/// call dfs_red(t, A);
/// end if;
@ -107,4 +98,4 @@ namespace spot
/// @}
}
#endif // SPOT_TGBAALGOS_MAGIC_HH
#endif // SPOT_TGBAALGOS_TAU03_HH