API:
dd.bdd.BDD.rename
,dd.bdd.image
,dd.bdd.preimage
: allow non-adjacent variable levelsdd.bdd.BDD.descendants
:- arg
roots
instead of single nodeu
- iteration instead of recursion
- breadth-first instead of depth-first search
- arg
dd.bdd.BDD.dump
:- dump nodes reachable from given roots
- dump only variable levels and nodes to pickle file
- correct error that ignored explicit file type for PDF, PNG, SVG
dd.bdd.BDD.load
:- instance method to load nodes
dd.bdd.to_pydot
:- add arg
roots
- add arg
- hide methods that dump and load entire manager
dd.bdd.BDD._dump_manager
and_load_manager
- remove
dd.autoref.Function.from_expr
- install without extensions by default
- try to read git information, but assume release if this fails for any reason
- optionally import
gitpython
insetup.py
to retrieve version info fromgit
repo. - version identifier when
git
available:X.Y.Z.dev0+SHA[.dirty]
- require
psutil >= 3.2.2
- require
setuptools >= 19.6
to avoidcython
affectingpsutil
build - detect 64-bit system using
ctypes.sizeof
for CUDD flags
API:
dd.cudd.BDD.__cinit__
:- rename arg
memory
->memory_estimate
- assert memory estimate less than
psutil.virtual_memory().total
- add arg
initial_cache_size
- rename arg
dd.cudd.BDD.statistics
:- distinguish between peak and live nodes
- cache statistics
- unique table statistics
- read node count w/o removing dead nodes
dd.cudd.BDD.configure
:- accept keyword args, instead of
dict
- first read config (returned
dict
), then set given values - reordering
- garbage collection
- max cache soft
- max swaps
- max variables per reordering
- accept keyword args, instead of
dd.bdd
,dd.autoref
,dd.cudd
:- add method
BDD.copy
for copying nodes between managers - add method
BDD.rename
for substituting variables - deprecate functions
rename
andcopy_bdd
- add method
- add method
dd.cudd.BDD.sat_iter
- add function
dd.cudd.count_nodes_per_level
- add functions that track variable order when saving:
dd.cudd.dump
dd.cudd.load
- add user documentation
- support Python 3
- require
pydot3k
in Python 3,pydot
in Python 2 - expose more control over CUDD configuration
API:
- add
dd.cudd.BDD.configure
- do not set manager parameters in
__cinit__
- rename
BDD.False
->BDD.false
(same for “true”), to avoid syntax errors in Python 3 - remove
dd.bdd.BDD.add_ast
dd.cudd.reorder
invokes sifting if variable order isNone
- default to pickle protocol 2
Bugfix release to add file download.py
missing from MANIFEST.
API:
- add
dd.cudd.BDD.statistics
- add functions
copy_vars
andcopy_bdd
- remove
dd.bdd.BDD.level_to_variable
- add Cython interface
dd.cudd
to CUDD - add Cython interface
dd.buddy
to BuDDy
- dynamic variable addition in
dd.bdd.BDD
- add
dd.autoref
wrapper arounddd.bdd
- avoid randomization inside
sat_iter
API:
- add
BDD.True
andBDD.False
- move
Function
interface todd.autoref
- move parser to
dd._parser
- rename
BDD.level_to_variable
->var_at_level
- deprecate
BDD.ordering
in favor ofBDD.vars
- add
dd.mdd
for multi-terminal decision diagrams - add quantifiers to syntax
- add complemented edges to syntax
- require
networkx
API:
- add
dd.bdd.BDD.cube
- add
dd.bdd.BDD.descendants
- add function
reorder_pairs
- add PLY parser for Boolean expressions
- require
astutils
API:
- add
dd.bdd.BDD.ref
- assign
bool
as model values
- test on Travis
API:
- add
"diff"
operator todd.bdd.BDD.apply
Initial release.