Commit graph

1006 commits

Author SHA1 Message Date
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
Alexandre Duret-Lutz
d4b9ebaaff * src/tgba/tgbaexplicit.cc (tgba_explicit::create_transition):
Make sure to create the source state before the destination state.
2004-12-09 08:20:12 +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
Alexandre Duret-Lutz
7917841fbe * src/misc/random.hh: Add include guard. 2004-12-08 08:28:51 +00:00
Alexandre Duret-Lutz
541705a36a * src/misc/random.hh (nrand, bmrand, prand): New functions.
(barand): New class.
* src/misc/random.cc (nrand, bmrand, prand): New functions.
* wrap/python/spot.i: Process src/misc/random.hh.
2004-12-07 18:52:10 +00:00
Alexandre Duret-Lutz
d771a3a019 * src/misc/timer.cc: Do not include cassert, then. 2004-12-07 18:05:19 +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
Alexandre Duret-Lutz
e9b260c081 * src/misc/timer.cc: Include cassert. 2004-12-06 09:04:59 +00:00
Alexandre Duret-Lutz
668666d246 * src/misc/timer.hh, src/misc/timer.cc: New files.
* src/misc/Makefile.am (misc_HEADERS, libmisc_la_SOURCES): Add them.
* src/tgbatest/randtgba.cc: Use time_map to measure the algorithms.
Add the -R option.
* src/sanity/style.sh: Let me use `for (.*;;)'.
2004-11-29 16:50:49 +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
3c9f4c6d0d * src/tgbatest/emptchkr.test: Try degeneralized automata.
* src/tgbatest/randtgba.cc (main): Pass the correct automaton to
minimize_run().
2004-11-29 09:48:01 +00:00
Alexandre Duret-Lutz
13870bbaab * src/ltltest/equals.cc (main): Add option -E.
* src/ltltest/parseerr.test: Use `equals -E' instead of `readltl'
to check the parsing of erroneous strings without being sensible
to the ordering for formulae in memory.
2004-11-28 20:17:06 +00:00
Alexandre Duret-Lutz
896dc5afec * src/tgbatest/randtgba.cc (to_float): Use strtod() instead of
strtof() to please Solaris 9.
2004-11-28 19:42:10 +00:00
Alexandre Duret-Lutz
c0ed084e7d * src/sanity/style.test: Make sure grep supports the options put
into GREP_OPTIONS.
2004-11-28 15:25:01 +00:00
Alexandre Duret-Lutz
39ffa27338 * src/tgbatest/ltl2tgba.cc (syntax): Mention gv04 in help text. 2004-11-28 12:48:51 +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
2143d6c4b6 * src/tgbatest/randtgba.cc: Add option -D. 2004-11-25 12:52:01 +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
Alexandre Duret-Lutz
63453a2424 * src/sanity/style.test: Allow "'" after ",". 2004-11-22 17:06:25 +00:00
Alexandre Duret-Lutz
6cce60bed7 * src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh: New files, partly
based on Thomas Martinez's src/tgbaalgos/tarjan_on_fly.cc and
src/tgbaalgos/tarjan_on_fly.hh former implementation.
* src/tgbaalgos/Makefile.am (libtgbaalgos_la_SOURCES,
tgbaalgos_HEADERS): Add them.
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Bind the
new algorithm.
* src/tgbatest/emptchk.test: Test it.
2004-11-22 16:57:31 +00:00
Denis Poitrenaud
0f15d28fe8 * 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.
2004-11-22 12:06:03 +00:00
Alexandre Duret-Lutz
fc775a8b1f * src/tgbaalgos/magic.hh, src/tgbaalgos/magic.cc,
src/tgbaalgos/se05.hh, src/tgbaalgos/se05.cc,
src/tgbaalgos/tau03.hh, src/tgbaalgos/tau03.cc,
src/tgbaalgos/tau03opt.hh, src/tgbaalgos/tau03opt.cc: Fix
copyright year, and do not include <iterator>.
2004-11-19 13:29:39 +00:00
Alexandre Duret-Lutz
8068a54e38 * src/tgbatest/randtgba.cc (main): Add options -z and -Z for statistics.
(ce_stat): New struct.
2004-11-18 19:05:41 +00:00
Denis Poitrenaud
121d582480 * 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.
2004-11-18 16:09:41 +00:00
Alexandre Duret-Lutz
321177331d * src/tgba/tgba.hh, src/tgbaalgos/ltl2tgba_fm.hh,
src/tgbaalgos/ltl2tgba_lacim.hh, src/tgbaalgos/stats.hh: Typos.
2004-11-17 17:45:01 +00:00
Alexandre Duret-Lutz
a1262a30fb * src/tgbatest/Makefile.am (EXTRA_DIST): Distribute the files
from tba_samples_from_spin.
* src/tgbatest/tba_samples_from_spin.test: Get these example files
from $srcdir, for the sake of VPATH builds.
(light_run): Remove, not needed.
2004-11-17 17:42:19 +00:00
Alexandre Duret-Lutz
2a3d638a50 * src/misc/bareword.hh, src/misc/bddalloc.hh, src/misc/bddlt.hh,
src/misc/escape.hh, src/misc/freelist.hh, src/misc/hash.hh,
src/misc/hashfunc.hh, src/misc/minato.hh, src/misc/modgray.hh,
src/misc/random.hh, src/misc/version.hh, src/tgba/state.hh: More
Doxygen groups.
2004-11-17 17:20:44 +00:00
Denis Poitrenaud
9bea364e40 * src/tgbaalgos/magic.hh: Fix a comment and remove se05 interface.
* src/tgbaalgos/magic.cc: Fix a comment.
* src/tgbaalgos/se05.hh: New file.
* src/tgbaalgos/se05.cc: Fix a comment.
* src/tgbaalgos/tau03.hh: New file.
* src/tgbaalgos/tau03.cc: New file.
* src/tgbaalgos/Makefile.am: Add it.
* src/tgbatest/ltl2tgba.cc: Add tau03 new emptiness check.
* src/tgbatest/randtgba.cc: Add tau03 new emptiness check.
* src/tgbatest/emptchkr: Fix a comment.
* src/tgbatest/tba_samples_from_spin/explicit1_1.tba,
src/tgbatest/tba_samples_from_spin/explicit1_2.tba,
src/tgbatest/tba_samples_from_spin/explicit1_3.tba,
src/tgbatest/tba_samples_from_spin/explicit1_4.tba,
src/tgbatest/tba_samples_from_spin/explicit1_5.tba,
src/tgbatest/tba_samples_from_spin/explicit1_6.tba,
src/tgbatest/tba_samples_from_spin/explicit1_7.tba,
src/tgbatest/tba_samples_from_spin/explicit1_8.tba,
src/tgbatest/tba_samples_from_spin/explicit1_9.tba,
src/tgbatest/tba_samples_from_spin/explicit2_1.tba,
src/tgbatest/tba_samples_from_spin/explicit2_2.tba,
src/tgbatest/tba_samples_from_spin/explicit2_3.tba,
src/tgbatest/tba_samples_from_spin/explicit2_4.tba,
src/tgbatest/tba_samples_from_spin/explicit2_5.tba,
src/tgbatest/tba_samples_from_spin/explicit2_6.tba,
src/tgbatest/tba_samples_from_spin/explicit2_7.tba,
src/tgbatest/tba_samples_from_spin/explicit2_8.tba,
src/tgbatest/tba_samples_from_spin/explicit2_9.tba: New files
* src/tgbatest/tba_samples_from_spin.test : New test.
* src/tgbatest/Makefile.am: Add it.
2004-11-17 17:07:25 +00:00
Alexandre Duret-Lutz
c3e399c837 * src/tgba/tgba.hh, src/tgbaalgos/dotty.hh,
src/tgbaalgos/dottydec.hh, src/tgbaalgos/dupexp.hh,
src/tgbaalgos/emptiness.hh, src/tgbaalgos/lbtt.hh,
src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/ltl2tgba_lacim.hh,
src/tgbaalgos/neverclaim.hh, src/tgbaalgos/powerset.hh,
src/tgbaalgos/projrun.hh, src/tgbaalgos/randomgraph.hh,
src/tgbaalgos/reachiter.hh, src/tgbaalgos/reductgba_sim.hh,
src/tgbaalgos/replayrun.hh, src/tgbaalgos/rundotdec.hh
src/tgbaalgos/save.hh, src/tgbaalgos/stats.hh,
src/tgbaparse/public.hh: Add Doxygen groups for TGBA algorithms.
2004-11-17 16:56:36 +00:00
Alexandre Duret-Lutz
36aadba740 * src/ltlast/atomic_prop.hh, src/ltlast/binop.hh,
src/ltlast/constant.hh, src/ltlast/formula.hh,
src/ltlast/multop.hh, src/ltlast/refformula.hh,
src/ltlast/unop.hh, src/ltlast/visitor.hh, src/ltlenv/declenv.hh,
src/ltlenv/defaultenv.hh, src/ltlenv/environment.hh,
src/ltlparse/public.hh, src/ltlvisit/apcollect.hh,
src/ltlvisit/basicreduce.hh, src/ltlvisit/clone.hh,
src/ltlvisit/destroy.hh, src/ltlvisit/dotty.hh,
src/ltlvisit/dump.hh, src/ltlvisit/length.hh,
src/ltlvisit/lunabbrev.hh, src/ltlvisit/nenoform.hh: Add Doxygen
groups for LTL algorithms and types.
* doc/Makefile.am (fast-doc): New target.
2004-11-17 16:23:40 +00:00
Alexandre Duret-Lutz
8c6dff00b6 * src/misc/hashfunc.hh: Include cstddef to define size_t, and guard
the file for multiple inclusions.
2004-11-17 00:56:26 +00:00
Alexandre Duret-Lutz
2cd298e4b0 * src/tgba/bdddict.hh, src/tgba/state.hh, src/tgba/statebdd.hh,
src/tgba/succiter.hh, src/tgba/succiterconcrete.hh,
src/tgba/tgba.hh, src/tgba/tgbabddconcrete.hh,
src/tgba/tgbabddconcreteproduct.hh, src/tgba/tgbaexplicit.hh,
src/tgba/tgbaproduct.hh, src/tgba/tgbareduc.hh,
src/tgba/tgbatba.hh, src/tgbaalgos/emptiness.hh,
src/tgbaalgos/magic.hh, src/tgbaalgos/replayrun.hh,
src/tgbaalgos/gtec/gtec.hh, iface/gspn/ssp.hh: Introduce Doxygen
groups in the documentation.  Presently this only covers the
tgba/ directory, and the emptiness-check algorithms.
* doc/Doxyfile.in (EXCLUDE_PATTERNS): Skip Bison-generated files
in src/evtgbaparse/.
2004-11-16 23:47:50 +00:00
Alexandre Duret-Lutz
cac85dbcca * src/tgba/tgbatba.hh (tgba_sba_proxy): New class, with the
functionality of the old tgba_tba_proxy.
* src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator,
tgba_tba_proxy): Rewrite to produce TBA with at most N copies of
each state, skipping the `bddtrue' stage now used only in
tgba_sba_proxy.  Doing so removes approximately 6% of states in
the degeneralized tests of spotlbtt.test.
(tgba_sba_proxy): Implement it.
* src/tgbaalgos/neverclaim.hh, src/tgbaalgos/neverclaim.cc: Adjust
to take a tgba_sba_proxy.
* src/tgbatest/ltl2tgba.cc: Add option -DS and adjust call to
never_claim_reachable().
2004-11-16 18:38:19 +00:00
Alexandre Duret-Lutz
ee5462105b * src/tgba/tgbatba.cc (state_tba_proxy::hash): Use wang32_hash.
* src/tgba/tgbaproduct.cc (state_product::hash): Likewise.
2004-11-16 15:38:22 +00:00
Alexandre Duret-Lutz
dfb832cf20 * src/misc/hashfunc.hh (wang32_hash): New file and function,
extracted from...
* src/evtgba/product.cc (evtgba_product_state::hash): ... here.
* src/misc/Makefile.am (misc_HEADERS): Add hashfunc.hh.
2004-11-16 14:59:49 +00:00