1. 05 May, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      introduce spot::split_edges() · 19aae6f9
      Alexandre Duret-Lutz authored
      Fixes #255.
      
      * spot/twaalgos/split.cc, spot/twaalgos/split.hh,
      tests/core/split.test: New files.
      * spot/twaalgos/Makefile.am, tests/Makefile.am: Add them.
      * bin/autfilt.cc (--split-edges): New option.
      * python/spot/impl.i: Process split.hh.
      * tests/python/alternating.py: Test split_edges() on
      an alternating automaton.
      19aae6f9
  2. 21 Apr, 2017 1 commit
    • Thomas Medioni's avatar
      Implements is_streett_like() and streett_like_pairs(), is_rabin_like... · b428ed31
      Thomas Medioni authored
      Adds the method spot::acc_cond::is_streett_like() that behaves like
      spot::acc_cond::is_streett() except that it works on a wider range
      of acceptance conditions, called Streett-like. Also adds
      spot::acc_cond::streett_like_pairs() that returns a boolean assessing
      whether the acceptance condition is Streett-like and also returns all
      the Streett_like pairs.
      Defines the new struct type spot::acc_cond::rs_pair.
      Similarily, Adds the methods spot::acc_cond::is_rabin_like() and
      spot::acc_cond::rabin_like_pairs().
      
      * NEWS: Mention this modification
      * python/spot/impl.i: Declares the new struct to SWIG, and defines
      the streett_like_pairs() vector as an output parameter, which makes
      the python code return a tuple (boolean, vector) rather than a
      pass-by-reference vector.
      * spot/twa/acc.cc, spot/twa/acc.hh: Declares an implements the new
      methods and the new nested struct.
      * tests/Makefile.am: Add new tests to the suite
      * tests/python/rs_like.py: Tests the new methods and
      the SWIG bindings.
      b428ed31
  3. 20 Apr, 2017 1 commit
    • Thomas Medioni's avatar
      mark_t: sets() no longer returns a vector · cc3bdfcd
      Thomas Medioni authored
      spot::mark_t::sets() was modified so that it now returns an iterable
      object rather than an std::vector<unsigned>.
      
      * NEWS: Mention the modification.
      * python/spot/impl.i: Declares mark_container as iterable to SWIG.
      * spot/parseaut/parseaut.yy: Adapts to the modification.
      * spot/twa/acc.hh: Implement the modification.
      * tests/python/acc_cond.ipynb: Adapts to the modification.
      cc3bdfcd
  4. 07 Apr, 2017 2 commits
    • Thomas Medioni's avatar
      dtwa_complement: deprecated, use dualize() instead. · 152b5d0d
      Thomas Medioni authored
      * NEWS: Mention of the deprecation
      * bench/stutter/stutter_invariance_randomgraph.cc,
        bin/autfilt.cc, bin/ltlcross.cc, spot/twaalgos/langmap.cc,
        spot/twaalgos/minimize.cc, spot/twaalgos/powerset.cc,
        spot/twaalgos/stutter.cc, tests/core/ikwiad.cc,
        tests/python/bugdet.py, tests/python/remfin.py,
        tests/python/sum.py: Refactor calls to dtwa_complement() with calls
        to dualize().
      * doc/org/upgrade2.org: Change mention of dtwa_complement with dualize.
      * spot/twaalgos/complement.hh: Add deprecation notice.
      * python/spot/impl.i: Add deprecation notice for the python bindings.
      152b5d0d
    • Thomas Medioni's avatar
      implement dualize to complement automatons · c9d8d41f
      Thomas Medioni authored
      * NEWS: Mention the implementation
      * python/spot/impl.i: Add dualize() to python interface.
      * spot/twaalgos/Makefile.am: Add dualize.cc,hh to the build
      * spot/twaalgos/dualize.cc: Implement dualize() that takes an automaton
        and returns its dual
      * spot/twaalgos/dualize.hh: Implement dualize()
      * tests/Makefile.am: Add dualize tests to the test suite
      * tests/python/dualize.py: Test cases for dualize
      c9d8d41f
  5. 29 Mar, 2017 1 commit
  6. 09 Mar, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      python: add python bindings for declarative_environment · b81d7e58
      Alexandre Duret-Lutz authored
      * python/spot/impl.i: Here.
      * tests/python/declenv.py: New file.
      * tests/Makefile.am: Add it.
      b81d7e58
    • Thomas Medioni's avatar
      Implement sum(..) and sum_and(..). · 194c1992
      Thomas Medioni authored
      Fixes #231.
      
      * NEWS: Mention of implementation of sum, sum_and.
      * bin/autfilt.cc: Add --sum, --sum-or and --sum-and options.
      * python/spot/impl.i: Add bindings for sum, sum_and.
      * spot/twaalgos/Makefile.am: Add sum.cc, sum.hh.
      * spot/twaalgos/sum.cc: Implement sum, sum_and.
      * spot/twaalgos/sum.hh: Declaration of sum, sum_and.
      * tests/Makefile.am: Add sum tests.
      * tests/core/explsum.test: Test the sum of two automatons,
        false or false, unsatisfied mark propagation, handling of univ.
        transitions.
      * tests/python/sum.py: Check that two automatons that does not
        share their bdd dict are not accepted, then run tests over the
        sum of randomly generated LTL formulas.
      194c1992
  7. 08 Mar, 2017 4 commits
  8. 07 Mar, 2017 2 commits
    • Alexandre Duret-Lutz's avatar
      twa_graph: more test coverage · cd4c326f
      Alexandre Duret-Lutz authored
      The goal is to improve coverage stats, but I discovered two issues
      while doing so.
      
      * tests/python/twagraph.py: New test case.
      * tests/Makefile.am: Add it.
      * spot/twa/twagraph.hh: Add fix typos in error messages.
      * python/spot/impl.i: Fix broken wrappers for state_from_number and
      state_acc_sets.
      cd4c326f
    • Alexandre Duret-Lutz's avatar
      twa_graph: more test coverage · 2e763a08
      Alexandre Duret-Lutz authored
      The goal is to improve coverage stats, but I discovered two issues
      while doing so.
      
      * tests/python/twagraph.py: New test case.
      * tests/Makefile.am: Add it.
      * spot/twa/twagraph.hh: Add fix typos in error messages.
      * python/spot/impl.i: Fix broken wrappers for state_from_number and
      state_acc_sets.
      2e763a08
  9. 20 Feb, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      scc_info: add Python bindings · 289b2383
      Alexandre Duret-Lutz authored
      Related to #172, where we discussed that scc_info bindings were
      missing.
      
      * spot/twaalgos/sccinfo.hh (spot::scc_info::scc_node): Move...
      (spot::scc_info_node): ... here to help Swig.
      * python/spot/impl.i: Add bindings for scc_info.
      * tests/python/sccinfo.py: New file.
      * tests/Makefile.am: Add it.
      289b2383
  10. 14 Jan, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      hierarchy: expose mp_class to python · ebdb198b
      Alexandre Duret-Lutz authored
      * bin/common_output.cc: Move some of the printing code...
      * spot/tl/hierarchy.cc, spot/tl/hierarchy.hh: ... here, as new
        variants of mp_class...
      * python/spot/impl.i: ... that we can now call from Python.
      * python/ajax/spotcgi.in: Use those to simplify and extend
      the code printing class membership.
      ebdb198b
  11. 06 Jan, 2017 1 commit
    • Alexandre GBAGUIDI AISSE's avatar
      twaalgos: Implement language_map algo · 8a0eed6c
      Alexandre GBAGUIDI AISSE authored
      * python/spot/impl.i: Add python bindings.
      * spot/twaalgos/langmap.cc: Implement algo.
      * spot/twaalgos/langmap.hh: Declare algo.
      * spot/twaalgos/Makefile.am: Add new files.
      * tests/python/langmap.py: Add tests.
      * NEWS: Update.
      8a0eed6c
  12. 27 Dec, 2016 3 commits
    • Alexandre Duret-Lutz's avatar
      alternation: add a states_and algorithm · 27ab631c
      Alexandre Duret-Lutz authored
      This should will come handy to implement the convertion from LTL to
      alternating automata, and to handle automata with multiple initial
      states.
      
      * spot/twaalgos/alternation.hh, spot/twaalgos/alternation.cc: New files.
      * spot/twaalgos/Makefile.am: Add them.
      * python/spot/impl.i: Add bindings.
      * tests/python/alternating.py: Test states_and.
      27ab631c
    • Alexandre Duret-Lutz's avatar
      twa_graph: add support for universal initial states · 48c812a5
      Alexandre Duret-Lutz authored
      The only missing point is that the HOA parser cannot deal with multiple
      universal initial states, as seen in parseaut.test.
      
      * spot/graph/graph.hh (new_univ_dests): New function, extracted from...
      (new_univ_edge): ... this one.
      * spot/twa/twagraph.hh (set_univ_init_state): Implement using
      new_univ_dests.
      * spot/twaalgos/dot.cc, spot/twaalgos/hoa.cc, python/spot/impl.i:
      Add support for universal initial states.
      * spot/parseaut/parseaut.yy: Add preliminary support for
      universal initial states.  Multiple universal initial states
      are still not supported.
      * tests/core/alternating.test, tests/core/parseaut.test,
      tests/python/alternating.py: Adjust tests and exercise this new feature.
      48c812a5
    • Alexandre Duret-Lutz's avatar
      twa_graph: add basic support for alternation · 6aad559c
      Alexandre Duret-Lutz authored
      This only allows creating universal edges, and reading the associated
      destinations.
      
      * spot/twa/twagraph.hh (new_univ_edges, univ_dests, is_alternating): New
      function.
      * python/spot/impl.i: Add Python bindings.
      * tests/python/alternating.py: New file.
      * tests/Makefile.am: Add it.
      6aad559c
  13. 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
  14. 29 Jul, 2016 1 commit
  15. 19 Jul, 2016 1 commit
  16. 25 May, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      add binding for language_containment_checker and document them · b4088271
      Alexandre Duret-Lutz authored
      * spot/tl/contain.cc, spot/tl/contain.hh: Simplify the
      use of language_containment_checker by adding default argument.
      * python/spot/__init__.py, python/spot/impl.i: Bind it in Python.
      * doc/org/tut04.org: New file to illustrate it.
      * doc/org/tut.org, doc/Makefile.am: Add it.
      * NEWS: Mention those changes.
      b4088271
  17. 22 Apr, 2016 2 commits
  18. 08 Apr, 2016 1 commit
  19. 10 Mar, 2016 1 commit
    • Laurent XU's avatar
      python: add wrapper on twa_graph::edges() · 1eee12b8
      Laurent XU authored
      * spot/twa/twagraph.hh (edges): Do not hide from SWIG.
      * spot/graph/graph.hh: Hide stuff that SWIG do not understand.
      * python/spot/impl.i: Add some typemaps and fragment to
      iterate over the result of twa_graph::edges().
      1eee12b8
  20. 17 Feb, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      parsetl: change the interface to return a parsed_formula · 22f442f7
      Alexandre Duret-Lutz authored
      This gets the interface of all the functions parsing formula in line
      with the interface of the automaton parser: both return a "parsed_*"
      object (parsed_formula or parsed_automaton) that contains the said
      object and its list of errors.  Doing so avoid having to declare the
      parse_error_list in advance.
      
      * spot/tl/parse.hh, spot/parsetl/parsetl.yy: Do the change.
      * spot/parsetl/fmterror.cc: Adjust the error printer.
      * NEWS: Document it.
      * bin/common_finput.cc, bin/common_finput.hh, bin/ltlcross.cc,
      bin/ltldo.cc, bin/ltlfilt.cc, doc/org/tut01.org, doc/org/tut02.org,
      doc/org/tut10.org, doc/org/tut20.org, python/ajax/spotcgi.in,
      python/spot/impl.i, spot/parseaut/parseaut.yy, tests/core/checkpsl.cc,
      tests/core/checkta.cc, tests/core/consterm.cc, tests/core/emptchk.cc,
      tests/core/equalsf.cc, tests/core/ikwiad.cc, tests/core/kind.cc,
      tests/core/length.cc, tests/core/ltlprod.cc, tests/core/ltlrel.cc,
      tests/core/randtgba.cc, tests/core/readltl.cc, tests/core/reduc.cc,
      tests/core/safra.cc, tests/core/syntimpl.cc, tests/core/tostring.cc,
      tests/ltsmin/modelcheck.cc, tests/python/alarm.py,
      tests/python/interdep.py, tests/python/ltl2tgba.py,
      tests/python/ltlparse.py: Adjust all uses.
      22f442f7
  21. 12 Feb, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      get read of twa_safra_complement · 6a662a6d
      Alexandre Duret-Lutz authored
      * spot/twa/twasafracomplement.cc, spot/twa/twasafracomplement.hh,
      tests/core/complementation.cc: Delete.
      * tests/Makefile.am, spot/twa/Makefile.am: Adjust.
      * tests/core/complementation.test: Rewrite using the new determinization
      code.
      * python/spot/impl.i: Do not mention twa_safra_complement anymore.
      * NEWS: Mention the removal.
      6a662a6d
  22. 05 Feb, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      python: highlighting functions for edges and states · 23c2cbf4
      Alexandre Duret-Lutz authored
      * python/spot/impl.i (highlight_state, highlight_edge): New function.
      * python/spot/__init__.py (highlight_states, highlight_edges): New
      functions.
      * spot/twaalgos/dot.cc: Add a '#' option.
      * spot/taalgos/dot.cc: Ignore '#'.
      * tests/python/highlighting.ipynb: New file to illustrate everything.
      * tests/Makefile.am, doc/org/tut.org: Add it.
      23c2cbf4
  23. 31 Jan, 2016 1 commit
  24. 26 Jan, 2016 2 commits
    • Alexandre Duret-Lutz's avatar
      python: add bindings for ltsmin · 5a9b0aa1
      Alexandre Duret-Lutz authored
      * python/spot/ltsmin.i: New file.
      * python/Makefile.am: Add it.
      * python/spot/impl.i: Add bindings for kripke and fair_kripke.
      * tests/python/ltsmin.ipynb: New file.
      * tests/Makefile.am, doc/org/tut.org: Add it.
      * tests/python/ipnbdoctest.py: Make it possible for notebook
      to exit(77).
      * debian/control: Make the Python package dependent
      on libspotltsmin0.
      * python/spot/__init__.py: Typo.
      5a9b0aa1
    • Alexandre Duret-Lutz's avatar
      Make spot.py a python package instead of a module · 215fcb79
      Alexandre Duret-Lutz authored
      * python/spot.py, python/spot_impl.i: Rename as...
      * python/spot/__init__.py, python/spot/impl.i: ... these.
      * python/Makefile.am, tests/run.in: Adjust for new paths.
      * tests/python/automata-io.ipynb, tests/python/automata.ipynb,
      tests/python/decompose.ipynb, tests/python/piperead.ipynb,
      tests/python/testingaut.ipynb: Adjust messages to refer to spot.impl
      instead of spot_impl.
      215fcb79
  25. 13 Jan, 2016 1 commit
    • Alexandre Duret-Lutz's avatar
      trival: new class for tri-valued logic · 1aeb260a
      Alexandre Duret-Lutz authored
      * spot/misc/trival.hh: New file.
      * spot/misc/Makefile.am: Add it.
      * python/spot_impl.i: Add Python bindings.
      * tests/core/trival.cc, tests/core/trival.test,
      tests/python/trival.py: New files, testing it.
      * tests/Makefile.am: Add them.
      1aeb260a
  26. 25 Dec, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      rename wrap/python/ to python/ · 34c3c1ce
      Alexandre Duret-Lutz authored
      * wrap/python/: Rename to...
      * python/: ... this.
      * wrap/: Delete.
      * Makefile.am, README, configure.ac, debian/python3-spot.examples,
      debian/rules, doc/org/.dir-locals.el.in, doc/org/init.el.in,
      spot/sanity/ipynb.test: Adjust.
      34c3c1ce
  27. 24 Dec, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      show how to implement product in Python · 74ec9c54
      Alexandre Duret-Lutz authored
      * wrap/python/tests/product.ipynb: New file.
      * wrap/python/tests/Makefile.am, doc/org/tut.org: Add it.
      * wrap/python/tests/ipnbdoctest.py: Ignore %timeit results.
      * wrap/python/spot_impl.i: Add bindings for
      set_state_names()/get_state_names().
      * spot/twaalgos/product.cc: Fix computation of properties.
      * doc/org/hoa.org: Name.
      * NEWS: Update.
      74ec9c54
  28. 18 Dec, 2015 3 commits
    • Alexandre Duret-Lutz's avatar
      acc_code: parse from the constructor · df1ef302
      Alexandre Duret-Lutz authored
      * spot/twa/acc.hh, spot/twa/acc.cc (parse_acc_code): Rename as...
      (acc_cond::acc_code): ... this, making it a lot easier to build
      acceptance conditions from strings.
      * NEWS: Mention the change.
      * spot/twaalgos/dtwasat.cc, spot/bin/randaut.cc, spot/tests/acc.cc:
      Adjust.
      * wrap/python/tests/acc_cond.ipynb, wrap/python/tests/accparse.ipynb,
      wrap/python/tests/accparse2.py: Simplify, but not completely to exercise
      all variants.
      * wrap/python/spot_impl.i: Make acc_code's constructor implicit.
      df1ef302
    • Alexandre Duret-Lutz's avatar
      acc_cond: allow ctor from acc_code only + bind unsat_mark() · d0b29051
      Alexandre Duret-Lutz authored
      * spot/twa/acc.hh: Here.
      * wrap/python/spot_impl.i: Adjust for the strange return type of
      unsat_mark().
      * wrap/python/tests/acc_cond.ipynb: Augment.
      d0b29051
    • Alexandre Duret-Lutz's avatar
      python: better binding for is_parity() · 15131e74
      Alexandre Duret-Lutz authored
      * wrap/python/spot_impl.i: Here.
      * wrap/python/tests/acc_cond.ipynb: Document it.
      * spot/twa/acc.cc (is_parity): Always initialize max.
      15131e74