Skip to content
Snippets Groups Projects
NEWS 7.75 KiB
Newer Older
  • Learn to ignore specific revisions
  • ----------------------------------------------------------------------------
       User visible changes to BuDDy
    ----------------------------------------------------------------------------
    
    +  means added code
    x  means bugfix or changed code
    -  means removed code
    
    VER 2.4 (July 2004)
    -------------------
      + Using configure script for the build process.
      + Adding runregression script which runs examples and compare to 
        expected results.
    
    VER 2.3 (June 2004)
    -------------------
      + Nothing :-(  This is just the first version in SourceForge, 
        so it deserved its own number.
    
    VER 2.2 (november 2002)
    -----------------------
      + Added bvec_ite() for calculating an if-then-else operation on
        a boolean vector.
      x Fixed some garbage collection problems introduced in version 2.1.
    
    
    VER 2.1 (march 2002)
    --------------------
      + Added bdd_allsat() for calculating all possible variable assignments
        to a bdd.
      x Fixed some wrong garbage collection #defines in kernel.h. If you
        haven't experinced any problems using BuDDy, then this should not
        be an issue. No bug reports reported for this one - found by code
        inspection thanx to Nicola Soranzo.
      x Fixed some copy paste errors in the prime number calculation.
        This should not be an issue. No bug reports reported for this one
        - found by code inspection thanx to Nicola Soranzo.
    
    
    VER 2.0 (march 2001)
    --------------------
      x Change the copyright notice to a more acceptable form.
      x Speedup changes in bdd_support()
      x Rewrote all the prime number calculations in order to get the
        copyright right.
    
    
    VER 1.9 (august 2000)
    ---------------------
      + Added bdd_pathcount
      + Added bdd_anodecount
      + Added bdd_buildcube, bdd_ibuildcube
      x Bugfix in bdd_satcountset and bdd_satcountlnset. This corrects a bug
        introduced in version 1.8.
      x bug fixes in bdd_constraint and bdd_simplify. Both did calculate a
        correct cofactor, but not necessarily a minimal one. Changed the name
        of bdd_constraint to bdd_constrain at the same time.
      x bug fix in memory allocation for bdd_addvarblock
      x Changed functions in bddop.c in order to avoid some compiler warnings.
      x Makefile also installs "fdd.h" and "bvec.h".
      x Small #include fix in N-Queen example.
      x Minor changes in the documentation.
    
    
    VER 1.8 (may 2000)
    ------------------
      + Bugfix in the kernel: canonicity was not unfortunately not guaranteed
        on certain compilers (at least the microsoft visual C compiler) due to a
        signed/unsigned bug in kernel.c (and actually not microsofts fault).
      + Speedups in the reordering code.
      + Added the use of an interaction matrix for variable swapping.
      + Added bdd_satoneset
      + Added bdd_getallocnum
      + Added bdd_setvarorder
      + Added bdd_unique, bdd_appuni.
      + Added bvec_shlfixed, bvec_shrfixed and changed the prototype for
        bvec_shl and bvec_shr.
      + Added bvec_mulfixed, bdd_divfixed, bdd_div and changed the
        prototype for bvec_mul.
      + Added bdd_printstat
      + Added new examples: solitare and money
      + Forces cache tables to prime-number size.
      + Added bdd_clear_error() if anybody needs that.
      + Added reorder method WIN3 and WIN3ITE
      x Small change in queen.cxx - with a huge impact on runtime!
      x Bugfix in reordering. In some cases reordering would go on forever;
        first reroder, then retry, then reorder again without resize etc. always
        reordering in the same operation. Now at most one reordering is allowed
        for each bdd operation.
      x Bugfix in C++ printing in Dot format. Wrote zero for one and vice versa.
      x Bugfix in the garbage collector. If bdd_setmaxincrease was used, then
        BuDDy would call bdd_error prematurely. Not a major bug, but annoying.
      x Bugfix in bdd_load.
      x Speedup in bdd_satcountset and bdd_satcountlnset
      x Updates to the docs.
      x Updates to the makefiles
    
    
    VER 1.7 (september 1999)
    ------------------------
      +  Added support for boolean vector operations used in integer arithmetics
      +  Split "bdd.h" into "bdd.h", "fdd.h" and "bvec.h"
      +  Added bdd_cachestats
      +  Added bdd_and, bdd_or, bdd_xor, bdd_impl, bdd_biimpl
         (wrappers for bdd_apply).
      +  Added a BDD calculator for combinatorial circuits as an example.
      +  Added an example showing the use of the FDD interface.
      +  Added bdd_autoreorder_times, bdd_getreorder_method, bdd_getreorder_times,
         bdd_reorder_probe, bdd_enable_reorder, bdd_disable_reorder,
         bdd_var2level, bdd_level2var, bdd_reorder_gain, bdd_swapvar
      +  Added bdd_file_hook, bdd_strm_hook, fdd_file_hook, fdd_strm_hook
      +  Added support for dynamic resizing of the operator caches with
         the function bdd_setcacheratio.
      +  Added more documentation.
      x  Bugfix in reordering code. This would appear when recursive variable
         blocks were defined (blocks with sub-blocks).
      x  Speedup changes in the variable reordering code
      x  The automatic reordering threshhold function has been changed
      x  Automatic reordering is now interrupting and restarts bdd operations
      x  Prototype for bdd_reorder_hook changed.
      x  Printing of reorder information (verbose level > 0) is changed.
      x  The threshold for stopping of the iterative reordering methods has
         been changed. The reordering now continues until no progress is done
         at all (before it would stop when less than 5% where gained).
      x Added a few sanity checks to many of the functions.
      x Bugfix (parameter checking) in fdd_ithvar.
      - bdd_varlevel removed (use bdd_var2level and bdd_level2var).
    
    
    VER 1.6 (november 1998)
    -----------------------
      +  Added bdd_resetpair
      +  Added bdd_satcountset, bdd_satcountlnset
      +  Added macro bdd_relprod
      +  Added fdd_overlapdomain
      +  Added fdd_domain
      x  Fixed a bug in bdd_setvarnum and bdd_extvarnum.
      x  Fixed a bug in bdd_newpair() which would give problems with reordering.
      x  Speedup changes in bdd_exist, bdd_forall, bdd_appex, bdd_appall
      x  Speedup changes in bdd_restrict
      x  Changed bdd_gbc_hook to include both pre and post garbage collection.
    
    
    VER 1.5 (september 1998)
    ------------------------
      +  Added bdd_cofactor
      +  Added and fixed some error checks in fdd.c
      x  Fixed a bug in bdd_setvarnum().
    
    
    VER 1.4 (july 1998)
    -------------------
      The package just got a name: BuDDy
      +  Added functions bdd_compose, bdd_veccompose, bdd_ite.
      +  Added functions bdd_setbddpair, bdd_setbddpairs.
      +  Added functions bdd_var, bdd_low, bdd_high.
      +  Added technical documentation in docs/tech.txt
      x  Overloaded C++ functions are not used any more. This mainly changes
         the name of the printing functions in C++.
      x  Changed datatype names (You'll hate me for this one):
            BddPair -> bddPair
    	BddStat -> bddStat
    	BddGbcStat -> bddGbcStat
      x  Added slightly more documentation.
      x  Some internal changes to the code - should not be visible to users.
    
    
    VER 1.3 (june 1998)
    -------------------
      x  Fixed a few serious bugs in the reordering code
    
    
    VER 1.2 (june 1998)
    -------------------
      +  Added support for dynamic variable reordering
      +  Added reordering handler (bdd_reorder_hook)
      +  More added to the docs
      x  Changed the event handlers (bdd_xxx_hook)
    
    
    VER 1.1 (april 1998)
    --------------------
      +  Added bdd_varprofile
      +  Added fdd_scanset
      +  Mucho better documentation.
      +  Added Henrik Reif Andersen's BDD notes to the documentation.
      +  Added BDD_REORDER_RANDOM for test purposes (usefull for others?)
      x  Fixed a bug in bdd_appex and bdd_appall.
      x  Fixed a bug in bdd_simplify.
      x  Speed fixup to fdd_extdomain 
      x  Lots of small (insignificant?) bug fixes in fdd.c.
      x  bdd_load/save updated to take reordering into account.
      x  Generalized bdd_restrict to use a BDD variable set.
      x  Fixed the identifiers for the operator caches.
      x  The math functions log1p and pow2 has been removed as they didn't
         exist on some systems. The same applies to M_LN2.
      x  New file structure and makefiles.
      -  Removed bdd_break, bdd_restart1