- 12 Feb, 2014 28 commits
-
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.cc, src/tgbaalgos/replayrun.cc: Here.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/bfssteps.cc, src/tgbaalgos/complete.cc, src/tgbaalgos/cycles.cc, src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gv04.cc, src/tgbaalgos/isweakscc.cc, src/tgbaalgos/lbtt.cc, src/tgbaalgos/neverclaim.cc, src/tgbaalgos/reachiter.cc, src/tgbaalgos/replayrun.cc, src/tgbaalgos/safety.cc, src/tgbaalgos/save.cc: Avoid calls to done().
-
Alexandre Duret-Lutz authored
The returned Boolean indicates whether there is a successor or not. This way | for (i->first(); !i->done(); i->next()) | { | ... | } can be replaced by | if (i->first()) do | { | ... | } | while (i->next()); avoiding all the virtual calls to done(). * iface/dve2/dve2.cc, src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh, src/ta/ta.hh, src/ta/taexplicit.cc, src/ta/taexplicit.hh, src/ta/taproduct.cc, src/ta/taproduct.hh, src/ta/tgtaproduct.cc, src/ta/tgtaproduct.hh, src/tgba/succiter.hh, src/tgba/succiterconcrete.cc, src/tgba/succiterconcrete.hh, src/tgba/taatgba.cc, src/tgba/taatgba.hh, src/tgba/tgba.hh, src/tgba/tgbaexplicit.hh, src/tgba/tgbakvcomplement.cc, src/tgba/tgbamask.cc, src/tgba/tgbaproduct.cc, src/tgba/tgbasafracomplement.cc, src/tgba/tgbasgba.cc, src/tgba/tgbatba.cc, src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc: Implement and adjust to this new interface.
-
Alexandre Duret-Lutz authored
Instead of "delete iter;" we now do "aut->release_iter(iter);" to give the iterator back to the automaton. The TGBA classes now reuse a previously returned tgba_succ_iterator to answer a succ_iter() call, therefore avoiding (1) memory allocation, as well as (2) vtable and other constant member initialization. * src/tgba/tgba.hh, src/tgba/tgba.cc (release_iter, iter_cache_): Implement a release_iter() that stores the released iterator in iter_cache_. * src/tgba/succiter.hh (internal::succ_iterable): Move... * src/tgba/tgba.hh (tgba::succ_iterable): ... here. And use release_iter(). * iface/dve2/dve2.cc, src/kripke/kripke.cc, src/kripke/kripke.hh, src/tgba/succiterconcrete.cc, src/tgba/succiterconcrete.hh, src/tgba/taatgba.hh, src/tgba/tgbabddconcrete.cc, src/tgba/tgbaexplicit.hh, src/tgba/tgbamask.cc, src/tgba/tgbaproduct.cc, src/tgba/tgbaproxy.cc, src/tgba/tgbascc.cc, src/tgba/tgbatba.cc, src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc, src/tgbaalgos/bfssteps.cc, src/tgbaalgos/compsusp.cc, src/tgbaalgos/cycles.cc, src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gv04.cc, src/tgbaalgos/isweakscc.cc, src/tgbaalgos/lbtt.cc, src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/magic.cc, src/tgbaalgos/ndfs_result.hxx, src/tgbaalgos/neverclaim.cc, src/tgbaalgos/reachiter.cc, src/tgbaalgos/replayrun.cc, src/tgbaalgos/safety.cc, src/tgbaalgos/scc.cc, src/tgbaalgos/se05.cc, src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc: Use release_iter() instead of deleting iterators, and used recycle iter_cache_ in implementations of tgba::succ_iter().
-
Alexandre Duret-Lutz authored
| tgba_succ_iterator* i = aut->succ_iter(s); | for (i->begin(); !i->done(); i->next()) | { | // ... | } | delete i; becomes | for (auto i: aut->succ(s)) | { | // ... | } hiding the begin()/done()/next() interface, taking care of the delete, and allowing more optimization to come. * src/tgba/succiter.hh, src/tgba/tgba.hh: Implement the above new interface. * iface/gspn/ssp.cc, src/dstarparse/nsa2tgba.cc, src/saba/sabacomplementtgba.cc, src/tgba/tgbakvcomplement.cc, src/tgba/tgbamask.cc, src/tgba/tgbasafracomplement.cc, src/tgba/tgbatba.cc, src/tgbaalgos/compsusp.cc, src/tgbaalgos/cutscc.cc, src/tgbaalgos/degen.cc, src/tgbaalgos/emptiness.cc, src/tgbaalgos/isdet.cc, src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/minimize.cc, src/tgbaalgos/powerset.cc, src/tgbaalgos/safety.cc, src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03.cc, src/tgbatest/explicit2.cc: Update for loops.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/degen.cc (unicity_table): Move and rename as... * src/tgba/state.hh (state_unicity_table): ... this. * src/tgbaalgos/cutscc.cc, src/tgbaalgos/cycles.cc, src/tgbaalgos/cycles.hh, src/tgbaalgos/minimize.cc, src/tgbaalgos/powerset.cc, src/tgbaalgos/powerset.hh, src/tgbaalgos/safety.cc: Use it to simplify existing code.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* configure.ac: Enable C++11 mode. * src/bdd.h: Use noexport, and add a move constructor and move assignment operator. The move version of these method do not have to increment the reference counter, saving time. On a small test run, this change saved 24% of the calls to bdd_addref_nc().
-
Alexandre Duret-Lutz authored
* src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh, src/ltlast/automatop.cc, src/ltlast/automatop.hh, src/ltlast/binop.cc, src/ltlast/binop.hh, src/ltlast/bunop.cc, src/ltlast/bunop.hh, src/ltlast/multop.cc, src/ltlast/multop.hh, src/ltlast/unop.cc, src/ltlast/unop.hh: Use std::tuple to replace nested std::pair, simplify calls to std::map::erase, use auto and std::make_pair with insert, and simplify the dump() method using a range for.
-
Alexandre Duret-Lutz authored
* src/misc/random.cc, src/misc/random.hh (srand, drand, mrand, rrand, barand): Simplify using <random> from C++11. (nrand, bmrand, prand): Remove these unused functions. * src/tgbaalgos/randomgraph.cc: Adjust the use of barand. * configure.ac: Do not check for srand48 and drand48.
-
Alexandre Duret-Lutz authored
* README: Do not mention Boost. * configure.ac: Do not check for Boost. * m4/boost.m4: Delete.
-
Alexandre Duret-Lutz authored
The bitvect implementation seems a tad faster, but most importantly this removes the last dependency on Boost. * src/tgba/tgbasafracomplement.cc: Replace boost::dynamic_bitset by spot::bitvect.
-
Alexandre Duret-Lutz authored
* src/misc/bitvect.hh: New method. * src/tgbatest/bitvect.cc, src/tgbatest/bitvect.test: Test it.
-
Alexandre Duret-Lutz authored
* src/eltlparse/eltlparse.yy, src/ltlast/formula_tree.hh, src/ltlast/nfa.hh, src/saba/sabastate.hh, src/tgba/state.hh: Here.
-
Alexandre Duret-Lutz authored
But do not replace it by std::unique_ptr, because this was not really equivalent. * src/misc/unique_ptr.hh: Delete. * src/misc/Makefile.am: Adjust. * src/tgbaalgos/simulation.cc, src/tgbatest/ltl2tgba.cc: Call delete explicitly.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* configure.ac, m4/ax_check_compile_flag.m4: Update from Vaucanson 2. (Thank you Akim.)
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/misc/common.hh: Conditionally define SPOT_DELETED to = delete. * src/ltlvisit/simplify.hh, src/ta/taexplicit.hh, src/ta/taproduct.hh, src/tgba/bdddict.hh, src/tgba/taatgba.hh, src/tgba/tgbabddconcrete.hh, src/tgba/tgbaexplicit.hh, src/tgba/tgbaproduct.hh, src/tgba/tgbasgba.hh, src/tgba/tgbatba.hh, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc: Use SPOT_DELETED. * wrap/python/spot.i: Include common.hh. * wrap/python/Makefile.am: Remove useless definition of SPOT_API and BUDDY_API.
-
Alexandre Duret-Lutz authored
* src/ltlvisit/simplify.hh, src/ta/taexplicit.hh, src/ta/taproduct.hh, src/tgba/bdddict.hh, src/tgba/taatgba.hh, src/tgba/tgbabddconcrete.hh, src/tgba/tgbaexplicit.hh, src/tgba/tgbaproduct.hh, src/tgba/tgbasgba.hh, src/tgba/tgbatba.hh, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc: Here.
-
Alexandre Duret-Lutz authored
* src/bin/common_finput.cc, src/bin/genltl.cc, src/bin/ltlcross.cc, src/bin/randltl.cc: Simplify.
-
Alexandre Duret-Lutz authored
* bench/scc-stats/stats.cc, bench/split-product/cutscc.cc, iface/gspn/ssp.cc, src/bin/ltlcross.cc, src/bin/ltlfilt.cc, src/bin/randltl.cc, src/dstarparse/nsa2tgba.cc, src/ltlast/formula.hh, src/ltlast/nfa.hh, src/ltlvisit/contain.hh, src/ltlvisit/dotty.cc, src/ltlvisit/mark.hh, src/ltlvisit/relabel.cc, src/ltlvisit/relabel.hh, src/ltlvisit/simplify.cc, src/ltlvisit/snf.hh, src/misc/hash.hh, src/misc/mspool.hh, src/priv/acccompl.hh, src/priv/accconv.hh, src/saba/explicitstateconjunction.hh, src/saba/sabastate.hh, src/sabaalgos/sabareachiter.hh, src/sanity/style.test, src/ta/taexplicit.cc, src/ta/taexplicit.hh, src/taalgos/emptinessta.cc, src/taalgos/minimize.cc, src/taalgos/reachiter.hh, src/tgba/state.hh, src/tgba/taatgba.hh, src/tgba/tgbabddconcretefactory.hh, src/tgba/tgbaexplicit.hh, src/tgba/tgbakvcomplement.cc, src/tgba/tgbasafracomplement.cc, src/tgba/tgbatba.cc, src/tgba/tgbatba.hh, src/tgbaalgos/cutscc.cc, src/tgbaalgos/cycles.hh, src/tgbaalgos/degen.cc, src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/eltl2tgba_lacim.cc, src/tgbaalgos/emptiness.cc, src/tgbaalgos/gtec/explscc.hh, src/tgbaalgos/gtec/nsheap.hh, src/tgbaalgos/gv04.cc, src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/magic.cc, src/tgbaalgos/minimize.cc, src/tgbaalgos/ndfs_result.hxx, src/tgbaalgos/powerset.hh, src/tgbaalgos/randomgraph.cc, src/tgbaalgos/reachiter.hh, src/tgbaalgos/replayrun.cc, src/tgbaalgos/safety.cc, src/tgbaalgos/scc.hh, src/tgbaalgos/se05.cc, src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc: Adjust code. * src/sanity/style.test: Remove check.
-
Alexandre Duret-Lutz authored
* m4/stl.m4: Delete. * configure.ac: Do not check for unordered_map and friends. * src/misc/hash.hh: Remove all conditional code.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh, src/ltlast/automatop.cc, src/ltlast/automatop.hh, src/ltlast/binop.cc, src/ltlast/binop.hh, src/ltlast/bunop.cc, src/ltlast/bunop.hh, src/ltlast/constant.cc, src/ltlast/constant.hh, src/ltlast/multop.cc, src/ltlast/multop.hh, src/ltlast/unop.cc, src/ltlast/unop.hh: Move all one-line accessors methods like nth(), child(), op()... from *.cc files to their respective *.hh files.
-
Alexandre Duret-Lutz authored
-
- 11 Feb, 2014 6 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* NEWS, configure.ac, doc/org/tools.org: Update version.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
Apparently their hash tables store the hash functions in a const member, and this requires a user-supplied default constructor. Reported by Étienne Renault. * src/misc/hash.hh: Add an empty constructor to all hash functions.
-
Alexandre Duret-Lutz authored
* src/kripke/kripkeexplicit.cc: Add missing const, reported by Etienne Renault using Apple's clang version that is installed with OS X 10.9.
-
- 10 Feb, 2014 1 commit
-
-
Alexandre Lewkowicz authored
* doc/Makefile.am, src/ltltest/defs.in, src/ltltest/latex.test: Here.
-
- 08 Feb, 2014 5 commits
-
-
Alexandre Duret-Lutz authored
* src/misc/satsolver.cc: Add the "-model" option. * NEWS, doc/org/satmin.org, src/bin/man/spot-x.x: Mention it.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* doc/org/satmin.org, src/bin/man/spot-x.x: Document it. * NEWS: Mention it.
-
Alexandre Duret-Lutz authored
* src/misc/timer.hh: Fix. * NEWS: Mention the bug.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Record statistics about intermediate automata if SPOT_SATLOG is set to some filename, and display intermediate automata if SPOT_SATSHOW is set. * bench/dtgbasat/stat.sh, bench/dtgbasat/stats.sh, bench/dtgbasat/tabl.pl, bench/dtgbasat/tabl1.pl, bench/dtgbasat/tabl2.pl, bench/dtgbasat/tabl3.pl, bench/dtgbasat/tabl4.pl: Gather these extra statistics.
-