- 02 May, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
* src/misc/intvcmp2.cc, src/misc/intvcmp2.hh: New files. * src/misc/Makefile.am: Add them. * src/tgbatest/intvcmp2.cc: New test. * src/tgbatest/Makefile.am: Add it. * src/tgbatest/intvcomp.test: Call it.
-
- 30 Apr, 2011 3 commits
-
-
Alexandre Duret-Lutz authored
This avoids a library call to bdd_addref or bdd_delref. * src/kernel.c (bdd_delref_nc, bdd_addref_nc): New function, that work only on BDD that are not constant. * src/cpext.cxx (bdd::operator=): Move... * src/bdd.hh (bdd::operator=): ... here. (bdd::bdd, bdd::~bdd, bdd::operator=): Inline the "is bdd constant" check and call bdd_delref_nc/bdd_addref_nc only otherwise.
-
Alexandre Duret-Lutz authored
* src/bdd.h (__likely, __unlikely): Introduce these two macros. * src/bddop.c, src/kerner.c: Use them in many situations.
-
Alexandre Duret-Lutz authored
-
- 15 Apr, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
-
- 13 Apr, 2011 1 commit
-
-
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.
-
- 12 Apr, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
* src/misc/intvcomp.cc, src/misc/intvcomp.cc: Add interfaces to compress vector<int> to vector<unsigned>. * src/tgbatest/intvcomp.cc: Test them. * src/sanity/style.test: Refine check to avoid a spurious report.
-
- 11 Apr, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
-
- 10 Apr, 2011 5 commits
-
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* configure.ac: Do not add CXXFLAGS and CFLAGS in ac_configure_args, it causes problem when using config.cache. Instead ... * m4/devel.m4: Add --enable-devel or --disable-devel on ac_configure_args, now that BuDDy understands that.
-
Alexandre Duret-Lutz authored
Fix some warnings reported by gcc. * buddy/src/kernel.c (errorstrings): Mark these as const. * buddy/src/reorder.c (reorder_gbc): Fix prototype. (siftTestCmp): Add missing const in cast. (bdd_reorder_auto): Actually call bdd_reorder_ready().
-
Alexandre Duret-Lutz authored
Add support for --enable-devel and similar macros. * m4/debug.m4: Rename to ... * m4/bdebug.m4: ... this. * m4/debug.m4, m4/devel.m4, m4/gccoptim.m4, m4/ndebug.m4: New file. * m4/gccwarns.m4: Fix usage of cache variable. Fix shell syntax. Do not check for -Waggregate-return. Update CFLAGS. * configure.ac: Adjust to handle --enable-devel and similar macros in the same way as Spot.
-
Alexandre Duret-Lutz authored
* src/misc/intvcomp.hh: Likewise.
-
- 09 Apr, 2011 8 commits
-
-
Alexandre Duret-Lutz authored
* src/misc/intvcomp.hh: Move all code... * src/misc/intvcomp.cc: ... in this new file. * src/misc/Makefile.am: Add invcomp.cc
-
Alexandre Duret-Lutz authored
* iface/dve2/dve2.cc: Adjust to use the new mspool allocator, and get rid of the std::vector used to store compressed states. * src/misc/intvcomp.hh: Add an "int* -> int*" interface in addition to the "int* -> vector<unsigned>*" interface. * src/tgbatest/intvcomp.cc: Test the two interfaces.
-
Alexandre Duret-Lutz authored
* src/misc/mspool.hh: New file. * src/misc/Makefile.am: Add it.
-
Alexandre Duret-Lutz authored
-
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.
-
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.
-
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.
-
Alexandre Duret-Lutz authored
-
- 06 Apr, 2011 1 commit
-
-
Alexandre Duret-Lutz authored
during emptiness check or counterexample generation.
-
- 05 Apr, 2011 1 commit
-
-
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.
-
- 04 Apr, 2011 2 commits
-
-
Alexandre Duret-Lutz authored
Remove more sanity checks when NDEBUG is set. * src/kernel.h (CHECKnc): New macro. * src/kernel.c (bdd_var, bdd_low, bdd_high, bdd_ithvar, bdd_nithvar): Use it.
-
Alexandre Duret-Lutz authored
a fixed-size memory pool for product_state instances.
-
- 03 Apr, 2011 7 commits
-
-
Alexandre Duret-Lutz authored
instances and their variables.
-
Alexandre Duret-Lutz authored
* src/misc/fixpool.hh: New file. * src/misc/Makefile.am (misc_HEADERS): Add fixpool.hh.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
* src/kernel.h (CHECK, CHECKa, CHECKn): Disable if NDEBUG is set.
-
Alexandre Duret-Lutz authored
Fix declaration of bddproduced. * src/reorder.c (bddproduced): Declare a longint, to match the definition in kerner.c.
-
Alexandre Duret-Lutz authored
settings to sub configure.
-
Alexandre Duret-Lutz authored
* buddy/src/kernel.c (bdd_addref, bdd_delref): Disable sanity checks when compiled with NDEBUG.
-
- 31 Mar, 2011 3 commits
-
-
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.
-
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.
-
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.
-
- 30 Mar, 2011 5 commits
-
-
Alexandre Duret-Lutz authored
* src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh (format_state): Remove this useless copy of the tgba_explicit_string::format_state method.
-
Alexandre Duret-Lutz authored
Client code should always call the destroy() method instead. (It was introduced in Spot 0.7.) * src/tgba/state.hh (state::~state): Make it protected.
-
Alexandre Duret-Lutz authored
The gain is not very impressive. The runtime of the first example in iface/dve2/README (also in dve2check.test) is 15% faster. * src/tgba/tgbaproduct.hh (tgba_succ_iterator_product): Move ... * src/tgba/tgbaproduct.cc (tgba_succ_iterator_product, tgba_succ_iterator_product_common): ... in these two classes. (tgba_succ_iterator_product_kripke): New class to speedup successor computation on Kripke structures. We can assume that all the transitions leaving the same state have the same label. (tgba_product::tgba_product, tgba_product::succ_iter): Use tgba_succ_iterator_product_kripke when appropriate. (tgba_product_init::tgba_product_init): Adjust for the case where tgba_product did reverse its operands.
-
Alexandre Duret-Lutz authored
-
Alexandre Duret-Lutz authored
-