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.
      1a08eca8
  2. 09 Dec, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      ltlf: ensure alive holds initially · 413eab1d
      Alexandre Duret-Lutz authored
      Reported by Shufang Zhu.
      
      * spot/tl/ltlf.cc, spot/tl/ltlf.hh: Fix the transltion
      and update the comments.
      * tests/core/ltlfilt.test: Adjust test cases.
      * NEWS: Mention the fix.
      * THANKS: Add Shufang Zhu.
      413eab1d
  3. 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.
      0ab8dc06
  4. 01 Dec, 2016 1 commit
  5. 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.
      b3ee6831
  6. 28 Nov, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      ltsmin: use any installed libltdl · b1f90817
      Alexandre Duret-Lutz authored
      This should solve issue with the Debian package.
      
      * spot/ltsmin/Makefile.am: Use the LTDLINC, LTDLDEPS and LIBLTDL as
      documented.
      * NEWS: Mention the fix.
      b1f90817
    • 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.
      9bc978a9
  7. 24 Nov, 2016 1 commit
  8. 21 Nov, 2016 2 commits
  9. 19 Nov, 2016 1 commit
  10. 14 Nov, 2016 3 commits
  11. 13 Nov, 2016 2 commits
  12. 12 Nov, 2016 1 commit
  13. 11 Nov, 2016 4 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.
      85f6e0e1
    • Alexandre Duret-Lutz's avatar
      twa: do not set prop_state_acc in set_acceptance · dd706d78
      Alexandre Duret-Lutz authored
      Reported by Juraj Major.
      
      * spot/twa/twa.hh: check num_sets() in prop_state_acc() so we do not
      have to set it in set_acceptance(), causing trouble if set_acceptance()
      is called multiple times.
      * tests/python/setacc.py: New test case.
      * tests/Makefile.am: Add it.
      * THANKS: Add Juraj.
      * NEWS: Mention the bug.
      dd706d78
    • 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
      automaton.
      * 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.
      a70589fe
    • Alexandre Duret-Lutz's avatar
      parseaut: do not close fd or stdin · 49266dee
      Alexandre Duret-Lutz authored
      * spot/parseaut/public.hh, spot/parseaut/scanaut.ll: When parsing
      automata read from some given FD, do not close the file descriptor, as
      the caller is likely to already close it, and closing FDs twice is very
      bad.  This seems to have be the root of some issue we had with recent
      jupyter versions, were 0MQ would crash with "Bad file descriptor"
      messages.  Also do not close stdin while we are at it.
      * NEWS: Mention the bug.
      49266dee
  14. 08 Nov, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      ltldo: rename %R as %# · 278b41f4
      Alexandre Duret-Lutz authored
      Fixes #189.
      
      * bin/ltldo.cc: Here.
      * tests/core/ltldo.test: Adjust and add test-case for %R.
      * NEWS: Mention the change.
      278b41f4
    • Alexandre GBAGUIDI AISSE's avatar
      spot: Add %R, %[..]R common option. · 6ed38070
      Alexandre GBAGUIDI AISSE authored
      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.
      6ed38070
  15. 05 Nov, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      from_ltlf: new LTL transformation. · 2e69e045
      Alexandre Duret-Lutz authored
      Fixes #187.
      
      * spot/tl/ltlf.cc, spot/tl/ltlf.hh: New files.
      * spot/tl/Makefile.am: Add them.
      * bin/ltlfilt.cc: Add a new option.
      * bin/man/ltlfilt.x: Add bibliographic reference.
      * tests/core/ltlfilt.test: Add more tests.
      * tests/python/ltlf.py: New file.
      * tests/Makefile.am: Add it.
      * python/spot/impl.i: Python bindings.
      * NEWS: Mention it.
      2e69e045
  16. 01 Nov, 2016 1 commit
  17. 29 Oct, 2016 2 commits
  18. 25 Oct, 2016 2 commits
  19. 23 Oct, 2016 1 commit
  20. 19 Oct, 2016 3 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
      necessary.
      * 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.
      56f768f5
    • 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.
      ad478bd3
    • 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.
      5384a3b8
  21. 17 Oct, 2016 1 commit
  22. 14 Oct, 2016 2 commits
  23. 13 Oct, 2016 3 commits
  24. 10 Oct, 2016 1 commit