- 09 Sep, 2020 1 commit
-
-
Alexandre Duret-Lutz authored
* python/spot/impl.i: Process game.hh. * spot/misc/game.cc, spot/misc/game.hh: Make the output of parity_game_solve() a solved_game object for easier manipulation in Python. * bin/ltlsynt.cc: Adjust usage. * tests/python/paritygame.ipynb: New file. * tests/Makefile.am, doc/org/tut.org: Add it. * NEWS: Mention these bindings.
-
- 08 Sep, 2020 4 commits
-
-
Alexandre Duret-Lutz authored
* bin/ltlsynt.cc (complete_env): Replace this function by... * spot/misc/game.hh, spot/misc/game.cc (propagate_players): ... this new one, hiding the "state-player" business from ltlsynt. Also do not create a sink states unless necessary. * tests/core/ltlsynt.test: Adjust expected number of states.
-
Alexandre Duret-Lutz authored
* spot/twaalgos/dot.cc: Honor the "state-player" property and draw player 1 states using diamonds. * doc/org/hoa.org: Show an example. * tests/core/gamehoa.test: Make sure diamond is output. * NEWS: Mention this.
-
Alexandre Duret-Lutz authored
* spot/parseaut/parseaut.yy, spot/parseaut/scanaut.ll, spot/twaalgos/hoa.cc: Add input and output support. * doc/org/hoa.org: Document the HOA extension. * bin/ltlsynt.cc: Add a --print-game-hoa option to produce such format. * tests/core/gamehoa.test: New file to test this. * tests/Makefile.am: Add it. * NEWS: Mention this new feature.
-
Alexandre Duret-Lutz authored
This class was a simple wrapper on top of twa_graph_ptr, but it's easier to simply use a twa_graph_ptr with a "state-player" property instead, this way we will be able to modify the automata I/O routines to support games directly. * spot/misc/game.cc, spot/misc/game.hh: Rewrite the solver and pg_printer interface. * bin/ltlsynt.cc: Adjust. * NEWS: Mention this change. * doc/org/concepts.org: Mention the state-player property.
-
- 02 Sep, 2020 1 commit
-
-
* NEWS, spot/graph/graph.hh: here.
-
- 01 Sep, 2020 1 commit
-
-
Florian Renkin authored
* NEWS, spot/graph/graph.hh: here.
-
- 03 Aug, 2020 5 commits
-
-
Alexandre Duret-Lutz authored
* spot/misc/minato.cc: Use bdd_ite() to exercise one of the function rewritten in the next patch, and also because that is supposedly faster.
-
Alexandre Duret-Lutz authored
* spot/twaalgos/toparity.cc: Do not call prpagate_marks_here twice if the automaton was not degeneralized. * spot/twaalgos/toparity.hh: Typo in comment.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
Under that option, !(a ^ b) was converted to (!a <=> !b) instead of simply (a <=> b). * spot/tl/simplify.cc (equiv_or_xor): Improve rewriting. * tests/core/ltl2tgba2.test, tests/python/simstate.py: Adjust test cases.
-
- 29 Jul, 2020 2 commits
-
-
Alexandre Duret-Lutz authored
* spot/twaalgos/toparity.cc: Do not call prpagate_marks_here twice if the automaton was not degeneralized. * spot/twaalgos/toparity.hh: Typo in comment.
-
Alexandre Duret-Lutz authored
Fixes #403. * spot/twaalgos/cleanacc.cc (simplify_complementary_marks_here): Assume that two colors are complementary in a broad sense, i.e., on is present if (but not only if) the other is missing before applying those rewritings. Technically, this is usually not necessary, because the changes done in #418 will cause such "covering-the-full-automaton" pair of colors to be disjoint so complementary in a strict sense. It might make a difference (this is not tested) in presence of reused colors which #418 cannot remove. In any case, it's simply less code to implement the broad sense. * tests/python/toparity.py: Add test case from #403, which is reduced to two states with recent optimizations.
-
- 28 Jul, 2020 3 commits
-
-
Alexandre Duret-Lutz authored
This fixes issue #418. * spot/twa/acc.cc, spot/twa/acc.hh (acc_cond::acc_code::useless_colors_patterns): New method to detect patterns of colors allowing other colors to be added or removed at will. * spot/twaalgos/cleanacc.cc (simplify_acceptance_here): Use the above patterns to remove some useless colors from transitions and hope that this can help simplify the acceptance condition. * spot/twaalgos/degen.cc (propagate_marks_vector): Use the pattern to add more colors. * tests/core/ltl2tgba2.test: Add the test case from issue #418. * tests/core/ltl2dstar4.test, tests/core/satmin3.test, tests/core/sccdot.test, tests/core/sim3.test, tests/python/automata.ipynb, tests/python/decompose.ipynb, tests/python/merge.py, tests/python/pdegen.py, tests/python/remfin.py, tests/python/toparity.py, tests/python/tra2tba.py: Adjust all test cases. * NEWS: Mention this new feature.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* spot/twaalgos/cleanacc.cc (merge_identical_marks_here, merge_mark, included_marks): Fuse these into ... (simplify_included_marks_here): ... this new function. * NEWS: Mention the fix of issue #406.
-
- 27 Jul, 2020 1 commit
-
-
Alexandre Duret-Lutz authored
* spot/twaalgos/remfin.cc: Actually use propmarks. * tests/core/det.test, tests/core/remfin.test, tests/python/automata.ipynb, tests/python/remfin.py, tests/python/tra2tba.py: Adjust test cases.
-
- 25 Jul, 2020 1 commit
-
-
Florian Renkin authored
This fixes #406. * spot/twaalgos/cleanacc.cc: Add the simplification. * tests/core/remfin.test, tests/python/automata.ipynb, tests/python/remfin.py: Update tests. * tests/python/simplacc.py: Update and add tests.
-
- 24 Jul, 2020 3 commits
-
-
Alexandre Duret-Lutz authored
* spot/twaalgos/remfin.cc (tra_to_tba): Implement the same optimization has in the generic remove_fin transformation. * tests/python/tra2tba.py: Adjust.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
Do not clone transitions that are necessarily part of on accepting cycle in the main copy of the automaton. * spot/twaalgos/remfin.cc: Use propagate_marks_vector to ignore more edges. * tests/core/remfin.test, tests/python/remfin.py, tests/python/automata.ipynb: Adjust. * tests/sanity/style.test: Do not choke on C++17 if statements with initializer.
-
- 22 Jul, 2020 2 commits
-
-
Alexandre Duret-Lutz authored
This fixes #412. * spot/twaalgos/translate.cc: Add the quick syntactic simplification. * spot/twaalgos/relabel.cc: Do not register old unused APs. * tests/core/ltl2tgba2.test: Add test case. * tests/core/bdd.test, tests/python/automata.ipynb: Adjust. * NEWS: Mention this.
-
Alexandre Duret-Lutz authored
Under that option, !(a ^ b) was converted to (!a <=> !b) instead of simply (a <=> b). * spot/tl/simplify.cc (equiv_or_xor): Improve rewriting. * tests/core/ltl2tgba2.test, tests/python/simstate.py: Adjust test cases.
-
- 20 Jul, 2020 3 commits
-
-
Alexandre Duret-Lutz authored
Fixes #420 reported by Salomon Sickert. * bin/ltlcross.cc: Call determine_unknown_acceptance(). * spot/twaalgos/sccinfo.cc, spot/twaalgos/sccinfo.hh: Document that one_accepting_scc()==-1 can mean "don't know", and update determine_unknown_acceptance() to set one_acc_scc_. * tests/core/ltlcross3.test: Add test case. * NEWS: Mention the fixes.
-
Alexandre Duret-Lutz authored
* spot/tl/formula.hh (formula::operator bool): Mark as noexcept. * bin/common_trans.hh, bin/common_trans.cc: Use std::atomic instead of volatile.
-
Alexandre Duret-Lutz authored
Fixes #420 reported by Salomon Sickert. * bin/ltlcross.cc: Call determine_unknown_acceptance(). * spot/twaalgos/sccinfo.cc, spot/twaalgos/sccinfo.hh: Document that one_accepting_scc()==-1 can mean "don't know", and update determine_unknown_acceptance() to set one_acc_scc_. * tests/core/ltlcross3.test: Add test case. * NEWS: Mention the fixes.
-
- 17 Jul, 2020 1 commit
-
-
Alexandre Duret-Lutz authored
* spot/tl/formula.hh (formula::operator bool): Make it explicit. When compiling in C++20 mode with g++ 10.1, this bool operator was used instead of the comparison operators while looking up a std::pair<formula,formula> in a hash map, causing many test suite failures. This problem does not occur with clang++ 10.0, so it might just be a bug in g++ 10.1. But having explicit operator bool is good practice anyway.
-
- 16 Jul, 2020 2 commits
-
-
Alexandre Duret-Lutz authored
* spot/tl/formula.hh (formula::operator bool): Mark as noexcept. * bin/common_trans.hh, bin/common_trans.cc: Use std::atomic instead of volatile.
-
Alexandre Duret-Lutz authored
* configure.ac: Activate C++17, and replace --enable-c++17 by --enable-c++20. * NEWS: Mention the news. * .gitlab-ci.yml: Use C++20 for the former C++17 builds. * HACKING, README, doc/org/compile.org, doc/org/concepts.org, doc/org/index.org, doc/org/install.org, doc/org/tut.org, doc/org/upgrade2.org, spot/misc/escape.hh: Adjust mentions of C++14.
-
- 15 Jul, 2020 2 commits
-
-
Alexandre Duret-Lutz authored
* spot/twaalgos/remfin.cc: Get rid of for_each_edge since edges_of() and inner_edges_of() are now honoring the filters.
-
Alexandre Duret-Lutz authored
* spot/twaalgos/sccinfo.hh: Honor filters in edges_of() and inner_edges_of(). * tests/core/sccif.test: Adjust expected output. * NEWS: Mention the bug.
-
- 13 Jul, 2020 8 commits
-
-
Alexandre Duret-Lutz authored
Reported by Florian Renkin. * spot/twaalgos/emptiness.cc (reduce): If the automaton uses Fin acceptance, check the reduced cycle and revert to the original cycle if necessary. * tests/python/intrun.py: New file. * tests/Makefile.am: Add it. * spot/twaalgos/emptiness.hh: Improve documentation.
-
Alexandre Duret-Lutz authored
* spot/twaalgos/genem.cc: In the spot29 implementation for the generic case, when Fin(fo)=true and Fin(fo)=false have to be tested separately, the second test can be done by a loop instead of a recursion, to avoid unnecessary processing of the acceptance condition. Suggested by Jan Strejček.
-
Alexandre Duret-Lutz authored
* spot/twa/twa.hh (set_named_prop): Declare the lambda as noexcept. * spot/twaalgos/couvreurnew.cc (acss_states): Likewise.
-
Alexandre Duret-Lutz authored
* spot/twaalgos/sccinfo.hh (scc_info_options::NONE): Fix doxygen doc.
-
Alexandre Duret-Lutz authored
* spot/twa/twa.hh (set_num_sets_): Remove, and adjust all uses. This fixes #414.
-
Alexandre Duret-Lutz authored
Closes #405. This shows no difference on the test suite, but that is thanks to the previous patch: without it, an example in automata.ipynb would have an extra edge. * spot/twaalgos/cleanacc.cc (simplify_acceptance): Call unit_propagation() before simplify_complementary_marks_here() and fuse_marks_here(), because that is simpler to perform.
-
Alexandre Duret-Lutz authored
* spot/twaalgos/remfin.cc (default_strategy): Detect transitions from the main copy that are completely accepting and that do not need to be repeated in the clones. * tests/python/remfin.py: Add a test case. * tests/core/ltl2dstar4.test: Improve expected results. * NEWS: Mention the change.
-
Alexandre Duret-Lutz authored
This remove some restrictions that prevented fuse_marks_here from simplifying certain patterns, as noted in the first comment of issue #405. * spot/twaalgos/cleanacc.cc (find_interm_rec, find_fusable): Remove some unnecessary restrictions to singleton marks, and replace the hack put one non-singleton mark at the beginning of the singleton list by a sort. * tests/python/simplacc.py: Add two test cases. * tests/python/automata.ipynb, tests/core/remfin.test: Improve expected results. * NEWS: Mention the bug.
-