Commit graph

750 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
1072b2dd99 * src/tgbaalgos/tau03opt.hh, src/tgbaalgos/se05.hh: Correct
pseudo-code.  From Denis.
2005-01-24 18:57:08 +00:00
Alexandre Duret-Lutz
42bc594193 * src/tgbaalgos/gtec/gtec.cc: Fake statistics count to match
how the algorithm will behave once remove_component() is revamped.
2005-01-24 15:25:56 +00:00
Alexandre Duret-Lutz
8f0135ebb0 * src/tgbaalgos/emptiness_stats.hh (ars_statistics): Distinguish
states visited to compute the prefix and those for the cycle.
* src/tgbaalgos/gv04.cc, src/tgbaalgos/ndfs_result.hxx,
src/tgbaalgos/gtec/ce.cc: Adjust.
* src/tgbatest/randtgba.cc: Print both statistics.
2005-01-24 15:21:41 +00:00
Alexandre Duret-Lutz
5069a565b6 * src/ltlast/formula.hh (hash, dump, dump_, hash_key_): New members.
(formula_ptr_less_than, formula_ptr_hash): New class.
* src/ltlast/atomic_prop.cc, src/ltlast/binop.cc,
src/ltlast/constant.cc, src/ltlast/formula.cc,
src/ltlast/multop.cc, src/ltlast/unop.cc: Adjust to handle dump_.
* src/ltlvisit/apcollect.cc, src/ltlvisit/apcollect.hh:
Sort the set using formula_ptr_less_than.
* src/ltlvisit/dump.cc: Simplify using ->dump().
* src/tgbaalgos/ltl2tgba_fm.cc: Sort all maps to get deterministic
results.
2005-01-20 17:33:55 +00:00
Alexandre Duret-Lutz
8a5e31f00e * src/tgbaalgos/tau03opt.hh (explicit_tau03_opt_search): Doco. 2005-01-18 16:10:49 +00:00
Alexandre Duret-Lutz
48dfd73cca * src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::clear_todo,
couvreur99_check_shy::check): Sum all successors in the
todo stack AND all items on the stack.
2005-01-18 10:52:23 +00:00
Alexandre Duret-Lutz
2604b27008 * src/tgbaalgos/emptiness_stats.hh (ec_statistics::depth): New function.
* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::clear_todo,
couvreur99_check_shy::check): Count all successors in the
todo stack rather than all items on the stack.
2005-01-17 18:48:59 +00:00
Alexandre Duret-Lutz
0ff7f3ba2f * src/tgbaalgos/gv04.cc (result): Implement the acss_statistics,
and ars_statistics interfaces.
2005-01-11 14:42:00 +00:00
Denis Poitrenaud
a4b9b791ef * src/tgbaalgos/tau03.cc: Typo.
* src/tgbatest/ltl2tgba.cc: Add option -b.
2005-01-10 17:17:19 +00:00
Alexandre Duret-Lutz
7c07f3149f * src/tgbaalgos/ndfs_result.hxx (ndfs_result, acss_interface):
Conditionally inherit from acss_statistics.
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc, src/tgbaalgos/tau03.cc,
src/tgbaalgos/tau03opt.cc: Define Has_Size in all heaps.
2005-01-07 10:27:17 +00:00
Denis Poitrenaud
603b49e216 * src/ltltest/randltl.cc: Include cassert.
* src/tgbaalgos/ndfs_result.hxx: Implement the spot::acss_statistics
interface.
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc, src/tgbaalgos/tau03.cc,
src/tgbaalgos/tau03opt.cc: Add to each heap class a method returning its
size.
2005-01-06 15:54:48 +00:00
Alexandre Duret-Lutz
7216701631 * src/sanity/includes.test: Also check *.hxx files.
* src/tgbaalgos/ndfs_result.hxx: Rename the include guard.
2005-01-04 13:32:53 +00:00
Alexandre Duret-Lutz
e9beca0d56 fix eof, truncated by last commit 2005-01-04 13:20:50 +00:00
Alexandre Duret-Lutz
b054139e6d * doc/Doxyfile.in (FILE_PATTERNS): Remove *.hxx.
* src/sanity/80columns.test, src/sanity/style.test: Process *.hxx files.
* src/tgbaalgos/ndfs_result.hh: Rename as ..
* src/tgbaalgos/ndfs_result.hxx: ... this, so it does not get
documented (and so Doxygen do not complain).
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc, src/tgbaalgos/tau03.cc,
src/tgbaalgos/tau03opt.cc: Adjust include.
* src/tgbaalgos/Makefile.am: Rename ndfs_result.hh as ndfs_result.hxx
and do not install it, this is a private header.
2005-01-03 17:39:43 +00:00
Alexandre Duret-Lutz
a9ab303859 * src/tgbaalgos/emptiness.hh: Declare Doxygen group
emptiness_check_stats.
* src/tgbaalgos/emptiness_stats.hh: Use it.
2005-01-03 16:59:53 +00:00
Alexandre Duret-Lutz
55c08790fd * src/tgbaalgos/emptiness_stats.hh (ars_statistics): New class.
* src/tgbaalgos/ndfs_result.hh (ndfs_result): Inherit from
ars_statistics.
(ndfs_result::dfs): Call inc_ars_states().
(ndfs_result::test_path, ndfs_result::min_path): Update ars_statistics.
* tgbaalgos/gtec/ce.hh (couvreur99_check_result): Inherit
from ars_statistics.
* tgbaalgos/gtec/ce.cc (shortest_path,
couvreur99_check_result::accepting_cycle::scc_bfs):
Update ars_statistics.
* src/tgbatest/randtgba.cc: Display statistics about accepting run
search.
2005-01-03 15:49:50 +00:00
Alexandre Duret-Lutz
6feb92090d * src/tgbaalgos/bfssteps.hh (bfs_steps::finalize): Document. 2005-01-03 14:20:08 +00:00
Alexandre Duret-Lutz
ca2fe6c711 * src/tgbaalgos/emptiness_stats.hh (accs_statistics): New class.
* src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/gtec/ce.hh
(couvreur99_check_result): Inherit from acss_statistics.
(couvreur99_check_result::acss_states): Implement it.
* src/tgbatest/randtgba.cc: Display statistics about accepting cycle
search space.
2005-01-03 13:10:35 +00:00
Alexandre Duret-Lutz
13183893dd * src/tgbaalgos/ndfs_result.hh (construct_prefix): Do not call
erase() after splice(), splice() already removes the elements.
2005-01-03 12:11:28 +00:00
Alexandre Duret-Lutz
000c041a95 * src/evtgba/evtgbaiter.hh, src/ltlast/formula.hh,
src/ltlast/refformula.hh, src/ltlenv/defaultenv.hh,
src/misc/bareword.hh, src/tgba/succiter.hh,
src/tgba/tgbabddfactory.hh, src/tgba/tgbareduc.hh,
src/tgbaalgos/dupexp.hh, src/tgbaalgos/emptiness_stats.hh,
src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh,
src/tgbaalgos/reductgba_sim.hh, src/tgbaalgos/tau03opt.hh: Add
or fix include guards.
* src/sanity/includes.test: Check the presence of the include
guard.
2005-01-03 10:20:26 +00:00
Alexandre Duret-Lutz
93f77c5782 * src/tgbaalgos/gtec/nsheap.hh, src/tgbaalgos/gtec/nsheap.cc
(index_and_insert): New function.
* src/tgbaalgos/gtec/gtec.cc (couvreur99_check_shy::check): Rewrite.
(couvreur99_check_shy::clear_todo): New method.
* src/tgbaalgos/gtec/gtec.hh (couvreur99_check_shy::todo_item): New
struct.
* iface/gspn/ssp.cc (numbered_state_heap_ssp_semi::index_and_insert):
New method.
2004-12-29 15:29:26 +00:00
Denis Poitrenaud
8dbc9424c1 * src/tgbaalgos/ndfs_result.hh: Rewrite the computation of accepting
runs.
* src/tgbaalgos/bfssteps.hh, src/tgbaalgos/bfssteps.cc: Add the method
finalize witch compute (by default) the traversed path.
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc: Fix a bug concerning
the heap used for bit state hashing version and ajust the prototype of
has_been_visited and pop_notify.
* src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc: ajust the prototype
of has_been_visited and pop_notify.
2004-12-20 10:09:45 +00:00
Alexandre Duret-Lutz
0c2c12a80f * src/tgbaalgos/ndfs_result.hh: Include misc/hash.hh. 2004-12-17 08:33:32 +00:00
Alexandre Duret-Lutz
e7a3ebb16a * src/tgbaalgos/reducerun.cc (reduce_run): Do not call erase() after
splice(), splice() already remove the elements.
* src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_run):
Likewise.
2004-12-16 23:13:33 +00:00
Alexandre Duret-Lutz
752d4afc31 * src/tgba/bdddict.hh (bdd_dict) <fv_map, vf_map, ref_set,
vr_map, free_annonymous_list_of_type>: Redeclare as std::map,
instead of Sgi::hash_map.  It proved to be faster.
* src/tgbaalgos/ltl2tgba_fm.cc (translate_dict) <fv_map, vf_map>:
Use the same definition as in bdd_dict.
* tgbaalgos/reachiter.hh, tgbaalgos/replayrun.cc: Explicitly
include misc/hash.hh.
2004-12-15 16:23:07 +00:00
Denis Poitrenaud
60f50d66e0 * src/tgbaalgos/ndfs_result.hh: Define the trace output stream. 2004-12-14 14:10:56 +00:00
Denis Poitrenaud
964f856bb5 * src/tgbaalgos/ndfs_result.hh: New file factorizing the computation of
accepting runs for ndfs emptiness check algoritms.
* src/tgbaalgos/Makefile.am: Add it.
* src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc,
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc: Remove the old
result classes and use the new one.
2004-12-13 08:43:05 +00:00
Alexandre Duret-Lutz
abbd0eee07 * src/tgbaalgos/gtec/status.hh
(couvreur99_check_status::cycle_seed): New attribute.
* src/tgbaalgos/gtec/gtec.cc (couvreur99_check::check,
couvreur99_check_shy::check): Fill cycle_seed.
* src/tgbaalgos/gtec/ce.hh, src/tgbaalgos/gtec/ce.cc:
(couvreur99_check_result::accepting_run,
couvreur99_check_result::accepting_cycle): Revamp to compute a
cycle from the cycle_start, and then the shortest prefix to this
cycle.
2004-12-10 18:33:39 +00:00
Alexandre Duret-Lutz
27966c28f0 * src/tgbaalgos/gtec/nsheap.hh (numbered_state_heap::find): Clarify
comment.
2004-12-10 18:24:15 +00:00
Alexandre Duret-Lutz
9782b822f0 * src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gtec/gtec.cc
(couvreur99_check_shy::couvreur99_check_shy): Add the group option,
and redefine todo as a list so it can be iterated over.
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Introduce
couvreur99_shy- (for group=false) in addition to couvreur99_shy
(for group=true).
* iface/gspn/ssp.cc (couvreur99_check_ssp_shy_semi,
couvreur99_check_ssp_shy): Use group=true;
2004-12-10 16:16:38 +00:00
Alexandre Duret-Lutz
8b8257b157 * src/tgbaalgos/randomgraph.cc (random_graph): Do not use the
pointer of the state created as keys in sets; otherwise the graph
created depends on the memory layout.
2004-12-10 15:10:19 +00:00
Denis Poitrenaud
d645e0ac54 * src/tgbaalgos/emptiness.cc: Suppress a horrible space before a ')'. 2004-12-08 18:14:46 +00:00
Denis Poitrenaud
446b85a842 * src/tgba/tgbaexplicit.hh, src/tgba/tgbaexplicit.cc
(set_init_state): Return a pointer to the initial state.

(tgba_run_to_tgba): New function.
2004-12-08 18:03:38 +00:00
Alexandre Duret-Lutz
8279667300 * src/tgbaalgos/replayrun.cc (replay_tgba_run): More comments. 2004-12-08 15:44:17 +00:00
Alexandre Duret-Lutz
688587d700 * src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh
(tgba_explicit::create_transition(state*, const state*)): New function.
* src/tgbaalgos/randomgraph.cc, src/tgbaalgos/randomgraph.hh:
(random_graph): Revamp the algorithm to call rand() less often.
* src/tgbatest/randtgba.cc: Add option -0 to easy profiling.
2004-12-08 15:39:15 +00:00
Denis Poitrenaud
acfcade04a * src/tgbaalgos/tau03opt.cc: Fix a memory leak in the computation of
accepting runs

* src/misc/timer.hh: Include cassert.
2004-12-07 17:58:16 +00:00
Denis Poitrenaud
0531dfe6e5 * src/tgbaalgos/tau03opt.cc: Add a first version of the computation of
accepting runs
2004-11-29 10:36:21 +00:00
Alexandre Duret-Lutz
e58743dbb7 * src/tgbaalgos/minimizerun.cc, src/tgbaalgos/minimizerun.hh
(minimize_run): Rename as ...
* src/tgbaalgos/reducerun.cc, src/tgbaalgos/reducerun.hh:
(reduce_run): ... this.
* src/tgbaalgos/Makefile.am, src/tgbatest/ltl2tgba.cc,
src/tgbatest/randtgba.cc: Adjust all references.
2004-11-29 10:01:08 +00:00
Alexandre Duret-Lutz
a5608a7ec4 * src/tgbaalgos/minimizerun.cc: Shut up a GCC warning when assert
are disabled.
2004-11-27 01:03:43 +00:00
Alexandre Duret-Lutz
6724f4bfbb * src/tgbaalgos/minimizerun.hh, src/tgbaalgos/minimizerun.cc: New
files.
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
libtgbaalgos_la_SOURCES): Add them/
* src/tgbatest/randtgba.cc, src/tgbatest/ltl2tgba.cc: Add option -m.
* src/tgbatest/emptchkr.test: Use -m.
2004-11-26 23:54:53 +00:00
Denis Poitrenaud
15329c5618 * src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh,
src/tgbaalgos/se05.cc, src/tgbaalgos/se05.hh,
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.hh,
src/tgbaalgos/tau03opt.cc: Fix comments and debug traces

* src/tgbatest/randtgba.cc: Adjust names of algorithms.
2004-11-25 14:40:17 +00:00
Alexandre Duret-Lutz
f47f955a34 * src/tgbaalgos/emptiness.hh (emptiness_check, emptiness_check_result):
Add the TGBA considered as a protected attribute, and provide an
automaton() accessor.
* src/tgbaalgos/gv04.cc, src/tgbaalgos/magic.cc, src/tgbaalgos/se05.cc,
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc,
src/tgbaalgos/gtec/ce.cc, src/tgbaalgos/gtec/gtec.cc: Adjust to follow
this new interface.
2004-11-25 12:51:04 +00:00
Alexandre Duret-Lutz
16e54b2fc4 * src/tgbaalgos/bfssteps.hh, src/tgbaalgos/bfssteps.cc: Revert
previous change (bfs_steps_with_path_conditions turned up
useless), and document bfs_step.
2004-11-24 17:47:48 +00:00
Alexandre Duret-Lutz
18b22a5250 * src/tgbaalgos/bfssteps.hh (bfs_steps_with_path_conditions): New
class.
* src/tgbaalgos/bfssteps.cc: Remove includes that are now superfluous.
2004-11-24 16:31:21 +00:00
Alexandre Duret-Lutz
c1fd4d1138 * src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::accepting_run,
couvreur99_check_result::accepting_cycle): Rewrite the BFSs using
the bfs_steps class.
2004-11-24 15:36:56 +00:00
Alexandre Duret-Lutz
2b74398a62 * src/tgbaalgos/bfssteps.hh, src/tgbaalgos/bfssteps.cc: New files.
* src/tgbaalgos/Makefile.am (tgbaalgos_HEADERS,
libtgbaalgos_la_SOURCES): Add them.
* src/tgbaalgos/gv04.cc (gv04::result::accepting_run): Use
the new bfs_steps class.
2004-11-24 14:38:21 +00:00
Alexandre Duret-Lutz
df1bf80d1f * src/tgbaalgos/gv04.cc (gv04::result): New struct to compute
counter examples.
(gv04:check): Return a gv04::result.
2004-11-23 18:39:12 +00:00
Denis Poitrenaud
976a86ba2b * src/tgbaalgos/tau03opt.cc: Fix a warning. 2004-11-23 13:54:34 +00:00
Alexandre Duret-Lutz
b0aab51580 * src/tgbaalgos/gv04.cc (gv04): Inherit from ec_statistics.
(gv04::check, gv04::push, gv04::pop): Update the statistics for
randtgba.
(gv04::print_stats): Print them here too.
2004-11-22 17:50:43 +00:00
Alexandre Duret-Lutz
f965894a7f * src/tgbaalgos/gtec/gtec.cc (couvreur99_check::check,
couvreur99_check_shy::check): Compute more statistics for
randtgba.
(couvreur99_check::print_stats): Print these here too.
2004-11-22 17:41:38 +00:00