(tau03_opt_search): Add option "ordering" (off by default).
If enabled, initialize an explicit ordering for acceptance
conditions into the new member "cond" (a vector of bdds).
(project_acc): New helper function for projecting a set of
acceptance conditions to a subset that maximizes the number
of initial consecutive conditions covered by the set in the
condition ordering.
(dfs_blue): Implement the ordering heuristic.
(dfs_red): Use a sentinel in condition_stack to avoid explicit
checks for the stack's emptiness.
Consider also the conditions in acc when checking for the
completion of an accepting cycle.
Fix the implementation of condition heuristic.
Implement the ordering heuristic.
Simplify the removal of elements from condition_stack (due to
the way in which elements are pushed on the stack, there can
be at most one element with a given depth in the stack at any
one time).
virtual destructors.
* src/tgba/tgbabddfactory.hh (tgba_bdd_factory): Likewise.
* src/misc/hash.hh: Use the std namespace only with GCC 3.0,
not with all compiler versions with minor version 0.
* src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator): Fix
friend declaration of ::spot::tgba_tba_proxy.
* src/misc/hash.hh (ptr_hash): Use knuth32_hash.
* src/tgba/tgbabddconcretefactory.hh (tgba_bdd_concrete_factory): Use
ltl::formula_ptr_hash for acc_map_.
* bench/emptchk/pml2tgba.pl: Add option -r.
* bench/emptchk/pml-clserv.sh, bench/emptchk/pml-eeaean.sh:
Also run on reduced graphs (this is fast).
* bench/emptchk/README: Adjust.
all algorithms from a file. Use the emptiness_check_instantiator
syntax as name in the output.
* bench/emptchk/defs.in: DEfine ALGORITHMS here.
* bench/emptchk/ltl-human.sh, bench/emptchk/ltl-random.sh,
bench/emptchk/pml-clserv.sh, bench/emptchk/pml-clserv.sh: Use
$ALGORITHMS.
* src/misc/timer.cc: Truncate long keys in display.
(emptiness_check_instantiator): New class.
* src/misc/optionmap.hh (set (const option_map&)): New method.
* src/tgbatest/randtgba.cc: Create every emptiness check via
emptiness_check_instantiator.
src/tgbaalgos/se05.hh, src/tgbaalgos/se05.cc: Provide wrapper
functions that read the hash-map size from a "bsh" option.
* src/tgbatest/randtgba.cc: Simplify.
(option_map::parse_options): Rewrite. Do not modify the input
string, allow !foo as a shorthand for foo=0, and support K and
M suffixes for values.
* src/tgbatest/randtgba.cc (cons_emptiness_check): Simplify.
* wrap/python/spot.i: Process optionmap.hh.
* wrap/python/tests/optionmap.py: New file.
* wrap/python/tests/Makefile.am (TESTS): Add it.
option_map::set): Handle default values.
(anonymous::to_int): Do not print anything.
* src/tgbaalgos/gv04.cc, src/tgbaalgos/gv04.hh,
src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03.hh,
src/tgbaalgos/tau03opt.cc, src/tgbaalgos/tau03opt.hh,
src/tgbaalgos/ce.cc, src/tgbaalgos/ce.hh: Take an option_map in
the constructor.
* src/tgbaalgos/gtec.cc, src/tgbaalgos/gtec.hh: Likewise. Handle
the "poprem", "group", and "shy" options via the option_map.
Supply a couvreur99() wrapper to the shy/non-shy variant.
* src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc,
iface/gspn/ssp.cc: Adjust.
* src/misc/Makefile.am: Add it.
* src/tgbaalgos/emptiness.cc, src/tgbaalgos/emptiness.hh: Add option
facilities to the classes emptiness_check and emptiness_result
* src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh,
src/tgbaalgos/se05.cc, src/tgbaalgos/se05.hh: Compute optionnaly
accepting runs from stack.
* src/tgbatest/randtgba.cc: Make this option public.