1. 28 Aug, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Improve SCC simplification by removing implied acceptance conditions. · d9fc75e9
      Alexandre Duret-Lutz authored
      Spot 0.7.1 used to need 190 acceptance conditions to translate the
      188 literature formulae.  With this patch we are down to 185.
      That's not an impressive, but there are only ~20 formulae that
      require more than 1 acceptance conditions; hence little room for
      improvement.
      
      * src/misc/bddlt.hh (bdd_hash): New function.
      * src/misc/accconv.hh, src/misc/accconv.cc: New files.
      * src/misc/Makefile.am: Add them.
      * src/tgbaalgos/scc.cc (scc_map::build_map): Adjust
      to record all combination of acceptance conditions occurring in a SCC.
      * src/tgbaalgos/scc.hh (scc_map::scc::useful_acc): Update description.
      * src/tgbaalgos/sccfilter.cc (scc_filter): Simplify acceptance
      conditions that are always implied by another acceptance
      conditions.  Previously, we only removed acceptance conditions
      that where always present in accepting SCCs.
      * src/tgbatest/sccsimpl.test: New file.
      * src/tgbatest/Makefile.am (TESTS): Add it.
      d9fc75e9
  2. 26 Aug, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Refine yesterday's change to the degeneralization. · 9d232af8
      Alexandre Duret-Lutz authored
      This avoids a small regression on the size of degeneralized
      automata of our usual list of literature formulae.
      
      * src/tgba/tgbatba.hh, src/tgba/tgbatba.cc
      (tgba_tba_proxy::union_acceptance_conditions_of_original_state):
      New method.
      * src/tgba/tgbatba.cc (tgba_tba_proxy_succ_iterator): In accepting
      states, ignore only the last expected acceptance condition if its
      common to all outgoing transitions AND if it is not used by any
      outgoing transitions of the destination.
      9d232af8
  3. 25 Aug, 2011 3 commits
    • Alexandre Duret-Lutz's avatar
      Make sure the degeneralization is idempotent (up to renaming of · bc416fdb
      Alexandre Duret-Lutz authored
      states).
      
      * src/tgbaalgos/tgbatba.cc: When degeneralizing to SBA, remove the
      acceptance conditions that are common to all outgoing transitions
      of this state.  This helps to make the degeneralization
      idempotent.
      * src/tgbatest/degenid.test: New test case.
      * src/tgbatest/Makefile.am: Add it.
      bc416fdb
    • Alexandre Duret-Lutz's avatar
      Fix escaping of state name in save_reachable()'s output. · bf7b94e1
      Alexandre Duret-Lutz authored
      * src/tgbaalgos/save.c (process_state): Escape quotes in the
      name of source and destination states.  This fixes a side bug
      in the upcoming degenid.test test case.
      bf7b94e1
    • Alexandre Duret-Lutz's avatar
      Running `ltl2tgba -R1q -R1t -N` would degeneralize before and · d8ba172e
      Alexandre Duret-Lutz authored
      after the simulation-reduction.
      
      Report from Tomáš Babiak <xbabiak@fi.muni.cz>.
      
      * src/tgbaalgos/neverclaim.hh (never_claim_reachable): Take
      a tgba as input.
      * src/tgbaalgos/neverclaim.cc (never_claim_bfs): Call
      state_is_accepting() only if this tgba turns out to be
      a tgba_sba_proxy.  Otherwise check the acceptance of one
      outgoing transition as we do in dotty_bfs since 2011-03-05.
      * src/tgbatest/ltl2tgba.cc: Do not redegeneralize before
      calling never_claim_reachable() if we know the automaton is
      degeneralized already.
      * src/tgbatest/ltl2tgba.test: Add a test case.
      d8ba172e
  4. 17 Aug, 2011 3 commits
  5. 16 Jun, 2011 1 commit
  6. 08 Jun, 2011 1 commit
  7. 07 Jun, 2011 1 commit
  8. 06 Jun, 2011 6 commits
  9. 18 May, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Some intvcomp2 speedups. · 290b825a
      Alexandre Duret-Lutz authored
      * src/misc/intvcmp2.cc (stream_compression_base::run):
      Implement a shift-less encoding for the 1-bit and 3-bit cases.
      Also declare offsets as size_t, to help 64-bit compilers.
      290b825a
  10. 16 May, 2011 1 commit
  11. 05 May, 2011 2 commits
  12. 02 May, 2011 1 commit
  13. 15 Apr, 2011 1 commit
  14. 13 Apr, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      Fix compression of large repetitions · 445a785e
      Alexandre Duret-Lutz authored
      * src/misc/intvcomp.cc (stream_compression_base::run): Limit
      repeatitions to 40, not 42.
      (stream_decompression_base::refill): Refill the end of the stream
      with 0.
      (stream_decompression_base::look_n_bits): Add assertion.
      * src/tgbatest/intvcomp.cc: Add a new test case.
      445a785e
  15. 12 Apr, 2011 1 commit
  16. 10 Apr, 2011 2 commits
  17. 09 Apr, 2011 6 commits
  18. 04 Apr, 2011 1 commit
  19. 03 Apr, 2011 1 commit
  20. 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
  21. 30 Mar, 2011 2 commits