- 02 Jun, 2017 1 commit
-
-
Alexandre Duret-Lutz authored
Fixes #262 again. Reported by Maximilien Colange. * spot/twaalgos/simulation.cc: Use state numbers to order classes, not their signatures. The problem was that even if two simulation of the same automaton assign the same signature, the BDD identifier used for that signature might be different, and therefore the ordering obtained by using BDDs as keys in a map can be different. A side-effect of this change is that the order of states in automata produced by simulation-based reduction may change; many tests had to be updated. * tests/core/ltl2tgba.test: Add a new test case based on Maximilien's report. * tests/core/complement.test, tests/core/det.test, tests/core/parseaut.test, tests/core/prodor.test, tests/core/scc.test, tests/python/atva16-fig2a.ipynb, tests/python/automata.ipynb, tests/python/decompose.ipynb, tests/python/decompose_scc.py, tests/python/highlighting.ipynb, tests/python/piperead.ipynb, tests/python/sccinfo.py, tests/python/simstate.py, tests/python/testingaut.ipynb, tests/python/word.ipynb: Update test case for new order of states.
-
- 31 May, 2017 7 commits
-
-
Alexandre Duret-Lutz authored
* tests/sanity/getenv.test: New file. * tests/Makefile.am: Add it. * bin/man/spot-x.x: Document SPOT_STUTTER_CHECK and SPOT_DEBUG_PARSER.
-
Alexandre Duret-Lutz authored
* tests/sanity/namedprop.test: New file. * tests/Makefile.am: Add it. * doc/org/concepts.org: Add documentation for degen-levels and simulated-states.
-
Alexandre Duret-Lutz authored
Related to #208. * spot/twaalgos/dot.cc: Fix missing definitions of universal nodes, and inclusion of universal nodes inside of SCC when none of the destination comes back to the SCC. * tests/python/_altscc.ipynb: Adjust and add more test cases. * tests/core/alternating.test, tests/core/neverclaimread.test, tests/core/readsave.test, tests/core/sccdot.test, tests/python/decompose.ipynb: Adjust test cases. * NEWS: Mention the bug.
-
Alexandre Duret-Lutz authored
* spot/twaalgos/sccinfo.hh, spot/twaalgos/sccinfo.cc: Do it. * tests/core/sccdot.test: Add a test case. * NEWS: Mention it.
-
Alexandre Duret-Lutz authored
* spot/twa/acc.cc, spot/twa/acc.hh: Implement the new method, and use it to implement inf_accepting(). * tests/python/accparse2.py: Add some tests.
-
Maximilien Colange authored
* NEWS: Document this. * spot/twa/twagraph.cc: `copy_state_names_from` handles this new info. * spot/twaalgos/degen.hh, spot/twaalgos/degen.cc: Implement it. * tests/python/origstate.py, tests/python/simstate.py: Update tests to reflect the change.
-
Maximilien Colange authored
* NEWS: Document the change. * spot/twaalgos/simulation.cc: Implement the change. * spot/twa/twagraph.cc: `copy_state_names_from` uses simulated states info if present. * spot/twaalgos/determinize.cc: Pretty-print in determinization follows simulated states, avoiding possible confusion. * tests/Makefile.am, tests/python/simstate.py: Add a test.
-
- 30 May, 2017 1 commit
-
-
Alexandre Duret-Lutz authored
* spot/twaalgos/sccinfo.hh, spot/twaalgos/sccinfo.cc: Take a filter function as optional argument. * tests/core/sccif.cc, tests/core/sccif.test: New files. * tests/Makefile.am, tests/core/.gitignore: Adjust. * NEWS: Mention the new feature.
-
- 29 May, 2017 1 commit
-
-
Thomas Medioni authored
co-Büchi is now recognized as Streett-like, Büchi as Rabin-like. Also recognized Inf & Inf & Inf... as Streett-like and Fin | Fin | Fin... as Rabin-like. * spot/twa/acc.cc: Fix the bug * tests/python/rs_like.py: Add some test case
-
- 18 May, 2017 1 commit
-
-
Alexandre Duret-Lutz authored
Fixes #262, reported by Maximilien Colange. * bin/common_output.cc, bin/common_aoutput.cc, bin/common_aoutput.hh: Clear the set of atomic propositions if --stats=%[...]x was used. * spot/twa/bdddict.cc: Release any formula associated to a BDD when it is unregistered, do not wait for the dictionary's destruction. This was the main culprit for #262. * tests/core/ltl2tgba.test: Add test cases. * NEWS: Mention the bug.
-
- 10 May, 2017 2 commits
-
-
Alexandre Duret-Lutz authored
The cache used in formula simplification will keep atomic propositions defined between several translations, and may impact variable order. Reported by Maximilien Colange. * spot/tl/simplify.hh, spot/tl/simplify.cc, spot/twaalgos/translate.cc, spot/twaalgos/translate.hh (clear_cache): New method. * bin/ltl2tgba.cc, bin/ltl2tgta.cc: Call it. * spot/twaalgos/stats.cc: Do not keep a point to the formula after printing statistics. * tests/core/ltl2tgba.test: Add a test case. * tests/core/readsave.test: Adjust one formula. * NEWS: Mention the issue.
-
Alexandre Duret-Lutz authored
The cache used in formula simplification will keep atomic propositions defined between several translations, and may impact variable order. Reported by Maximilien Colange. * spot/tl/simplify.hh, spot/tl/simplify.cc, spot/twaalgos/translate.cc, spot/twaalgos/translate.hh (clear_cache): New method. * bin/ltl2tgba.cc, bin/ltl2tgta.cc: Call it. * spot/twaalgos/stats.cc: Do not keep a point to the formula after printing statistics. * tests/core/ltl2tgba.test: Add a test case. * tests/core/readsave.test: Adjust one formula. * NEWS: Mention the issue.
-
- 09 May, 2017 1 commit
-
-
Alexandre Duret-Lutz authored
This is motivated by some upcoming patch by Heňo. * spot/twaalgos/sccinfo.hh (edges_of, inner_edges_of): New methods. * spot/twaalgos/sccinfo.cc, spot/twaalgos/strength.cc: Use them. * spot/twa/twagraph.hh (edge_number): Add an overload. * python/spot/impl.i: Bind the new methods. * tests/python/sccinfo.py: Add tests. * NEWS: Mention the changes.
-
- 08 May, 2017 2 commits
-
-
Alexandre Duret-Lutz authored
Fixes #260. Reported by František Blahoudek. The simplification F(f)|q = F(f|q), where q designates an event_univ formula, was not always applied because of a couple of issue: (1) the mospliter was ignoring event_univ unless favor_event_univ was set, (2) when processing formulas from res_EventUniv they were not put back into res_F or res_G to be subject to the F/G rules. * spot/tl/simplify.cc: Improve handling of the above points. * tests/core/reduccmp.test: Adjust and add test case. * tests/core/ltl2tgba2.test, tests/python/atva16-fig2a.ipynb: Adjust.
-
Alexandre Duret-Lutz authored
Fixes #260. Reported by František Blahoudek. The simplification F(f)|q = F(f|q), where q designates an event_univ formula, was not always applied because of a couple of issue: (1) the mospliter was ignoring event_univ unless favor_event_univ was set, (2) when processing formulas from res_EventUniv they were not put back into res_F or res_G to be subject to the F/G rules. * spot/tl/simplify.cc: Improve handling of the above points. * tests/core/reduccmp.test: Adjust and add test case. * tests/core/ltl2tgba2.test, tests/python/atva16-fig2a.ipynb: Adjust.
-
- 05 May, 2017 4 commits
-
-
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.
-
Alexandre Duret-Lutz authored
Fixes #257. * spot/twaalgos/degen.cc: Implement this optimization. * tests/core/degendet.test: Add a few test cases. * tests/core/ltl2tgba2.test: Adjust expected sizes. * NEWS: Mention the change.
-
Alexandre Duret-Lutz authored
* spot/twa/twagraph.cc, spot/twa/twagraph.hh (format_state): Honor the state-names and product-states properties. * tests/python/highlighting.ipynb: Adjust.
-
Alexandre Duret-Lutz authored
* spot/twa/twagraph.cc, spot/twa/twagraph.hh: Here. Also make sure "original-states" survives defrag_states(). * NEWS: Mention it. * tests/python/origstate.py: New file. * tests/Makefile.am: Add it.
-
- 04 May, 2017 2 commits
-
-
Alexandre Duret-Lutz authored
Fixes #259. * bin/common_setup.cc: Register a cleanup_tmpfiles() via atexit. * tests/core/ltldo.test: Add a test case. * NEWS: Mention the bug.
-
Alexandre Duret-Lutz authored
Fixes #259. * bin/common_setup.cc: Register a cleanup_tmpfiles() via atexit. * tests/core/ltldo.test: Add a test case. * NEWS: Mention the bug.
-
- 01 May, 2017 1 commit
-
-
Alexandre Duret-Lutz authored
Fixes #233, although more cleanup would be welcome. * spot/twaalgos/minimize.cc: Replace the uses of twa methods by twa_graph methods, and simplify some data structures. * tests/core/acc_word.test, tests/core/readsave.test, tests/python/automata.ipynb: Adjust changed output due to different data structures.
-
- 28 Apr, 2017 6 commits
-
-
Alexandre Duret-Lutz authored
* spot/gen/automata.hh, spot/gen/automata.cc, bin/genaut.cc: Introduce L_DSA. * tests/core/genaut.test: Add quick test.
-
Alexandre Duret-Lutz authored
* spot/gen/automata.cc: Set more properties. * tests/python/gen.py: Check that they are set.
-
Alexandre Duret-Lutz authored
* spot/gen/automata.cc, spot/gen/automata.hh: Define AUT_L_NBA. * bin/genaut.cc (--l-nba): New option. * bin/man/genaut.x, doc/org/genaut.org, NEWS: Document it. * tests/python/gen.py, tests/core/genaut.test: Test it.
-
Alexandre Duret-Lutz authored
* spot/gen/automata.hh (aut_pattern): Add the dict argument. * spot/gen/automata.cc, python/spot/gen.i: Adjust. * tests/python/gen.py: Make sure two automata built without specifying any dictionary share the same one.
-
Alexandre Duret-Lutz authored
* spot/gen/automata.hh, spot/gen/automata.cc: Hide ks_cobuchi() behind introduce aut_pattern(), as we have already done for the formulas. * bin/genaut.cc: Simplify using this interface. * python/spot/gen.i: Introduce aut_patterns(). * tests/python/gen.ipynb, tests/python/gen.py: Adjust.
-
Alexandre Duret-Lutz authored
This helps with autocompletion in IPython, and it will prevent us from mixing LTL patterns with automata patterns (once we have more than one automata generator). * spot/gen/formulas.hh: Here. * spot/gen/formulas.cc, bin/genltl.cc, tests/python/gen.ipynb, tests/python/gen.py: Adjust.
-
- 26 Apr, 2017 1 commit
-
-
Alexandre Duret-Lutz authored
* spot/gen/formulas.hh, spot/gen/formulas.cc (genltl): Rename as... (ltl_pattern): This. (ltl_pattern_max): New function. * bin/genltl.cc: Adjust names, and simplify using ltl_pattern_max(). * python/spot/gen.i (ltl_patterns): New function. * tests/python/gen.py: Test it. * tests/python/gen.ipynb: New file to document the spot.gen package. * tests/Makefile.am, doc/org/tut.org: Add gen.ipynb.
-
- 25 Apr, 2017 1 commit
-
-
Alexandre Duret-Lutz authored
Fixes #254. * spot/gen/formulas.cc, spot/gen/formulas.hh: New files. * spot/gen/Makefile.am: Add them. * spot/Makefile.am: Fix build order. * bin/genltl.cc: Move most code to the above files and adjust. * bin/Makefile.am: Link genltl with libspotgen. * doc/org/arch.tex: Adjust picture to show that genltl uses libspotgen. * python/spot/gen.i: Include formulas.hh. * tests/python/gen.py: Make sure genltl() and ltl_pattern_name() can be called.
-
- 24 Apr, 2017 1 commit
-
-
Maximilien Colange authored
* tests/python/gen.py: implement the check.
-
- 23 Apr, 2017 1 commit
-
-
Alexandre Duret-Lutz authored
For #254. * python/spot/gen.i, tests/python/gen.py: New files. * python/Makefile.am, tests/Makefile.am: Adjust. * NEWS: Mention the spot.gen python package.
-
- 22 Apr, 2017 3 commits
-
-
Alexandre Duret-Lutz authored
* spot/gen/automata.hh: State the precondition. * spot/gen/automata.cc: Catch n==0. * tests/core/genaut.test: Test it.
-
Alexandre Duret-Lutz authored
* tests/sanity/bin.test: New file. * tests/Makefile.am: Run it.
-
Alexandre Duret-Lutz authored
* bin/genaut.cc: Use RANGE instead of N, and document it. Output the FORMAT documentation, and fix handling of %F and %L. * tests/core/genaut.test: New file. * tests/Makefile.am: Add it.
-
- 21 Apr, 2017 1 commit
-
-
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.
-
- 20 Apr, 2017 2 commits
-
-
Alexandre Duret-Lutz authored
* spot/twaalgos/degen.cc, spot/twaalgos/degen.hh, spot/twaalgos/mask.hh: Store original states in "original-states" properties. * spot/twaalgos/dot.cc: Add support for option 'd'. * bin/common_aoutput.cc: Document it. * doc/org/concepts.org, NEWS: Document "original-states". * tests/core/readsave.test: Add some tests.
-
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.
-
- 19 Apr, 2017 1 commit
-
-
Alexandre Duret-Lutz authored
Reported by Thibaud Michaud * spot/twaalgos/sbacc.cc: Do not label rejecting SCCs with the empty mark, as it might be accepting. * tests/core/sbacc.test: Add test cases. * NEWS: Mention the bug.
-