1. 28 Oct, 2019 1 commit
  2. 17 Jul, 2019 1 commit
    • Alexandre Duret-Lutz's avatar
      forbid the use of std::endl on std::cerr · 09c93a3a
      Alexandre Duret-Lutz authored
      std::cerr will flush after each operator<< by default, so it's simpler
      to use \n instead of std::endl, especially if we can merge \n into the
      previous string.  Ideally we should prefer \n for std::cout as well,
      but there are reasonable cases where we want to call std::endl there,
      so it's hard to enforce.
      
      * tests/sanity/style.test: Diagnose occurrences of cerr.*<<.*endl.
      * bin/autcross.cc, bin/autfilt.cc, bin/ltlcross.cc, bin/ltlsynt.cc,
      spot/tl/formula.cc, spot/twa/bdddict.cc, 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/ltlrel.cc, tests/core/parity.cc,
      tests/core/randtgba.cc, tests/core/reduc.cc, tests/core/syntimpl.cc,
      tests/ltsmin/modelcheck.cc: Fix them.
      09c93a3a
  3. 12 Jun, 2019 1 commit
  4. 25 May, 2018 1 commit
  5. 22 May, 2018 1 commit
  6. 21 Feb, 2018 1 commit
    • Alexandre Duret-Lutz's avatar
      include config.h in all *.cc files · ac6b0c94
      Alexandre Duret-Lutz authored
      This helps working around missing C functions like strcasecmp that do
      not exist everywhere (e.g. on Cygwin), and for which lib/ supplies a
      replacement.  Unfortunately we do not have such build in our current
      continuous integration suite, so we cannot easily detect files where
      such config.h inclusion would be useful.  Therefore this patch simply
      makes it mandatory to include config.h in *.cc files.  Including this
      in public *.hh file is currently forbidden.
      
      * spot/gen/automata.cc, spot/gen/formulas.cc,
      spot/kripke/fairkripke.cc, spot/kripke/kripke.cc,
      spot/ltsmin/ltsmin.cc, spot/misc/game.cc, spot/parseaut/fmterror.cc,
      spot/parsetl/fmterror.cc, spot/parsetl/parsetl.yy,
      spot/priv/bddalloc.cc, spot/priv/freelist.cc, spot/priv/satcommon.cc,
      spot/priv/trim.cc, spot/priv/weight.cc, spot/ta/ta.cc,
      spot/ta/taexplicit.cc, spot/ta/taproduct.cc, spot/ta/tgtaexplicit.cc,
      spot/ta/tgtaproduct.cc, spot/taalgos/dot.cc,
      spot/taalgos/emptinessta.cc, spot/taalgos/minimize.cc,
      spot/taalgos/reachiter.cc, spot/taalgos/statessetbuilder.cc,
      spot/taalgos/stats.cc, spot/taalgos/tgba2ta.cc, spot/tl/apcollect.cc,
      spot/tl/contain.cc, spot/tl/declenv.cc, spot/tl/defaultenv.cc,
      spot/tl/dot.cc, spot/tl/exclusive.cc, spot/tl/hierarchy.cc,
      spot/tl/length.cc, spot/tl/ltlf.cc, spot/tl/mark.cc,
      spot/tl/mutation.cc, spot/tl/nenoform.cc, spot/tl/print.cc,
      spot/tl/randomltl.cc, spot/tl/relabel.cc, spot/tl/remove_x.cc,
      spot/tl/simplify.cc, spot/tl/snf.cc, spot/tl/unabbrev.cc,
      spot/twa/acc.cc, spot/twa/bdddict.cc, spot/twa/bddprint.cc,
      spot/twa/formula2bdd.cc, spot/twa/taatgba.cc, spot/twa/twa.cc,
      spot/twa/twagraph.cc, spot/twa/twaproduct.cc, spot/twaalgos/aiger.cc,
      spot/twaalgos/alternation.cc, spot/twaalgos/are_isomorphic.cc,
      spot/twaalgos/bfssteps.cc, spot/twaalgos/canonicalize.cc,
      spot/twaalgos/cleanacc.cc, spot/twaalgos/cobuchi.cc,
      spot/twaalgos/complement.cc, spot/twaalgos/complete.cc,
      spot/twaalgos/compsusp.cc, spot/twaalgos/couvreurnew.cc,
      spot/twaalgos/cycles.cc, spot/twaalgos/degen.cc,
      spot/twaalgos/determinize.cc, spot/twaalgos/dot.cc,
      spot/twaalgos/dtbasat.cc, spot/twaalgos/dtwasat.cc,
      spot/twaalgos/dualize.cc, spot/twaalgos/emptiness.cc,
      spot/twaalgos/gtec/ce.cc, spot/twaalgos/gtec/gtec.cc,
      spot/twaalgos/gtec/sccstack.cc, spot/twaalgos/gtec/status.cc,
      spot/twaalgos/gv04.cc, spot/twaalgos/hoa.cc,
      spot/twaalgos/iscolored.cc, spot/twaalgos/isdet.cc,
      spot/twaalgos/isunamb.cc, spot/twaalgos/isweakscc.cc,
      spot/twaalgos/langmap.cc, spot/twaalgos/lbtt.cc,
      spot/twaalgos/ltl2taa.cc, spot/twaalgos/ltl2tgba_fm.cc,
      spot/twaalgos/magic.cc, spot/twaalgos/mask.cc,
      spot/twaalgos/minimize.cc, spot/twaalgos/neverclaim.cc,
      spot/twaalgos/parity.cc, spot/twaalgos/postproc.cc,
      spot/twaalgos/powerset.cc, spot/twaalgos/product.cc,
      spot/twaalgos/rabin2parity.cc, spot/twaalgos/randomgraph.cc,
      spot/twaalgos/randomize.cc, spot/twaalgos/reachiter.cc,
      spot/twaalgos/relabel.cc, spot/twaalgos/remfin.cc,
      spot/twaalgos/remprop.cc, spot/twaalgos/sbacc.cc,
      spot/twaalgos/sccfilter.cc, spot/twaalgos/sccinfo.cc,
      spot/twaalgos/se05.cc, spot/twaalgos/sepsets.cc,
      spot/twaalgos/simulation.cc, spot/twaalgos/split.cc,
      spot/twaalgos/stats.cc, spot/twaalgos/strength.cc,
      spot/twaalgos/stripacc.cc, spot/twaalgos/stutter.cc,
      spot/twaalgos/sum.cc, spot/twaalgos/tau03.cc,
      spot/twaalgos/tau03opt.cc, spot/twaalgos/totgba.cc,
      spot/twaalgos/toweak.cc, spot/twaalgos/translate.cc,
      spot/twaalgos/word.cc, tests/core/acc.cc, tests/core/bitvect.cc,
      tests/core/checkpsl.cc, tests/core/checkta.cc, tests/core/consterm.cc,
      tests/core/emptchk.cc, tests/core/equalsf.cc, tests/core/graph.cc,
      tests/core/ikwiad.cc, tests/core/intvcmp2.cc, tests/core/intvcomp.cc,
      tests/core/kind.cc, tests/core/kripkecat.cc, tests/core/length.cc,
      tests/core/ltlrel.cc, tests/core/ngraph.cc, tests/core/parity.cc,
      tests/core/randtgba.cc, tests/core/readltl.cc, tests/core/reduc.cc,
      tests/core/safra.cc, tests/core/sccif.cc, tests/core/syntimpl.cc,
      tests/core/taatgba.cc, tests/core/tostring.cc, tests/core/trival.cc,
      tests/core/twagraph.cc, tests/ltsmin/modelcheck.cc,
      spot/parseaut/scanaut.ll, spot/parsetl/scantl.ll: Include config.h.
      * spot/gen/Makefile.am, spot/graph/Makefile.am,
      spot/kripke/Makefile.am, spot/ltsmin/Makefile.am,
      spot/parseaut/Makefile.am, spot/parsetl/Makefile.am,
      spot/priv/Makefile.am, spot/ta/Makefile.am, spot/taalgos/Makefile.am,
      spot/tl/Makefile.am, spot/twa/Makefile.am, spot/twaalgos/Makefile.am,
      spot/twaalgos/gtec/Makefile.am, tests/Makefile.am: Add the -I lib/
      flags.
      * tests/sanity/includes.test: Catch missing config.h in *.cc, and
      diagnose config.h in *.hh.
      * tests/sanity/style.test: Better diagnostics.
      ac6b0c94
  7. 25 Sep, 2017 5 commits
    • Laurent XU's avatar
      parity: add spot::parity_product_or() · 7a118426
      Laurent XU authored
      parity_product_or constructs the sum of two parity automata and it keeps
      the parity.
      
      * spot/twaalgos/parity.cc, spot/twaalgos/parity.hh: Here.
      * tests/core/parity.cc: Add tests here.
      7a118426
    • Laurent XU's avatar
      parity: add spot::parity_product() · b92320cc
      Laurent XU authored
      Compute the synchronized product of two parity automata, this product
      keeps the parity acceptance.
      
      * spot/twaalgos/parity.cc, spot/twaalgos/parity.hh: Here
      * tests/core/parity.cc: Add tests for spot::parity_product()
      b92320cc
    • Laurent XU's avatar
      parity: add spot::cleanup_parity_acceptance() · 3e650f18
      Laurent XU authored
      Merge the acceptance sets of a parity acceptance with the same priority
      level to simplify this acceptance.
      
      * spot/twaalgos/parity.cc, spot/twaalgos/parity.hh: Here
      * tests/core/parity.cc: Add tests for spot::cleanup_parity_acceptance()
      3e650f18
    • Laurent XU's avatar
      parity: add spot::colorize_parity() · 0bf0a99d
      Laurent XU authored
      These functions colorize automata with parity acceptance. They output
      parity automata.
      
      * spot/twaalgos/parity.cc, spot/twaalgos/parity.hh: Here
      * tests/core/parity.cc: Add tests for spot::colorize_parity()
      * tests/python/parity.ipynb: Add documentation about
      spot::colorize_parity()
      0bf0a99d
    • Laurent XU's avatar
      parity: add spot::change_parity() · 27982fb8
      Laurent XU authored
      This function changes the parity acceptance of an automaton.
      
      * spot/twaalgos/parity.cc, spot/twaalgos/parity.hh: Here
      * python/spot/impl.i: Add spot/twaalgos/parity.hh
      * spot/twaalgos/Makefile.am: Add spot/twaalgos/parity.{cc,hh}
      * tests/core/parity.cc, tests/core/parity.test: Add
      spot::change_parity() tests
      * tests/python/parity.ipynb: Add documentation about
      spot::change_parity()
      * tests/Makefile.am: Add tests/core/parity.{cc,hh} and
      tests/python/parity.ipynb
      * doc/org/tut.org: Add the html page of tests/python/parity.ipynb
      27982fb8