1. 30 Oct, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      buddy: rename libbdd to libbddx · ad8d2422
      Alexandre Duret-Lutz authored
      * buddy/src/bdd.h, buddy/src/bvec.h, buddy/src/fdd.h: Rename as...
      * buddy/src/bddx.h, buddy/src/bvecx.h, buddy/src/fddx.h: ... these.
      * buddy/src/Makefile.am: Build libbddx.la instead of libbdd.la.
      * buddy/examples/Makefile.def: Use it.
      * Makefile.am, buddy/src/bddtest.cxx, buddy/src/bvec.c,
      buddy/src/cppext.cxx, buddy/src/fdd.c, buddy/src/imatrix.h,
      buddy/src/kernel.h, buddy/examples/adder/adder.cxx,
      buddy/examples/bddcalc/parser_.h, buddy/examples/bddtest/bddtest.cxx,
      buddy/examples/cmilner/cmilner.c, buddy/examples/fdd/fdd.cxx,
      buddy/examples/milner/milner.cxx, buddy/examples/money/money.cxx,
      buddy/examples/queen/queen.cxx, buddy/examples/solitare/solitare.cxx,
      m4/buddy.m4, src/ltlvisit/apcollect.hh, src/ltlvisit/simplify.hh,
      src/misc/bddlt.hh, src/misc/bddop.hh, src/misc/minato.hh,
      src/priv/acccompl.hh, src/priv/accconv.hh, src/priv/accmap.hh,
      src/priv/bddalloc.cc, src/tgba/bdddict.hh, src/tgba/bddprint.hh,
      src/tgba/tgbamask.hh, src/tgba/tgbasafracomplement.cc,
      src/tgbaalgos/emptiness.hh, src/tgbaalgos/gtec/sccstack.hh,
      src/tgbaalgos/neverclaim.cc, src/tgbaalgos/powerset.cc,
      src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccinfo.hh,
      src/tgbaalgos/weight.hh, wrap/python/buddy.i: Adjust.
      * NEWS, README: Document it.
      ad8d2422
  2. 28 Oct, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] pack cache entry on 16 bytes, not 20. · 971788fd
      Alexandre Duret-Lutz authored
      The double result is never used with a triple keys,
      so we can pack the cache entry more tightly.
      
      * src/cache.h: Reorganize the cache entry the structure.
      * src/cache.c: Cleanup the code while we are at it.
      * src/bddop.c: Adjust to accesses to cache entries.
      971788fd
  3. 11 Aug, 2014 2 commits
    • Alexandre Duret-Lutz's avatar
      [buddy] Fix a harmless uninitialized read. · d4e3a952
      Alexandre Duret-Lutz authored
      This can only cause failure when running under valgrind (i.e., in the
      test suite), but is not a problem in practice as the test is certain
      to fail the entry->c check whenever entry->b is uninitialized.
      
      * src/bddop.c (bdd_implies): Here.
      d4e3a952
    • Alexandre Duret-Lutz's avatar
      [buddy] Fix a harmless uninitialized read. · 1244b617
      Alexandre Duret-Lutz authored
      This can only cause failure when running under valgrind (i.e., in the
      test suite), but is not a problem in practice as the test is certain
      to fail the entry->c check whenever entry->b is uninitialized.
      
      * src/bddop.c (bdd_implies): Here.
      1244b617
  4. 20 Jun, 2014 1 commit
  5. 12 Feb, 2014 1 commit
  6. 29 Jul, 2013 2 commits
    • Alexandre Duret-Lutz's avatar
      [buddy] Probe for -fvisibility and -fvisibility-inlines-hidden. · cee55268
      Alexandre Duret-Lutz authored
      * configure.ac: Check gcc and g++ for -fvisibility and
      -fvisibility-inlines-hidden.  Add these options to
      CFLAGS and CXXFLAGS.
      * m4/ax_check_compile_flag.m4: New file.
      * src/Makefile.am: Build BuDDy as a single library, reverting part of
      the changes introduced in my previous patch to this file.  Since
      the options are set in CFLAGS/CXXFLAGS, there is no possibility
      for -fvisibility-inlines-hidden to be passed to the C compiler.
      cee55268
    • Alexandre Duret-Lutz's avatar
      [buddy] Restrict the number of exported symbols. · b5710663
      Alexandre Duret-Lutz authored
      * src/bdd.h, src/bvec.h, src/fdd.h: Declare all exported
      symbols using BUDDY_API, a new macro that sets visibility=default.
      * src/Makefile.am: Compile with -fvisibility=hidden by default,
      and compile the C++ part with -fvisibility-inlines-hidden as well.
      b5710663
  7. 24 Dec, 2012 1 commit
  8. 28 Nov, 2012 1 commit
  9. 22 Aug, 2012 1 commit
  10. 20 Jun, 2012 1 commit
  11. 19 Jun, 2012 3 commits
    • Alexandre Duret-Lutz's avatar
      [buddy] Add a function bdd_implies to decide implications between BDDs. · a814b975
      Alexandre Duret-Lutz authored
      * src/bdd.h (bdd_implies): New function.
      * src/bddop.c (bdd_implies): Implement it.
      (CACHEID_IMPLIES, IMPLIES_HASH): New helper macros.
      a814b975
    • Alexandre Duret-Lutz's avatar
      [buddy] Reduce the size of bddNode to improve cache efficiency. · e7a46e10
      Alexandre Duret-Lutz authored
      The unicity table was mixed with the bddNode table for now
      apparent reason.  After the hash of some node is computed,
      bddnodes[hash] did only contain some random node (not the one
      looked for) whose .hash member would point to the actual node with
      this hash.  So that's a two step lookup.  With this patch, we sill
      have a two step lookup, but the .hash member have been moved to a
      separate array.  A consequence is that bddNode is now 16-byte long
      (instead of 20) so it will never span across two cache lines.
      
      * src/kernel.h (bddNode): Remove the hash member, and move it...
      (bddhash): ... as this new separate table.
      * src/kernel.c, src/reorder.c: Adjust all code.
      e7a46e10
    • Alexandre Duret-Lutz's avatar
      [buddy] Adjust parser construction to support Automake 1.11 and 1.12. · b98c4724
      Alexandre Duret-Lutz authored
      * examples/bddcalc/parser.yxx: Rename as ...
      * examples/bddcalc/parser.y: ... this.
      * examples/bddcalc/parser_.cxx: New file that includes parser.c.
      * examples/bddcalc/Makefile.am: Adjust.
      * examples/bddcalc/parser.hxx: Delete this unused file.
      b98c4724
  12. 28 Apr, 2012 1 commit
  13. 28 Aug, 2011 2 commits
  14. 14 Jun, 2011 1 commit
  15. 09 Jun, 2011 1 commit
  16. 07 Jun, 2011 1 commit
  17. 30 Apr, 2011 3 commits
  18. 10 Apr, 2011 2 commits
    • Alexandre Duret-Lutz's avatar
      [buddy] · e5f35dea
      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().
      e5f35dea
    • Alexandre Duret-Lutz's avatar
      [buddy] · 35de7e90
      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.
      35de7e90
  19. 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
  20. 04 Apr, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] · 61d9e721
      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.
      61d9e721
  21. 03 Apr, 2011 3 commits
    • Alexandre Duret-Lutz's avatar
      [buddy] · 30f00584
      Alexandre Duret-Lutz authored
      * src/kernel.h (CHECK, CHECKa, CHECKn): Disable if NDEBUG is set.
      30f00584
    • Alexandre Duret-Lutz's avatar
      [buddy] · 44aed5cd
      Alexandre Duret-Lutz authored
      Fix declaration of bddproduced.
      
      * src/reorder.c (bddproduced): Declare a longint, to match
      the definition in kerner.c.
      44aed5cd
    • Alexandre Duret-Lutz's avatar
      [buddy] · 197019ea
      Alexandre Duret-Lutz authored
      * buddy/src/kernel.c (bdd_addref, bdd_delref): Disable sanity
      checks when compiled with NDEBUG.
      197019ea
  22. 27 Feb, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] · 8f5ecc14
      Alexandre Duret-Lutz authored
      * examples/cmilner/Makefile.am (cmilner_LDADD): Link with -lm, to
      find the pow() function.
      8f5ecc14
  23. 07 Nov, 2010 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] · 4034b7f8
      Alexandre Duret-Lutz authored
      * src/bddop.c (bdd_setxor): New function.
      * src/bdd.h (bdd_setxor): New function.
      4034b7f8
  24. 22 Jan, 2010 2 commits
  25. 21 Jan, 2010 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] · e20ba143
      Alexandre Duret-Lutz authored
      * src/bddio.c (bdd_load): Check the return value of fscanf() to
      kill a warning.
      e20ba143
  26. 09 Dec, 2009 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] · d462f50b
      Alexandre Duret-Lutz authored
      Inline bdd_addref() and bdd_delref() to speedup BDD operations.
      
      * src/kernel.c, src/kernel.h (bdd_addref, bdd_delref): Move these
      functions and there associated global variables...
      * src/bdd.c (bdd_error): ... and this function ...
      * src/bdd.h (bdd_addref, bdd_delref, bdd_error): ...here so that
      they can be inlined.
      d462f50b
  27. 23 Nov, 2009 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] · 253ee350
      Alexandre Duret-Lutz authored
      Introduce bdd_satprefix, to speedup spot::minato().
      
      * src/bdd.h (bdd_satprefix): New function.
      * src/bddop.c (bdd_satprefix, bdd_sat_prefixrec): New functions.
      253ee350
  28. 01 Oct, 2009 1 commit
  29. 08 Sep, 2009 1 commit