Commit graph

4410 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
5841af026a sccinfo: simplify initial code
* spot/twaalgos/sccinfo.cc: We do not need to care
about 0 states anymore.
2016-11-30 14:26:30 +01:00
Alexandre Duret-Lutz
5ca1281e36 tests: speed up recuc.test and reducpsl.test
... by calling valgrind less often.

* tests/core/reduc.test, tests/core/reducpsl.test: Call
valgrind only on 1 of the 12 calls to randltl, and
2 of the 7 calls to reduc.
2016-11-29 15:54:08 +01:00
Alexandre Duret-Lutz
7e5b336f16 tests: divide the run time of parse.test by 20
* tests/core/readltl.cc: Process many formulas from a
file instead of one arg at a time.
* tests/core/parse.test, tests/core/parseerr.test, tests/core/utf8.test:
Adjust to supply a file as input.
2016-11-29 14:46:23 +01:00
Alexandre Duret-Lutz
ad51525608 tests: divide the run time of tostring.test by 40
* tests/core/tostring.test: Move all the input formulas into...
* tests/core/tostring.cc: ... the code, and do the loop there.
2016-11-29 14:46:22 +01:00
Maximilien Colange
b3ee68310f Automata with no state are no longer allowed.
* 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.
2016-11-29 10:34:03 +01:00
Alexandre Duret-Lutz
da6fc955a3 debian: add lintian-overrides for the Doxygen doc
* debian/source/lintian-overrides: New file.
* Makefile.am: Add it.
2016-11-29 08:14:14 +01:00
Alexandre Duret-Lutz
51a683c23f debian: depend on libjs-jquery
This fix some lintian issues.

* debian/control: Add dependency.
* debian/rules: Fix the generated html page to use the local jquery.
2016-11-28 18:17:48 +01:00
Alexandre Duret-Lutz
b1f9081761 ltsmin: use any installed libltdl
This should solve issue with the Debian package.

* spot/ltsmin/Makefile.am: Use the LTDLINC, LTDLDEPS and LIBLTDL as
documented.
* NEWS: Mention the fix.
2016-11-28 18:17:48 +01:00
Alexandre Duret-Lutz
341eeb2ba1 strength: fix is_terminal()
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.
2016-11-28 18:03:30 +01:00
Alexandre Duret-Lutz
9bc978a90f strength: fix is_terminal()
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.
2016-11-28 18:02:28 +01:00
Maximilien Colange
2fbc75f439 New macro to downcast shared pointers.
* spot/misc/casts.hh: Add a macro down_pointer_cast.
2016-11-28 14:51:55 +01:00
Maximilien Colange
5952392494 Use the [[deprecated]] standard attribute when possible.
* spot/misc/common.hh: Change SPOT_DEPRECATED definition.
2016-11-25 13:53:36 +01:00
Alexandre Duret-Lutz
22292e6058 sanity: do not check source files in *.dir/*
Because gal2c generates some C++ sources that do not match our coding
convention and should not be checked.

* tests/sanity/80columns.test, tests/sanity/style.test: Do not test
files in tests' work directories.
2016-11-24 20:48:28 +01:00
Alexandre Duret-Lutz
1afb76a630 split ltsmin/check.test in three files
Fixes #195.

* tests/ltsmin/check.test: Extract the spins and gal checks
and move them to...
* tests/ltsmin/check2.test, tests/ltsmin/check3.test: ... these files.
* tests/Makefile.am: Adjust.
2016-11-24 11:36:26 +01:00
Alexandre Duret-Lutz
f868e0cea6 scc_filter: remove left-over print
Reported by František Blahoudek.

* spot/twaalgos/sccfilter.cc: Remove extra print statement.
* NEWS: Mention it.
2016-11-24 11:00:40 +01:00
Alexandre Duret-Lutz
e1d0c07d4b * NEWS, configure.ac: Bump version number. 2016-11-24 11:00:30 +01:00
Alexandre Duret-Lutz
dc4a477172 lts-min: fix loading of spins models
This fixes c9aabcdd.

* spot/ltsmin/ltsmin.cc: Update the extension after compiling
the model.  Do not duplicate the symbol lookups for DVE and gal2C.
Also, improve error reporting in case of missing symbol.
* tests/ltsmin/check.test: Remove stray character.
2016-11-24 10:44:11 +01:00
Alexandre Duret-Lutz
e2b0b9d989 scc_filter: remove left-over print
Reported by František Blahoudek.

* spot/twaalgos/sccfilter.cc: Remove extra print statement.
* NEWS: Mention it.
2016-11-24 07:31:32 +01:00
Maximilien Colange
fd2f79200f Improve error messages when loading compiled models.
* spot/ltsmin/ltsmin.cc: Improve error messages.
2016-11-23 11:03:30 +01:00
Maximilien Colange
c9aabcddab Add support to load GAL models.
* spot/ltsmin/ltsmin.cc: Handle GAL models.
* tests/Makefile.am: Test the new feature.
* tests/ltsmin/check.test: Also check GAL.
* tests/ltsmin/beem-peterson.4.gal: A new GAL model for tests.
* tests/ltsmin/finite.gal: A new GAL model for tests.
* tests/ltsmin/finite3.test: A new test for GAL.
2016-11-23 11:03:30 +01:00
Etienne Renault
ec83e60bb9 bitvec: remove useless methods
* spot/misc/bitvect.hh, tests/core/bitvect.cc,
tests/core/bitvect.test: here.
2016-11-23 09:39:58 +01:00
Etienne Renault
43ec36cda7 Prefer emplace_back to push_back
* 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.
2016-11-23 09:39:58 +01:00
Alexandre Duret-Lutz
ef214b2c42 * NEWS, configure.ac: Bump version number. 2016-11-21 11:09:51 +01:00
Alexandre Duret-Lutz
9cf8535578 Release Spot 2.2.1
* NEWS, configure.ac, doc/org/setup.org: Update.
2016-11-21 09:00:51 +01:00
Alexandre Duret-Lutz
4e1c8dfd74 add test-case for bdd_noderesize
* tests/core/ltl2tgba.test: Add new test-case,
reported by Tomáš Babiak.
* NEWS: Mention the bug fixed by previous patch.
2016-11-19 16:46:14 +01:00
Alexandre Duret-Lutz
38c4fc8812 [buddy] fix bdd_noderesize
* src/kernel.c: Fix error introduced by 5a862295.
Report from Tomáš Babiak.
2016-11-19 16:46:10 +01:00
Alexandre Duret-Lutz
88a8a3efbe * NEWS: Typo. 2016-11-14 20:39:35 +01:00
Alexandre Duret-Lutz
5376466f43 * configure.ac, NEWS: Bump version number. 2016-11-14 10:15:38 +01:00
Alexandre Duret-Lutz
dd960dc71c Release Spot 2.2
* configure.ac, doc/org/setup.org, NEWS: Set version number.
2016-11-14 06:02:13 +01:00
Alexandre Duret-Lutz
4bd04fc65c * doc/org/oaut.org: Shorten a long line. 2016-11-13 21:58:37 +01:00
Alexandre Duret-Lutz
e91073a9f1 org: document %r and %R
* doc/org/oaut.org (Timing): New section.
* NEWS: Link to it.
2016-11-13 14:30:12 +01:00
Alexandre Duret-Lutz
c225747749 twa: introduce intersects() and friends
* spot/twa/twa.hh, spot/twa/twa.cc (intersects, intersecting_run,
intersecting_word): New functions.
* NEWS: Mention them.
* doc/org/tut51.org, tests/python/bugdet.py: Use them.
2016-11-13 11:23:12 +01:00
Alexandre Duret-Lutz
bdad288c70 * spot/twa/twa.hh: Typos. 2016-11-13 09:36:06 +01:00
Alexandre Duret-Lutz
937011692c * NEWS: Update for upcoming release. 2016-11-12 10:10:50 +01:00
Alexandre Duret-Lutz
dce83a649b improve doc for purge_unreachable_states and purge_dead_states
* spot/twa/twagraph.hh: Here.
2016-11-11 15:38:25 +01:00
Alexandre Duret-Lutz
ee85cf7759 * tests/python/ipnbdoctest.py: Ignore more SVG differences. 2016-11-11 15:27:36 +01:00
Alexandre Duret-Lutz
85f6e0e158 scc_filter: preserve state names and highlighted states
Suggested by Juraj Major.

* spot/twaalgos/sccfilter.cc: Here.
* tests/python/sccfilter.py: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention the news.
2016-11-11 15:21:17 +01:00
Alexandre Duret-Lutz
dd706d7847 twa: do not set prop_state_acc in set_acceptance
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.
2016-11-11 15:20:56 +01:00
Alexandre Duret-Lutz
a70589fe13 remfin: fix handling of weak automata
* 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.
2016-11-11 14:10:24 +01:00
Alexandre Duret-Lutz
49266dee7f parseaut: do not close fd or stdin
* 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.
2016-11-11 14:10:03 +01:00
Alexandre Duret-Lutz
a0956d25b6 tests: do not hide stderr in ipnbdoctest
* tests/python/ipnbdoctest.py: here.
2016-11-10 23:18:57 +01:00
Alexandre Duret-Lutz
0ac14e9ca2 [buddy] avoid costly calls to setjmp() when BDD_REORDER_NONE
* src/reorder.c, src/kernel.h: Expose bddreordermethod.
* src/bddop.c: Test bddreordermethod before ever calling setjmp().
2016-11-09 14:52:04 +01:00
Alexandre Duret-Lutz
2e6297c26a ltl2tgba_fm: simplify three bdd operations
* spot/twaalgos/ltl2tgba_fm.cc: Replace bdd_exists(a & b, c) by
bdd_appex(a, b, bddop_and, c).
2016-11-09 10:29:00 +01:00
Alexandre Duret-Lutz
84b16aa6bd [buddy] consolidate shortcuts for binary operation
* src/bddop.c (apply_rec, appquant_rec): Define missing shortcuts
for bddop_less, bddop_diff, bddop_revimpl and define them once.
2016-11-09 10:29:00 +01:00
Alexandre Duret-Lutz
75c33defb3 attempt to mitigate our Debian build failures
* tests/Makefile.am: Run Python tests before other tests.
* tests/python/ipnbdoctest.py: Add some debug.
2016-11-09 05:55:02 +01:00
Alexandre Duret-Lutz
5a862295d3 [buddy] improve initialization of bddnode
* src/kernel.c, src/kernel.h: Here.
2016-11-08 19:03:08 +01:00
Alexandre Duret-Lutz
278b41f4bb ltldo: rename %R as %#
Fixes #189.

* bin/ltldo.cc: Here.
* tests/core/ltldo.test: Adjust and add test-case for %R.
* NEWS: Mention the change.
2016-11-08 18:58:04 +01:00
Alexandre Duret-Lutz
600b1f7e5c bin: adjust %R to work with Mingw
For #189.

* bin/common_aoutput.cc: Do not call sysconf(_SC_CLK_TCK) if that is not
defined.  Also fix the help string, and simplify some conditions.
2016-11-08 18:58:04 +01:00
Alexandre GBAGUIDI AISSE
6ed380709d spot: Add %R, %[..]R common option.
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.
2016-11-08 18:57:50 +01:00
Alexandre Duret-Lutz
3eafbc823c debian: update build-depends for new Jupyter version
Debian unstable now has Jupyter, but since it moved away from ipython3,
the packages now have different names.

* debian/control: Here.
2016-11-06 09:59:23 +01:00