1. 13 Dec, 2016 1 commit
    • Maximilien Colange's avatar
      Add a new, parameterized, version of the Couvreur emptiness check. · 1a08eca8
      Maximilien Colange authored
      This version has optimization for explicit twa, and also for weak and
      terminal (depending on whether an accepting run is requested) automata.
      * spot/twaalgos/couvreurnew.hh, spot/twaalgos/couvreurnew.cc,
        spot/twaalgos/Makefile.am: New files for the new algorithm.
      * spot/twaalgos/emptiness.cc, tests/core/randtgba.cc:
        Register new algorithm.
  2. 02 Dec, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      install back the safety check of includes.test · 0ab8dc06
      Alexandre Duret-Lutz authored
      Compilation of each header file alone, as a safety check, was removed
      when introducing "#pragma once" because we did not have to check for
      possible double inclusion.  However we still need to compile each
      header to make sure they are self-contained.
      * tests/sanity/includes.test: Compile each header.
      * tests/run.in: Export various compiler and directory flags.
      * spot/twaalgos/emptiness_stats.hh, spot/misc/mspool.hh,
      spot/misc/fixpool.hh: Include <spot/misc/common.hh>.
      * spot/misc/common.hh: Include <cassert>.
      * NEWS: Mention the fixed headers.
  3. 30 Nov, 2016 1 commit
  4. 29 Nov, 2016 1 commit
    • Maximilien Colange's avatar
      Automata with no state are no longer allowed. · b3ee6831
      Maximilien Colange authored
      * NEWS, spot/twa/twa.hh: Document the change.
      * spot/twa/twagraph.hh, spot/kripke/kripkegraph.hh:
        Add an exception in get_init_state_number().
        get_init_state() now calls get_init_state_number().
      * spot/twa/twagraph.cc, spot/twaalgos/simulation.cc,
        spot/twaalgos/powerset.cc, spot/twaalgos/complete.cc,
        spot/twaalgos/sccfilter.cc: Remove now useless tests.
      * spot/twaalgos/hoa.cc: Remove now useless comment.
      * spot/twaalgos/minimize.cc: Never return an automaton with no state.
  5. 28 Nov, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      strength: fix is_terminal() · 9bc978a9
      Alexandre Duret-Lutz authored
      Fix #198.  Reported by Maximilien Colange.
      * spot/twaalgos/strength.cc (is_terminal): Test that no accepting
      transition lead to a rejecting SCC.
      * tests/core/strength.test: Add test case.
      * spot/twaalgos/strength.hh, spot/twa/twa.hh, doc/org/concepts.org:
      Adjust documentation.
      * NEWS: Mention the fix.
  6. 24 Nov, 2016 1 commit
  7. 23 Nov, 2016 1 commit
    • Etienne Renault's avatar
      Prefer emplace_back to push_back · 43ec36cd
      Etienne Renault authored
      * spot/graph/ngraph.hh, spot/ltsmin/ltsmin.cc,
      spot/misc/bitvect.hh, spot/misc/intvcomp.cc,
      spot/misc/satsolver.cc, spot/priv/weight.cc,
      spot/ta/taexplicit.cc, spot/taalgos/minimize.cc,
      spot/taalgos/reachiter.cc, spot/tl/exclusive.cc,
      spot/tl/formula.cc, spot/tl/formula.hh,
      spot/tl/mark.cc, spot/tl/mutation.cc,
      spot/tl/relabel.cc, spot/tl/remove_x.cc,
      spot/tl/simplify.cc, spot/twa/acc.cc,
      spot/twa/acc.hh, spot/twa/formula2bdd.cc,
      spot/twa/taatgba.cc, spot/twa/taatgba.hh,
      spot/twa/twa.hh, spot/twa/twagraph.cc,
      spot/twaalgos/bfssteps.cc, spot/twaalgos/canonicalize.cc,
      spot/twaalgos/compsusp.cc, spot/twaalgos/copy.cc,
      spot/twaalgos/cycles.cc, spot/twaalgos/degen.cc,
      spot/twaalgos/determinize.cc, spot/twaalgos/dtwasat.cc,
      spot/twaalgos/emptiness.cc, spot/twaalgos/gv04.cc,
      spot/twaalgos/hoa.cc, spot/twaalgos/ltl2taa.cc,
      spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/magic.cc,
      spot/twaalgos/mask.hh, spot/twaalgos/minimize.cc,
      spot/twaalgos/powerset.cc, spot/twaalgos/product.cc,
      spot/twaalgos/randomgraph.cc, spot/twaalgos/reachiter.cc,
      spot/twaalgos/relabel.cc, spot/twaalgos/remfin.cc,
      spot/twaalgos/sccfilter.cc, spot/twaalgos/se05.cc,
      spot/twaalgos/simulation.cc, spot/twaalgos/stutter.cc,
      spot/twaalgos/tau03opt.cc, spot/twaalgos/totgba.cc,
      spot/twaalgos/word.cc, tests/core/bitvect.cc: here.
  8. 11 Nov, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      scc_filter: preserve state names and highlighted states · 85f6e0e1
      Alexandre Duret-Lutz authored
      Suggested by Juraj Major.
      * spot/twaalgos/sccfilter.cc: Here.
      * tests/python/sccfilter.py: New file.
      * tests/Makefile.am: Add it.
      * NEWS: Mention the news.
    • Alexandre Duret-Lutz's avatar
      remfin: fix handling of weak automata · a70589fe
      Alexandre Duret-Lutz authored
      * spot/twaalgos/remfin.cc: Do not add a sink states to deterministic
      weak automata, and actually apply the "weak" Fin-removal to any weak
      * tests/core/explprod.test: Add a test case for the previous patch,
      but that used to fail because of this bug.
      * NEWS: Mention the bug.
  9. 09 Nov, 2016 1 commit
  10. 08 Nov, 2016 1 commit
    • Alexandre GBAGUIDI AISSE's avatar
      spot: Add %R, %[..]R common option. · 6ed38070
      Alexandre GBAGUIDI AISSE authored and Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz committed
      For #189.
      * NEWS: Update.
      * bin/autfilt.cc: Replace stopwatch with process_timer.
      * bin/dstar2tgba.cc: Replace stopwatch with process_timer.
      * bin/ltl2tgba.cc: Replace stopwatch with process_timer.
      * bin/ltlcross.cc: Replace stopwatch with process_timer.
      * bin/ltldo.cc: Replace stopwatch with process_timer.
      * bin/randaut.cc: Replace stopwatch with process_timer.
      * bin/common_aoutput.hh: Implement process_timer, integrate it.
      * bin/common_aoutput.cc: Integrate process_timer and implement new
      print method.
      * spot/misc/timer.hh: Modify timer class and timeinfo struct
      i.e. add cutime (children_utime) and cstime (children_stime).
      * spot/misc/timer.cc: Help code to behave as before all this.
      * spot/twaalgos/dtbasat.cc: Help print_log to behave as before
      all this.
      * spot/twaalgos/dtwasat.cc: Help print_log to behave as before
      all this.
      * spot/misc/formater.hh: Add operator<< for spot::timer.
  11. 01 Nov, 2016 2 commits
  12. 29 Oct, 2016 5 commits
  13. 25 Oct, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      translate: reset the LTL simplifier on set_level(). · ce63c30c
      Alexandre Duret-Lutz authored
      Fix an issue reported by Tomáš Babiak, who noticed that he could not
      manage to have ltl2tgba process `genltl --go-theta=N` efficiently for
      larger values of N.
      * spot/twaalgos/translate.hh (set_level): Reset any owned LTL simplifier
      whenever the optimization level is changed.
      * NEWS: Mention the bug.
  14. 23 Oct, 2016 1 commit
  15. 21 Oct, 2016 1 commit
  16. 20 Oct, 2016 1 commit
  17. 19 Oct, 2016 4 commits
    • Alexandre Duret-Lutz's avatar
      remove_fin: improve behavior on unclean acceptance · 56f768f5
      Alexandre Duret-Lutz authored
      Related to #188.  This is a third fix that independently
      makes `'utfilt --is-unambiguous -q smaller.hoa' instantaneous.
      * spot/twaalgos/remfin.cc: Clean the received automaton if
      * bin/autfilt.cc: No need to call cleanup_acceptance_here() before
      remove_fin() anymore.
      * tests/core/remfin.test: Add an additional test.
      * NEWS: Mention the change.
    • Alexandre Duret-Lutz's avatar
      use mask_keep_accessible_states · 3dc084c4
      Alexandre Duret-Lutz authored
      * bin/autfilt.cc, spot/twaalgos/isweakscc.cc, spot/twaalgos/remfin.cc,
      spot/twaalgos/sccinfo.cc: Use mask_keep_accessible_states instead of
    • Alexandre Duret-Lutz's avatar
      sccinfo: improve detection of rejecting 1-self-loop SCCs · ad478bd3
      Alexandre Duret-Lutz authored
      As observed in #188, the smaller.hoa automaton is made only of
      1-state/1-self-loop SCCs, for which calling remove_fin is a complete
      waste of time.  This patch alone (i.e., without the other changes
      suggested by #188) improves the run time of
      % autofilt -q --is-unambiguous smaller.hoa
      from 38s to 0.05s.
      * spot/twaalgos/sccinfo.cc: If a single-state SCC has undeterminate SCC
      and only one self-loop, then it is necessarily rejecting.
      * NEWS: Mention the change.
    • Alexandre Duret-Lutz's avatar
      is_unambiguous: rewrite more efficiently · 5384a3b8
      Alexandre Duret-Lutz authored
      Avoid calling scc_info::determine_unknown_acceptance on the product, as
      suggested in #188.
      * spot/twaalgos/isunamb.cc (is_unambiguous): Rewrite.
      * tests/core/unambig.test: Add the automaton from #188.
      * NEWS: Mention the improved function.
      * spot/twaalgos/mask.cc,
      spot/twaalgos/mask.hh (mask_keep_accessible_states): New function.
  18. 14 Oct, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      dot: improve option initialization · 70fa739f
      Alexandre Duret-Lutz authored
      * spot/twaalgos/dot.cc: Rearrange options to speed up their
      initialization and avoid an "uninitialized read" error from valgrind
      when compiling with clang-3.9.  The uninitialized read is still a bit
      misterious to me; valgrind was complaining about opt_shape_ who is
      actually initialized in the code.  However looking into the assembly
      code generated revealed that all consecutive 0/false values were
      initialized together, so this patch reorganize the options to encourage
      that.  Also the palette was copied over for each call to print_dot(), so
      this is now declared statically.
  19. 07 Oct, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      introduce SPOT_FALLTHROUGH to cope with -Wimplicit-fallthrough · a5d6aa25
      Alexandre Duret-Lutz authored
      * NEWS: Mention the fix.
      * HACKING: Mention the new macro.
      * spot/misc/common.hh (SPOT_FALLTHROUGH): Add the macro.
      * bin/randltl.cc, spot/misc/escape.cc, spot/tl/mutation.cc,
      spot/tl/print.cc, spot/tl/simplify.hh, spot/tl/snf.cc, spot/twa/acc.cc,
      spot/twaalgos/ltl2taa.cc, spot/twaalgos/ltl2tgba_fm.cc,
      spot/twaalgos/sepsets.cc, spot/twaalgos/translate.cc: Use it.
  20. 06 Sep, 2016 1 commit
  21. 17 Aug, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      bin: add options for --stats=%c · 571f0112
      Alexandre Duret-Lutz authored
      * spot/twaalgos/stats.cc: Implement options.
      * bin/common_aoutput.cc, NEWS: Document them.
      * tests/core/format.test: Add some quick tests.
    • Alexandre Duret-Lutz's avatar
      stats: preparatory change of the implementation of %c · 4f0a630d
      Alexandre Duret-Lutz authored
      This now holds the scc_info while processing the %c sequence, so that
      using options we will soon be able to specify which SCC to count.
      * spot/twaalgos/stats.hh, spot/twaalgos/stats.cc (printable_scc_info):
      New class.
      (state_printer): Use it for %c.
      * spot/misc/formater.hh: Add move assignment.
      * bin/common_aoutput.hh, bin/common_aoutput.cc: Use printable_scc_info
      for %C.
      * tests/core/format.test: Add a quick test case to make sure nothing
  22. 07 Aug, 2016 1 commit
  23. 04 Aug, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      implement conversion to GRA and GSA · 14bee1ae
      Alexandre Duret-Lutz authored
      Fixes #174.
      * spot/twaalgos/totgba.hh, spot/twaalgos/totgba.cc
      (to_generalized_streett, to_generalized_rabin): New functions.
      * spot/twa/acc.hh: Declare more methods as static.
      * bin/autfilt.cc: Implement --generalized-rabin and
      --generalized-streett options.
      * NEWS: Mention these.
      * tests/core/gragsa.test: New file.
      * tests/Makefile.am: Add it.
  24. 31 Jul, 2016 1 commit
  25. 27 Jul, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      lbtt: fix a memory leak detected by asan. · 561672d3
      Alexandre Duret-Lutz authored
      * spot/twaalgos/lbtt.cc: Here.
      * NEWS: Mention it.
    • Alexandre Duret-Lutz's avatar
      active -Wsuggest-override where supported · 64c70366
      Alexandre Duret-Lutz authored
      * m4/gccwarn.m4: Add the option.
      * bin/autfilt.cc, bin/common_output.hh, bin/dstar2tgba.cc,
      bin/ltl2tgba.cc, bin/ltl2tgta.cc, bin/ltlcross.cc, bin/ltldo.cc,
      bin/ltlfilt.cc, bin/ltlgrind.cc, spot/kripke/kripke.hh,
      spot/ltsmin/ltsmin.cc, spot/ta/ta.hh, spot/ta/tgtaproduct.hh,
      spot/taalgos/dot.cc, spot/taalgos/reachiter.hh,
      spot/taalgos/statessetbuilder.cc, spot/taalgos/stats.cc,
      spot/twa/twaproduct.cc, spot/twaalgos/emptiness.cc,
      spot/twaalgos/gtec/ce.cc, spot/twaalgos/lbtt.cc,
      spot/twaalgos/ndfs_result.hxx, spot/twaalgos/stats.hh,
      spot/twaalgos/tau03opt.cc, tests/core/ngraph.cc: Add suggested override
  26. 25 Jul, 2016 1 commit
  27. 24 Jul, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      use SPOT_ASSERT instead of assert · 20cf43b3
      Alexandre Duret-Lutz authored
      For #184.
      * spot/graph/graph.hh, spot/kripke/kripkegraph.hh,
      spot/misc/bitvect.hh, spot/misc/common.hh, spot/misc/fixpool.hh,
      spot/misc/mspool.hh, spot/misc/timer.hh, spot/tl/formula.hh,
      spot/twa/acc.hh, spot/twa/taatgba.hh, spot/twa/twa.hh,
      spot/twa/twagraph.hh, spot/twaalgos/emptiness_stats.hh,
      spot/twaalgos/mask.hh, spot/twaalgos/ndfs_result.hxx,
      spot/twaalgos/sccinfo.hh, spot/twaalgos/translate.hh: Replace
      assert() by SPOT_ASSERT(), or an exception, or nothing, depending
      on the case.
      * tests/sanity/style.test: Flag all asserts in headers.
      * HACKING: Discuss assertions.
  28. 19 Jul, 2016 2 commits