1. 09 Apr, 2011 4 commits
    • Alexandre Duret-Lutz's avatar
      DVE2: preliminary implementation of compressed states. · c938e652
      Alexandre Duret-Lutz authored
      * iface/dve2/dve2.cc (dve2_compressed_state): New class.
      (callback_context): Deal with general state*s, not dve2_state*s.
      (transition_callback_compress): New function.
      (dve2_kripke): Take a compress option.
      (get_init_state, compute_state_condition, succ_iter,
      format_state, state_condition): Handle compressed states.
      (get_vars, compute_state_condition_aux): New helper methods.
      * iface/dve2/dve2.hh (load_dve2): Add a compress option.
      * iface/dve2/dve2check.cc: Add a -z option.
      * iface/dve2/finite.test, iface/dve2/dve2check.test: Add more
      tests.
      c938e652
    • Alexandre Duret-Lutz's avatar
      Preliminary implementation of an int array compressor. · bc127545
      Alexandre Duret-Lutz authored
      * src/misc/intvcomp.hh: New file.
      * src/misc/Makefile.am: Add it.
      * src/tgbatest/intvcomp.cc, src/tgbatest/intvcomp.test: New files.
      * src/tgbatest/Makefile.am: Add them.
      bc127545
    • Alexandre Duret-Lutz's avatar
      Fix two spurious segfaults in test cases for the Python interface. · 9ad062b2
      Alexandre Duret-Lutz authored
      * wrap/python/tests/setxor.py, wrap/python/tests/bddnqueen.py:
      Clean all used bdd variables before calling bdd_done(), so that
      bdd_delref() is never called after bdd_done().  In NDEBUG builds,
      bdd_delref() does not check whether the BuDDy is running or not,
      and calling it after bdd_done() will crash.
      9ad062b2
    • Alexandre Duret-Lutz's avatar
      0caf51ab
  2. 06 Apr, 2011 1 commit
  3. 05 Apr, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] · 5fdfe286
      Alexandre Duret-Lutz authored
      Tag functions with attributes pure, const, or noreturn.
      
      * src/bdd.h (__purefn, __constfn, __noreturnfn): Define
      new macros.
      * src/bdd.h, src/bddio.c, src/bvec.h, src/imatrix.h: Use them
      to tag many functions as suggested by -Wsuggest-attribute=pure,
      -Wsuggest-attribute=const, -Wsuggest-attribute=noreturn.
      5fdfe286
  4. 04 Apr, 2011 2 commits
  5. 03 Apr, 2011 7 commits
  6. 31 Mar, 2011 3 commits
    • Alexandre Duret-Lutz's avatar
      Introduct a down_cast macro. · 9f63bb66
      Alexandre Duret-Lutz authored
      * src/misc/casts.hh: New file.
      * src/misc/Makefile.am: Add it.
      * iface/dve2/dve2.cc, iface/gspn/gspn.cc, iface/gspn/ssp.cc,
      src/evtgba/explicit.cc, src/evtgba/product.cc, src/misc/casts.hh,
      src/tgba/state.hh, src/tgba/statebdd.cc, src/tgba/taatgba.cc,
      src/tgba/taatgba.hh, src/tgba/tgbabddconcrete.cc,
      src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh,
      src/tgba/tgbakvcomplement.cc, src/tgba/tgbaproduct.cc,
      src/tgba/tgbasafracomplement.cc, src/tgba/tgbasgba.cc,
      src/tgba/tgbatba.cc, src/tgba/tgbaunion.cc, src/tgba/wdbacomp.cc,
      src/tgbaalgos/ndfs_result.hxx, src/tgbaalgos/reductgba_sim.cc,
      src/tgbaalgos/reductgba_sim_del.cc: Use down_cast when
      appropriate.
      9f63bb66
    • Alexandre Duret-Lutz's avatar
      Cosmetics. · 12783ff7
      Alexandre Duret-Lutz authored
      * src/sanity/style.test: Catch some binary operators not
      delimited with spaces.
      * src/tgbaalgos/bfssteps.cc, src/tgbaalgos/magic.cc,
      src/tgbaalgos/reducerun.cc, src/tgbaalgos/se05.cc,
      src/tgbaalgos/tau03.cc, src/tgbaalgos/tau03opt.cc: Fix these.
      12783ff7
    • Alexandre Duret-Lutz's avatar
      Make state_explicit instances persistent objects. · 36f7c648
      Alexandre Duret-Lutz authored
      * src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh: Merge
      state_explicit and tgba_explicit::state.  In the past,
      state_explicit was a small object encapsulating a pointer to the
      persistent tgba_explicit::state; and we used to clone() and
      destroy() a lot of state_explicit instance.  Now state_explicit is
      persistent, and clone() and destroy() have no effects.
      * src/tgba/tgbareduce.cc: Adjust, since this inherits from
      tgbaexplicit and uses the internals of state_explicit.
      * src/tgbatest/reductgba.cc: Fix deletion order for automata.
      * src/tgba/tgba.hh (last_support_conditions_input_,
      last_support_variables_input_): Make these protected, so
      they can be zeroed by tgba_explicit.
      36f7c648
  7. 30 Mar, 2011 5 commits
  8. 29 Mar, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Include <cstddef> in python modules to workaround Swig bug. · 35a01937
      Alexandre Duret-Lutz authored
      * wrap/python/spot.i, wrap/python/buddy.i: Include <cstddef>
      because Swig 2.0.2 uses ptrdiff_t and does not do the include
      itself.  In g++ most libstdc++ standard headers have been changed
      to no longer include <cstddef> as an implementation detail, so
      the difference shows.
      35a01937
  9. 21 Mar, 2011 2 commits
  10. 17 Mar, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Improve a reduction rule for "a M b". · 1878bfd0
      Alexandre Duret-Lutz authored
      * src/ltlvisit/reduce.cc (reduce_visitor): Always reduce "a M b"
      to "a & b" if "a" is a pure eventual formula, remove the
      constraint on "b".
      * src/ltltest/reduccmp.test: Add two tests.
      1878bfd0
  11. 11 Mar, 2011 1 commit
  12. 10 Mar, 2011 2 commits
    • Alexandre Duret-Lutz's avatar
      Add support for finite behaviors in the DVE interface. · cb83e855
      Alexandre Duret-Lutz authored
      * iface/dve2/dve2.hh (load_dve2): Take a "dead" argument.
      * iface/dve2/dve2.cc (callback_context): Add a destructor
      to simplify...
      (dve2_succ_iterator::~dve2_succ_iterator) ... this one.
      (convert_aps): Skip the dead proposition.
      (dve2_kripke::dve2_kripke): Take a dead argument, and
      setup alive_prop and dead_prop.
      (compute_state_condition, get_succ): Use a cache for the
      conditions and successor of the last state, to share
      some work between these two function.  Add loops on dead
      states.
      (load_dve2): Pass dead to dve2_kripke and convert_aps.
      * iface/dve2/dve2check.cc: Add a -dDEAD option.
      * iface/dve2/finite.test, iface/dve2/finite.dve: New file.
      * iface/dve2/Makefile.am: Declare them.
      cb83e855
    • Alexandre Duret-Lutz's avatar
      * iface/dve2/dve2.cc (convert_aps): Fix two typos while · ef976c93
      Alexandre Duret-Lutz authored
      parsing >= and >, mistakenly registered as <= and <.
      ef976c93
  13. 07 Mar, 2011 9 commits
  14. 06 Mar, 2011 1 commit