- 12 Feb, 2014 25 commits
-
-
Alexandre Duret-Lutz authored
It hasn't been tested for several year, may not even compile, has to be linked with source code that isn't even publicly available, and its presence was the only reason to keep some inefficient code in gtec.cc and friends. * iface/gspn/: Delete this directory. * iface/Makefile.am, configure.ac, README: Adjust. * m4/gspnlib.m4: Delete. * src/sanity/Makefile.am: Do not use LIBGSPN_CPPFLAGS.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/simulation.cc: Here.
-
Alexandre Duret-Lutz authored
* src/sanity/style.test: Add a test. * iface/dve2/dve2.cc, iface/dve2/dve2check.cc, src/bin/common_output.cc, src/bin/dstar2tgba.cc, src/bin/ltl2tgba.cc, src/bin/ltlcross.cc, src/dstarparse/dra2ba.cc, src/dstarparse/fmterror.cc, src/dstarparse/nsa2tgba.cc, src/kripke/kripkeprint.cc, src/kripkeparse/fmterror.cc, src/ltlast/atomic_prop.cc, src/ltlast/bunop.cc, src/ltltest/ltlrel.cc, src/ltltest/reduc.cc, src/ltltest/syntimpl.cc, src/ltlvisit/dotty.cc, src/ltlvisit/lbt.cc, src/ltlvisit/randomltl.cc, src/ltlvisit/relabel.cc, src/ltlvisit/simplify.cc, src/ltlvisit/tostring.cc, src/misc/bitvect.cc, src/misc/optionmap.cc, src/misc/timer.cc, src/neverparse/fmterror.cc, src/priv/freelist.cc, src/saba/sabacomplementtgba.cc, src/sabaalgos/sabadotty.cc, src/taalgos/dotty.cc, src/taalgos/minimize.cc, src/tgba/bdddict.cc, src/tgba/bddprint.cc, src/tgba/futurecondcol.cc, src/tgba/taatgba.hh, src/tgba/tgbakvcomplement.cc, src/tgba/tgbasafracomplement.cc, src/tgbaalgos/compsusp.cc, src/tgbaalgos/cycles.cc, src/tgbaalgos/dotty.cc, src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/emptiness.cc, src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gv04.cc, src/tgbaalgos/lbtt.cc, src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/minimize.cc, src/tgbaalgos/neverclaim.cc, src/tgbaalgos/powerset.cc, src/tgbaalgos/replayrun.cc, src/tgbaalgos/save.cc, src/tgbaalgos/scc.cc, src/tgbaalgos/sccfilter.cc, src/tgbaalgos/weight.cc, src/tgbaalgos/word.cc, src/tgbaparse/fmterror.cc, src/tgbatest/bitvect.cc, src/tgbatest/complementation.cc, src/tgbatest/intvcmp2.cc, src/tgbatest/intvcomp.cc, src/tgbatest/ltl2tgba.cc, src/tgbatest/randtgba.cc: Replace << "c" by << 'c' when appropriate.
-
Alexandre Duret-Lutz authored
This of course concerns push_back and push_front as well. * src/bin/common_finput.cc, src/bin/dstar2tgba.cc, src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc, src/bin/ltlcross.cc, src/bin/ltlfilt.cc, src/dstarparse/dstarparse.yy, src/kripkeparse/kripkeparse.yy, src/ltlast/formula.cc, src/ltlparse/ltlparse.yy, src/misc/minato.cc, src/neverparse/neverclaimparse.yy, src/priv/bddalloc.cc, src/ta/ta.cc, src/taalgos/emptinessta.cc, src/tgba/taatgba.cc, src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/sccstack.cc, src/tgbaalgos/magic.cc, src/tgbaalgos/ndfs_result.hxx, src/tgbaalgos/rundotdec.cc, src/tgbaalgos/scc.cc, src/tgbaalgos/se05.cc, src/tgbaalgos/simulation.cc, src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc, src/tgbaparse/tgbaparse.yy: Use emplace to make the code less verbose and avoid creating temporaries.
-
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
* 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
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
* 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
* 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.
-
- 11 Feb, 2014 2 commits
-
-
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 8 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.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Compute the actual number of reachable states in the produced automaton to prepare the next iteration.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
This was simply wrong. * src/tgbaalgos/dtbasat.cc: reverts commit fc5a00d24d5964d6f6a48d362ecbdec357eaf154.
-
- 07 Feb, 2014 4 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: More debuging code.
-
Alexandre Duret-Lutz authored
* src/misc/satsolver.hh, src/misc/satsolver.cc: Present the SAT solver as an object with a stream interface, to prepare for a better implementation. * src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Adjust to the new interface, removing all the handling of temporary files. * src/tgbatest/readsat.cc: Adjust.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc: Rewrite the loops that number the states of the reference automaton so that they declare CNF variable numbers in the same order as the states of the automaton.
-
Alexandre Duret-Lutz authored
* src/misc/satsolver.cc: Call glucose with -verb=0. * src/bin/man/spot-x.x: Document it.
-