1. 24 Jul, 2017 1 commit
    • Alexandre Duret-Lutz's avatar
      [buddy] use powers of two for the sizes of all hash tables · 361b44e5
      Alexandre Duret-Lutz authored
      * src/bddop.c, src/bddx.h, src/cache.c, src/cache.h, src/kernel.c,
      src/kernel.h, src/prime.c, src/prime.h, src/reorder.c: Use power of
      two for the sizes of all hash tables, in order to reduce the amount of
      divisions performed.  Also allow bddhash to be smaller than bddnodes.
      361b44e5
  2. 20 Jun, 2017 2 commits
  3. 04 May, 2017 4 commits
  4. 19 Apr, 2017 4 commits
  5. 31 Mar, 2017 1 commit
  6. 30 Mar, 2017 1 commit
  7. 14 Mar, 2017 3 commits
  8. 13 Mar, 2017 1 commit
  9. 01 Feb, 2017 2 commits
  10. 14 Jan, 2017 1 commit
  11. 13 Dec, 2016 1 commit
  12. 19 Nov, 2016 1 commit
  13. 09 Nov, 2016 2 commits
  14. 08 Nov, 2016 1 commit
  15. 28 Oct, 2016 1 commit
  16. 20 Oct, 2016 2 commits
  17. 19 Oct, 2016 1 commit
  18. 27 Jul, 2016 1 commit
  19. 10 Nov, 2015 1 commit
    • Alexandre Duret-Lutz's avatar
      Use -Bsymbolic-functions and -Bsymbolic · 86abd6c1
      Alexandre Duret-Lutz authored
      This avoids dynamic lookups to resolve symbols inside the library, but
      disallows symbol interposition.
      
      * m4/symbolic.m4: New file.
      * buddy/m4/symbolic.m4: New link.
      * configure.ac, buddy/configure.ac: Add AX_SYMBOLIC.
      * buddy/src/Makefile.am, iface/ltsmin/Makefile.am, src/Makefile.am,
      wrap/python/Makefile.am: Link with $(SYMBOLIC_LDFLAGS).
      86abd6c1
  20. 24 Apr, 2015 1 commit
    • Etienne Renault's avatar
      Remove all cvsignore files. · 5f4b7e1f
      Etienne Renault authored
      * .cvsignore, bench/.cvsignore,
      bench/emptchk/.cvsignore, bench/emptchk/models/.cvsignore,
      bench/ltl2tgba/.cvsignore, buddy/.cvsignore,
      buddy/doc/.cvsignore, buddy/examples/.cvsignore,
      buddy/examples/adder/.cvsignore,
      buddy/examples/bddcalc/.cvsignore,
      buddy/examples/bddtest/.cvsignore,
      buddy/examples/calculator/.cvsignore,
      buddy/examples/cmilner/.cvsignore,
      buddy/examples/fdd/.cvsignore,
      buddy/examples/internal/.cvsignore,
      buddy/examples/milner/.cvsignore,
      buddy/examples/money/.cvsignore,
      buddy/examples/queen/.cvsignore,
      buddy/examples/solitare/.cvsignore,
      buddy/src/.cvsignore, buddy/tools/.cvsignore,
      doc/.cvsignore, iface/.cvsignore,
      src/.cvsignore, src/ltlast/.cvsignore,
      src/ltlenv/.cvsignore, src/ltlparse/.cvsignore,
      src/ltlvisit/.cvsignore, src/misc/.cvsignore,
      src/sanity/.cvsignore, src/tests/.cvsignore,
      src/twa/.cvsignore, tools/.cvsignore,
      wrap/.cvsignore, wrap/python/.cvsignore,
      wrap/python/tests/.cvsignore: here.
      5f4b7e1f
  21. 11 Mar, 2015 1 commit
  22. 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
  23. 19 Nov, 2014 1 commit
    • Alexandre Duret-Lutz's avatar
      hoa: preliminary implementation of a parser · e55bcd95
      Alexandre Duret-Lutz authored
      * src/hoaparse/Makefile.am, src/hoaparse/fmterror.cc,
      src/hoaparse/hoaparse.yy, src/hoaparse/hoascan.ll,
      src/hoaparse/parsedecl.hh, src/hoaparse/public.hh: New files.
      * src/Makefile.am, configure.ac, README: Adjust.
      * src/tgbatest/ltl2tgba.cc: Add a -XH option.
      * src/tgbatest/hoaparse.test: New file.
      * src/tgbatest/Makefile.am: Adjust.
      * buddy/src/bddx.h: Add a bdd_from_int() function.
      e55bcd95
  24. 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
  25. 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
  26. 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
  27. 20 Jun, 2014 1 commit