1. 01 Feb, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] fix some -Wpedantic messages · a2f174f7
      Alexandre Duret-Lutz authored
      * src/bddop.c: Empty macro arguments are undefined ISO C90 and
      ISO C++98.  Use '+' when calling APPLY_SHORTCUTS.
      * src/fdd.c, src/kernel.c: Avoid constructs invalid in C90.
      * src/bddop.c, src/bddx.h, src/kernel.c, src/kernel.h,
      examples/cmilner/cmilner.c: Remove C++ comments.
      a2f174f7
  2. 09 Nov, 2016 1 commit
  3. 08 Nov, 2016 1 commit
  4. 10 Mar, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] fix undefined behavior · 787e3f93
      Alexandre Duret-Lutz authored
      The bug was found while running Spot's src/tgbatest/randpsl.test
      on Debian i386 with gcc-4.9.2.  The following call would crash:
      
      ./ltl2tgba -R3 -t '(!(F(({{{(p0) |
      {[*0]}}:{{{(p1)}[*2]}[:*]}[*]:[*2]}[:*0..3]}[]-> (G(F(p1)))) &
      (G((!(p1)) | ((!(p2)) W (G(!(p0)))))))))'
      
      On amd64 the call does not crash, but valgrind nonetheless
      report that uninitialized memory is being read by bdd_gbc()
      during the second garbage collect.
      
      * src/kernel.h (PUSHREF): Define as a function rather than a macro
      to avoid undefined behavior.  See comments for details.
      787e3f93
  5. 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
  6. 19 Jun, 2012 1 commit
    • 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
  7. 28 Apr, 2012 1 commit
  8. 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
  9. 03 Apr, 2011 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] · 30f00584
      Alexandre Duret-Lutz authored
      * src/kernel.h (CHECK, CHECKa, CHECKn): Disable if NDEBUG is set.
      30f00584
  10. 22 Jan, 2010 1 commit
  11. 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
  12. 28 Jun, 2004 1 commit
    • Alexandre Duret-Lutz's avatar
      Merge BuDDy 2.3. · aa4a582f
      Alexandre Duret-Lutz authored
      * examples/calculator/, examples/internal/: Were renamed as ...
      * examples/bddcalc/, examples/bddtest/: ... these.
      * configure.ac: Adjust version and output Makefiles.
      * examples/Makefile.am (SUBDIRS): Adjust subdir renaming.
      * examples/cmilner/milner.c, examples/fdd/statespace.cxx: Were
      renamed as ...
      * examples/cmilner/cmilner.c, examples/fdd/fdd.cxx: ... these.
      * examples/cmilner/Makefile.am, examples/fdd/Makefile.am: Adjust
      accordingly.
      * src/Makefile.am (AM_CPPFLAGS): Define VERSION.
      aa4a582f
  13. 20 May, 2003 1 commit
  14. 05 May, 2003 3 commits
    • Alexandre Duret-Lutz's avatar
      * configure.ac: Output config.h. · 89cc96b8
      Alexandre Duret-Lutz authored
      * src/kernel.h: Include it.
      * src/Makefile.am (AM_CPPFLAGS): New variable.
      89cc96b8
    • Alexandre Duret-Lutz's avatar
      * configure.ac, Makefile.am, src/Makefile.am, doc/Makefile.am, · 605dce2a
      Alexandre Duret-Lutz authored
      examples/Makefile.am, examples/Makefile.def,
      examples/adder/Makefile.am, examples/calculator/Makefile.am,
      examples/cmilner/Makefile.am, examples/fdd/Makefile.am,
      examples/internal/Makefile.am, examples/milner/Makefile.am,
      examples/money/Makefile.am, examples/queen/Makefile.am,
      examples/solitar/Makefile.am, m4/debug.m4, m4/gccwarns.m4,
      ChangeLog, INSTALL: New files.
      * config, makefile, src/makefile, doc/makefile,
      examples/adder/makefile, examples/calculator/makefile
      examples/cmilner/makefile, examples/fdd/makefile,
      examples/internal/makefile, examples/milner/makefile,
      examples/money/makefile, examples/queen/makefile,
      examples/solitare/makefile : Delete.
      * examples/adder/adder.cxx, examples/fdd/statespace.cxx,
      examples/internal/bddtest.cxx, examples/milner/milner.cxx,
      examples/money/money.cxx, examples/queen/queen.cxx,
      examples/solitare/solitare.cxx: Include iostream.
      * examples/calculator/parser.y: Rename as ...
      * examples/calculator/parser.yxx: ... this.  Remove spurious
      comas in %token, %right, and %left arguments.
      * examples/calculator/parser.h: Rename as ...
      * examples/calculator/parser_.h: ... this, because the bison
      rule with output parser.h (not tokens.h) from parser.y.
      * examples/calculator/lexer.l: Rename as ...
      * examples/calculator/lexer.lxx: ... this.  Include parser.h
      instead of tokens.h.
      * examples/calculator/slist.h
      (voidSList::voisSListElem, SList::ite): Fix friend usage.
      * src/kernel.h (DEFAULT_CLOCK): Default to 60 if not already
      defined.
      * README: Update build instruction, and file listing.
      605dce2a
    • Alexandre Duret-Lutz's avatar
      Initial revision · cf5dd463
      Alexandre Duret-Lutz authored
      cf5dd463