1. 22 Apr, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      rename the spot::tgba class as spot::twa · c2ae99e7
      Alexandre Duret-Lutz authored
      Now that we support any type of omega-accetpance, not just "Generalized
      Büchi", it is time to move away from GB and replace it by "ω", written
      just w in ASCII.
      
      This just change the name of the tgba class.  This part has to be done
      by hand because the word "tgba" occurs in many contexts and a mass
      replacement would be wrong.
      
      This will be followed by some automatic renaming of all the derived
      types and more.
      
      * src/bin/autfilt.cc, src/bin/randaut.cc, src/kripke/fairkripke.hh,
      src/ta/tgta.cc, src/ta/tgta.hh, src/tgba/fwd.hh, src/tgba/taatgba.cc,
      src/tgba/taatgba.hh, src/tgba/tgba.cc, src/tgba/tgba.hh,
      src/tgba/tgbagraph.hh, src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh,
      src/tgba/tgbaproxy.cc, src/tgba/tgbaproxy.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasafracomplement.hh,
      src/tgbaalgos/are_isomorphic.cc, src/tgbaalgos/cleanacc.cc,
      src/tgbaalgos/dotty.cc, src/tgbaalgos/dupexp.cc,
      src/tgbaalgos/dupexp.hh, src/tgbaalgos/hoa.cc,
      src/tgbaalgos/neverclaim.cc, src/tgbaalgos/simulation.cc,
      src/tgbaalgos/stutter.cc, src/tgbatest/checkpsl.cc,
      src/tgbatest/emptchk.cc, src/tgbatest/ltl2tgba.cc, wrap/python/spot.py,
      wrap/python/spot_impl.i: Rename the tgba class into twa.
      c2ae99e7
  2. 06 Oct, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      Store membership to acceptance sets using bitsets, not BDDs. · 2c764fb3
      Alexandre Duret-Lutz authored
      This is a huge patch, that took over a month to complete.  The bit sets
      are currently restricted to what 'unsigned can store', but it should be
      easy to extend it to 'uint64_t' should we need it.
      
      * NEWS: Update.
      * src/tgba/acc.hh: New file.
      * src/tgbatest/acc.cc, src/tgbatest/acc.test: Test it.
      * src/tgba/tgbakvcomplement.cc, src/tgba/tgbakvcomplement.hh,
      src/tgba/tgbasgba.cc, src/tgba/tgbasgba.hh: Delete.  The KV
      complementation is too slow to be used in practice, and I somehow broke
      it during the conversion to bitsets.  The tgba->sgba conversion was only
      used for the KV complementation, and should be better redone on
      tgba_digraph_ptr should it be needed again.
      * src/bin/ltlcross.cc, src/dstarparse/dra2ba.cc,
      src/dstarparse/nsa2tgba.cc, src/graphtest/tgbagraph.cc,
      src/graphtest/tgbagraph.test, src/kripke/fairkripke.cc,
      src/kripke/fairkripke.hh, src/kripke/kripke.cc, src/kripke/kripke.hh,
      src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh,
      src/misc/hash.hh, src/neverparse/neverclaimparse.yy, src/priv/accmap.hh,
      src/ta/ta.cc, src/ta/ta.hh, src/ta/taexplicit.cc, src/ta/taexplicit.hh,
      src/ta/taproduct.cc, src/ta/taproduct.hh, src/ta/tgta.cc,
      src/ta/tgta.hh, src/ta/tgtaexplicit.cc, src/ta/tgtaexplicit.hh,
      src/ta/tgtaproduct.cc, src/ta/tgtaproduct.hh, src/taalgos/dotty.cc,
      src/taalgos/emptinessta.cc, src/taalgos/minimize.cc,
      src/taalgos/tgba2ta.cc, src/tgba/Makefile.am, src/tgba/fwd.hh,
      src/tgba/taatgba.cc, src/tgba/taatgba.hh, src/tgba/tgba.cc,
      src/tgba/tgba.hh, src/tgba/tgbagraph.cc, src/tgba/tgbagraph.hh,
      src/tgba/tgbamask.cc, src/tgba/tgbamask.hh, src/tgba/tgbaproduct.cc,
      src/tgba/tgbaproduct.hh, src/tgba/tgbaproxy.cc, src/tgba/tgbaproxy.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasafracomplement.hh,
      src/tgbaalgos/bfssteps.cc, src/tgbaalgos/complete.cc,
      src/tgbaalgos/compsusp.cc, src/tgbaalgos/degen.cc,
      src/tgbaalgos/dotty.cc, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtgbacomp.cc, src/tgbaalgos/dtgbasat.cc,
      src/tgbaalgos/dupexp.cc, src/tgbaalgos/emptiness.cc,
      src/tgbaalgos/emptiness.hh, src/tgbaalgos/gtec/ce.cc,
      src/tgbaalgos/gtec/gtec.cc, src/tgbaalgos/gtec/gtec.hh,
      src/tgbaalgos/gtec/sccstack.cc, src/tgbaalgos/gtec/sccstack.hh,
      src/tgbaalgos/gv04.cc, src/tgbaalgos/hoaf.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/postproc.cc, src/tgbaalgos/powerset.cc,
      src/tgbaalgos/randomgraph.cc, src/tgbaalgos/randomgraph.hh,
      src/tgbaalgos/reducerun.cc, src/tgbaalgos/replayrun.cc,
      src/tgbaalgos/safety.cc, src/tgbaalgos/save.cc, src/tgbaalgos/scc.cc,
      src/tgbaalgos/scc.hh, src/tgbaalgos/sccfilter.cc,
      src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh,
      src/tgbaalgos/se05.cc, src/tgbaalgos/simulation.cc,
      src/tgbaalgos/simulation.hh, src/tgbaalgos/stats.cc,
      src/tgbaalgos/stripacc.cc, src/tgbaalgos/tau03.cc,
      src/tgbaalgos/tau03opt.cc, src/tgbaalgos/weight.cc,
      src/tgbaalgos/weight.hh, src/tgbaparse/tgbaparse.yy,
      src/tgbatest/Makefile.am, src/tgbatest/complementation.cc,
      src/tgbatest/complementation.test, src/tgbatest/degenlskip.test,
      src/tgbatest/det.test, src/tgbatest/dstar.test, src/tgbatest/emptchk.cc,
      src/tgbatest/explpro2.test, src/tgbatest/explpro3.test,
      src/tgbatest/explpro4.test, src/tgbatest/explprod.test,
      src/tgbatest/ltl2tgba.cc, src/tgbatest/ltl2tgba.test,
      src/tgbatest/maskacc.cc, src/tgbatest/maskacc.test,
      src/tgbatest/neverclaimread.test, src/tgbatest/randtgba.cc,
      src/tgbatest/readsave.test, src/tgbatest/sim.test,
      src/tgbatest/sim2.test, src/tgbatest/spotlbtt.test,
      src/tgbatest/tgbaread.test, src/tgbatest/tripprod.test,
      iface/dve2/dve2.cc: Adjust or use to the new acceptance interface.
      2c764fb3
  3. 15 Aug, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      Handle all automata through shared_ptr. (monstro patch) · 51151ab2
      Alexandre Duret-Lutz authored
      A type such as 'const tgba_digraph*' and 'tgba_digraph*' are replaced
      by 'const_tgba_digraph_ptr' and 'tgba_digraph_ptr'.  Additionally 'new
      tgba_digraph(...)' is replaced by 'make_tgba_digraph(...)'.
      
      This convention is followed by all automata types. Those smart
      pointers should normally be passed by const reference as input of
      function to avoid the atomic increments/decrements, but I probably
      missed a few, as this huge patch took me nearly 12h.
      
      * src/kripke/fwd.hh, src/tgba/fwd.hh: New files.
      * src/kripke/Makefile.am, src/tgba/Makefile.am: Adjust.
      * iface/dve2/dve2.cc, iface/dve2/dve2.hh, iface/dve2/dve2check.cc,
      src/bin/common_output.hh, src/bin/dstar2tgba.cc,
      src/bin/ltl2tgba.cc, src/bin/ltl2tgta.cc, src/bin/ltlcross.cc,
      src/bin/ltlfilt.cc, src/dstarparse/dra2ba.cc,
      src/dstarparse/dstar2tgba.cc, src/dstarparse/dstarparse.yy,
      src/dstarparse/nra2nba.cc, src/dstarparse/nsa2tgba.cc,
      src/dstarparse/public.hh, src/graphtest/tgbagraph.cc,
      src/kripke/fairkripke.hh, src/kripke/kripke.hh,
      src/kripke/kripkeexplicit.cc, src/kripke/kripkeexplicit.hh,
      src/kripke/kripkeprint.cc, src/kripke/kripkeprint.hh,
      src/kripkeparse/kripkeparse.yy, src/kripkeparse/public.hh,
      src/kripketest/parse_print_test.cc, src/ltlvisit/apcollect.cc,
      src/ltlvisit/apcollect.hh, src/ltlvisit/contain.cc,
      src/ltlvisit/contain.hh, src/neverparse/neverclaimparse.yy,
      src/neverparse/public.hh, src/priv/accmap.hh,
      src/priv/countstates.cc, src/priv/countstates.hh, src/saba/saba.hh,
      src/saba/sabacomplementtgba.cc, src/saba/sabacomplementtgba.hh,
      src/sabaalgos/sabadotty.cc, src/sabaalgos/sabadotty.hh,
      src/sabaalgos/sabareachiter.cc, src/sabaalgos/sabareachiter.hh,
      src/sabatest/sabacomplementtgba.cc, src/ta/ta.hh,
      src/ta/taexplicit.cc, src/ta/taexplicit.hh, src/ta/taproduct.cc,
      src/ta/taproduct.hh, src/ta/tgta.hh, src/ta/tgtaexplicit.cc,
      src/ta/tgtaexplicit.hh, src/ta/tgtaproduct.cc,
      src/ta/tgtaproduct.hh, src/taalgos/dotty.cc, src/taalgos/dotty.hh,
      src/taalgos/emptinessta.cc, src/taalgos/emptinessta.hh,
      src/taalgos/minimize.cc, src/taalgos/minimize.hh,
      src/taalgos/reachiter.cc, src/taalgos/reachiter.hh,
      src/taalgos/statessetbuilder.cc, src/taalgos/statessetbuilder.hh,
      src/taalgos/stats.cc, src/taalgos/stats.hh, src/taalgos/tgba2ta.cc,
      src/taalgos/tgba2ta.hh, src/tgba/bdddict.cc, src/tgba/bdddict.hh,
      src/tgba/formula2bdd.hh, src/tgba/futurecondcol.cc,
      src/tgba/futurecondcol.hh, src/tgba/taatgba.hh, src/tgba/tgba.cc,
      src/tgba/tgba.hh, src/tgba/tgbagraph.hh,
      src/tgba/tgbakvcomplement.cc, src/tgba/tgbakvcomplement.hh,
      src/tgba/tgbamask.cc, src/tgba/tgbamask.hh, src/tgba/tgbaproduct.cc,
      src/tgba/tgbaproduct.hh, src/tgba/tgbaproxy.cc,
      src/tgba/tgbaproxy.hh, src/tgba/tgbasafracomplement.cc,
      src/tgba/tgbasafracomplement.hh, src/tgba/tgbascc.cc,
      src/tgba/tgbascc.hh, src/tgba/tgbasgba.cc, src/tgba/tgbasgba.hh,
      src/tgba/wdbacomp.cc, src/tgba/wdbacomp.hh,
      src/tgbaalgos/bfssteps.cc, src/tgbaalgos/bfssteps.hh,
      src/tgbaalgos/complete.cc, src/tgbaalgos/complete.hh,
      src/tgbaalgos/compsusp.cc, src/tgbaalgos/compsusp.hh,
      src/tgbaalgos/cycles.hh, src/tgbaalgos/degen.cc,
      src/tgbaalgos/degen.hh, src/tgbaalgos/dotty.cc,
      src/tgbaalgos/dotty.hh, src/tgbaalgos/dottydec.cc,
      src/tgbaalgos/dottydec.hh, src/tgbaalgos/dtbasat.cc,
      src/tgbaalgos/dtbasat.hh, src/tgbaalgos/dtgbacomp.cc,
      src/tgbaalgos/dtgbacomp.hh, src/tgbaalgos/dtgbasat.cc,
      src/tgbaalgos/dtgbasat.hh, src/tgbaalgos/dupexp.cc,
      src/tgbaalgos/dupexp.hh, src/tgbaalgos/emptiness.cc,
      src/tgbaalgos/emptiness.hh, src/tgbaalgos/gtec/gtec.cc,
      src/tgbaalgos/gtec/gtec.hh, src/tgbaalgos/gtec/status.cc,
      src/tgbaalgos/gtec/status.hh, src/tgbaalgos/gv04.cc,
      src/tgbaalgos/gv04.hh, src/tgbaalgos/isdet.cc,
      src/tgbaalgos/isdet.hh, src/tgbaalgos/isweakscc.cc,
      src/tgbaalgos/lbtt.cc, src/tgbaalgos/lbtt.hh,
      src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2taa.hh,
      src/tgbaalgos/ltl2tgba_fm.cc, src/tgbaalgos/ltl2tgba_fm.hh,
      src/tgbaalgos/magic.cc, src/tgbaalgos/magic.hh,
      src/tgbaalgos/minimize.cc, src/tgbaalgos/minimize.hh,
      src/tgbaalgos/ndfs_result.hxx, src/tgbaalgos/neverclaim.cc,
      src/tgbaalgos/neverclaim.hh, src/tgbaalgos/postproc.cc,
      src/tgbaalgos/postproc.hh, src/tgbaalgos/powerset.cc,
      src/tgbaalgos/powerset.hh, src/tgbaalgos/projrun.cc,
      src/tgbaalgos/projrun.hh, src/tgbaalgos/randomgraph.cc,
      src/tgbaalgos/randomgraph.hh, src/tgbaalgos/reachiter.cc,
      src/tgbaalgos/reachiter.hh, src/tgbaalgos/reducerun.cc,
      src/tgbaalgos/reducerun.hh, src/tgbaalgos/replayrun.cc,
      src/tgbaalgos/replayrun.hh, src/tgbaalgos/rundotdec.cc,
      src/tgbaalgos/rundotdec.hh, src/tgbaalgos/safety.cc,
      src/tgbaalgos/safety.hh, src/tgbaalgos/save.cc,
      src/tgbaalgos/save.hh, src/tgbaalgos/scc.cc, src/tgbaalgos/scc.hh,
      src/tgbaalgos/sccfilter.cc, src/tgbaalgos/sccfilter.hh,
      src/tgbaalgos/sccinfo.cc, src/tgbaalgos/sccinfo.hh,
      src/tgbaalgos/se05.cc, src/tgbaalgos/se05.hh,
      src/tgbaalgos/simulation.cc, src/tgbaalgos/simulation.hh,
      src/tgbaalgos/stats.cc, src/tgbaalgos/stats.hh,
      src/tgbaalgos/stripacc.cc, src/tgbaalgos/stripacc.hh,
      src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03.hh,
      src/tgbaalgos/tau03opt.cc, src/tgbaalgos/tau03opt.hh,
      src/tgbaalgos/translate.cc, src/tgbaalgos/translate.hh,
      src/tgbaparse/public.hh, src/tgbaparse/tgbaparse.yy,
      src/tgbatest/complementation.cc, src/tgbatest/explprod.cc,
      src/tgbatest/ltl2tgba.cc, src/tgbatest/ltlprod.cc,
      src/tgbatest/maskacc.cc, src/tgbatest/powerset.cc,
      src/tgbatest/randtgba.cc, src/tgbatest/taatgba.cc,
      src/tgbatest/tgbaread.cc, src/tgbatest/tripprod.cc,
      wrap/python/ajax/spot.in, wrap/python/spot.i,
      wrap/python/tests/interdep.py: Use shared pointers for automata.
      51151ab2
  4. 13 Aug, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      Make bdd_dict a shared pointer. · dc5ad78b
      Alexandre Duret-Lutz authored
      * src/tgba/bdddict.hh (bdd_dict_ptr): New type.
      (make_bdd_dict): New function.
      * iface/dve2/dve2.cc, iface/dve2/dve2.hh, iface/dve2/dve2check.cc,
      src/bin/dstar2tgba.cc, src/bin/ltlcross.cc,
      src/dstarparse/dstarparse.yy, src/dstarparse/public.hh,
      src/graphtest/tgbagraph.cc, src/kripke/kripkeexplicit.cc,
      src/kripke/kripkeexplicit.hh, src/kripke/kripkeprint.cc,
      src/kripkeparse/kripkeparse.yy, src/kripkeparse/public.hh,
      src/kripketest/parse_print_test.cc, src/ltlvisit/apcollect.cc,
      src/ltlvisit/contain.cc, src/ltlvisit/contain.hh,
      src/ltlvisit/simplify.cc, src/ltlvisit/simplify.hh,
      src/neverparse/neverclaimparse.yy, src/neverparse/public.hh,
      src/priv/accmap.hh, src/saba/saba.hh, src/saba/sabacomplementtgba.cc,
      src/saba/sabacomplementtgba.hh, src/sabatest/sabacomplementtgba.cc,
      src/ta/ta.hh, src/ta/taexplicit.cc, src/ta/taexplicit.hh,
      src/ta/taproduct.cc, src/ta/taproduct.hh, src/ta/tgtaexplicit.cc,
      src/ta/tgtaexplicit.hh, src/taalgos/dotty.cc, src/tgba/bddprint.cc,
      src/tgba/bddprint.hh, src/tgba/formula2bdd.cc, src/tgba/formula2bdd.hh,
      src/tgba/taatgba.cc, src/tgba/taatgba.hh, src/tgba/tgba.hh,
      src/tgba/tgbagraph.hh, src/tgba/tgbakvcomplement.cc,
      src/tgba/tgbakvcomplement.hh, src/tgba/tgbaproduct.cc,
      src/tgba/tgbaproduct.hh, src/tgba/tgbaproxy.cc, src/tgba/tgbaproxy.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasafracomplement.hh,
      src/tgba/tgbascc.cc, src/tgba/tgbascc.hh, src/tgba/tgbasgba.cc,
      src/tgba/tgbasgba.hh, src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh,
      src/tgba/wdbacomp.cc, src/tgbaalgos/compsusp.cc,
      src/tgbaalgos/compsusp.hh, src/tgbaalgos/degen.cc,
      src/tgbaalgos/dtbasat.cc, src/tgbaalgos/dtgbasat.cc,
      src/tgbaalgos/emptiness.cc, src/tgbaalgos/lbtt.cc,
      src/tgbaalgos/lbtt.hh, src/tgbaalgos/ltl2taa.cc,
      src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/ltl2tgba_fm.cc,
      src/tgbaalgos/ltl2tgba_fm.hh, src/tgbaalgos/randomgraph.cc,
      src/tgbaalgos/randomgraph.hh, src/tgbaalgos/save.cc,
      src/tgbaalgos/translate.cc, src/tgbaalgos/translate.hh,
      src/tgbaalgos/word.cc, src/tgbaalgos/word.hh, src/tgbaparse/public.hh,
      src/tgbaparse/tgbaparse.yy, src/tgbatest/complementation.cc,
      src/tgbatest/explprod.cc, src/tgbatest/ltl2tgba.cc,
      src/tgbatest/ltlprod.cc, src/tgbatest/maskacc.cc,
      src/tgbatest/powerset.cc, src/tgbatest/randtgba.cc,
      src/tgbatest/taatgba.cc, src/tgbatest/tgbaread.cc,
      src/tgbatest/tripprod.cc, wrap/python/ajax/spot.in,
      wrap/python/tests/alarm.py, wrap/python/tests/ltl2tgba.py,
      wrap/python/tests/parsetgba.py: Update to use bdd_dict_ptr and
      make_bdd_dict().
      dc5ad78b
  5. 17 Feb, 2014 2 commits
    • Alexandre Duret-Lutz's avatar
      tgba: remove the global_state and global_automaton argument of succ_iter · bd870f9a
      Alexandre Duret-Lutz authored
      * iface/dve2/dve2.cc, src/kripke/kripkeexplicit.cc,
      src/kripke/kripkeexplicit.hh, src/ta/tgtaexplicit.cc,
      src/ta/tgtaexplicit.hh, src/ta/tgtaproduct.cc, src/ta/tgtaproduct.hh,
      src/tgba/taatgba.cc, src/tgba/taatgba.hh, src/tgba/tgba.hh,
      src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbakvcomplement.cc,
      src/tgba/tgbakvcomplement.hh, src/tgba/tgbamask.cc,
      src/tgba/tgbamask.hh, src/tgba/tgbaproduct.cc, src/tgba/tgbaproduct.hh,
      src/tgba/tgbaproxy.cc, src/tgba/tgbaproxy.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasafracomplement.hh,
      src/tgba/tgbascc.cc, src/tgba/tgbascc.hh, src/tgba/tgbasgba.cc,
      src/tgba/tgbasgba.hh, src/tgba/tgbatba.cc, src/tgba/tgbatba.hh,
      src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc:
      Here.
      * NEWS: Mention it.
      bd870f9a
    • Alexandre Duret-Lutz's avatar
      tgba: remove the support_variable() method. · 0fba428c
      Alexandre Duret-Lutz authored
      * src/kripke/fairkripke.cc, src/kripke/fairkripke.hh,
      src/ta/tgtaexplicit.cc, src/ta/tgtaexplicit.hh, src/tgba/taatgba.cc,
      src/tgba/taatgba.hh, src/tgba/tgba.cc, src/tgba/tgba.hh,
      src/tgba/tgbabddconcrete.cc, src/tgba/tgbabddconcrete.hh,
      src/tgba/tgbaexplicit.hh, src/tgba/tgbakvcomplement.cc,
      src/tgba/tgbakvcomplement.hh, src/tgba/tgbaproduct.cc,
      src/tgba/tgbaproduct.hh, src/tgba/tgbaproxy.cc, src/tgba/tgbaproxy.hh,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasafracomplement.hh,
      src/tgba/tgbascc.cc, src/tgba/tgbascc.hh, src/tgba/tgbasgba.cc,
      src/tgba/tgbasgba.hh, src/tgba/tgbatba.cc, src/tgba/tgbatba.hh,
      src/tgba/tgbaunion.cc, src/tgba/tgbaunion.hh, src/tgba/wdbacomp.cc:
      Remove anything related to support_variables() and
      compute_support_variables().
      * NEWS: Mention it.
      * src/tgbaalgos/powerset.cc: Adjust the computation of all possible
      conditions.
      0fba428c
  6. 12 Feb, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      Introduce tgba::release_iter(). · 06c69f88
      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().
      06c69f88
  7. 23 Aug, 2013 1 commit
    • Alexandre Duret-Lutz's avatar
      Introduce some masked tgba. · ce0aec60
      Alexandre Duret-Lutz authored
      * src/tgba/tgbamask.cc, src/tgba/tgbamask.hh,
      src/tgba/tgbaproxy.cc, src/tgba/tgbaproxy.hh: New files.
      * src/tgba/Makefile.am: Add them.
      * src/tgbatest/explicit3.cc, src/tgbatest/explicit3.test:
      New files.
      * src/tgbatest/Makefile.am: Add them.
      ce0aec60