Dd

Latest version: v0.6.0

Safety actively analyzes 613460 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.6.0

- REL: require Python >= 3.11
- REL: require `cython >= 3.0.0`
- REL: require `astutils >= 0.0.5`
- DEP: deprecate hidden module `dd._compat`

API:

- use TLA+ syntax for comments:
- `(* this is a doubly-delimited comment *)`
- `\* this is a trailing comment`
- use symbol `` as operator that means
the logical negation of `<=>`.
The symbol `` no longer signifies comments.
- return `list` of loaded roots of BDDs,
when loading BDDs from Pickle files in:
- `dd.autoref.BDD.load()`
- `dd.bdd.BDD.load()`
- in `dd.cudd`, `dd.cudd_zdd`
check available memory only in systems where
both `SC_PAGE_SIZE` and `SC_PHYS_PAGES` are
defined (read `sysconf(3)`).
- raise `ValueError` from:
- `dd.autoref.BDD.level_of_var()`
- `dd.bdd.BDD.level_of_var()`
whenever unknown values are given as arguments
- rename:
- method `dd.buddy.BDD.level()` to `dd.buddy.BDD.level_of_var()`
- method `dd.buddy.BDD.at_level()` to `dd.buddy.BDD.var_at_level()`
as the naming convention in other `dd` modules
- raise `ValueError` from:
- `dd.buddy.BDD.level_of_var()`
- `dd.buddy.BDD.var_at_level()`
whenever unknown values are given as arguments,
as done in other `dd` modules too
- several `assert` statements replaced by `raise`,
with more specific exceptions, e.g.,
`ValueError`, `TypeError`, `RuntimeError`
- strings returned by methods:
- `dd.cudd.Function.__repr__()`
- `dd.cudd_zdd.Function.__repr__()`
changed to follow specification of `object.__repr__()`
(delimited by `<` and `>`).
Now also includes the object `id` as `hex` number.

0.5.7

- require `pytest >= 4.6.11`, instead of `nose`, for Python 3.10 compatibility
- support for dumping and loading BDDs to and from JSON files
now requires Python 3
- test using GitHub Actions

API:

- return memory size in bytes from methods `dd.cudd.BDD.statistics` and
`dd.cudd_zdd.ZDD.statistics`
(the value of key `'mem'` in the returned `dict`)
- print used memory in bytes in the methods `dd.cudd.BDD.__str__` and
`dd.cudd_zdd.ZDD.__str__`
- remove the now obsolete constants `dd.cudd.GB`, `dd.cudd_zdd.GB`
- remove the unused constant `dd.sylvan.GB`
- method `dd.cudd_zdd.ZDD.dump`:
- support PNG and SVG formats, in addition to PDF
- allow more than one references to ZDD nodes in the argument `roots`
- add method `apply` to the class `dd.mdd.MDD`
- several `assert` statements replaced by `raise` with
exceptions more specific than `AssertionError`
- set `dd.cudd.Function.node` and `dd.cudd_zdd.Function.node`
to `NULL` when the (local) reference count becomes zero

0.5.6

- distribute `manylinux2014_x86_64` wheel via PyPI

API:

- require `cython >= 0.29.15`
- add module `dd.cudd_zdd`
- allow empty support variable names in DDDMP files in function `dd.dddmp.load`
- methods `dump` and `load` of the classes
`dd.cudd.BDD` and `dd.autoref.BDD`:
- add JSON to file types
- load by file extension
- change return type of method `dd.cudd.BDD.load`
to `list` of `dd.cudd.Function`
- multiple roots supported in `dd.cudd.BDD.dump` for
file types other than DDDMP
- method `count` of the classes
`dd.cudd.BDD` and `dd.cudd_zdd.ZDD`:
- make optional the argument `nvars`
- `dd.autoref.BDD.load`:
require file extension `.p` for pickle files

0.5.5

API:

- require `networkx <= 2.2` on Python 2
- class `dd.bdd.BDD`:
- remove argument `debug` from method `_next_free_int`
- add method `undeclare_variables`
- plot nodes for external BDD references in function `dd.bdd.to_pydot`,
which is used by the methods `BDD.dump` of the modules
`dd.cudd`, `dd.autoref`, and `dd.bdd`
- function `dd._copy.load_json`:
rename argument from `keep_order` to `load_order`
- add unused keyword arguments to method `autoref.BDD.decref`

0.5.4

- enable `KeyboardInterrupt` on POSIX systems for `cudd`
when `cysignals >= 1.7.0` is present at installation

API:

- change signature of method `cudd.BDD.dump`
- add GraphViz as an option of `cudd.BDD.dump`
- allow copying between managers with different variable orders
- allow simultaneous substitution in `bdd.BDD.let`
- add property `BDD.var_levels`
- add method `BDD.reorder` to `cudd` and `autoref`
- add method `cudd.BDD.group` for grouping variables
- add `autoref.BDD` methods `incref` and `decref`
- change signatures of `cudd.BDD` methods `incref` and `decref`
- change default to `recursive=False` in method `cudd.BDD.decref`
- add property `Function.dag_size`
- add module `dd._copy`
- rm function `dd.bdd.copy_vars`, use method `BDD.declare` instead,
and separately copy variable order, if needed.
This function has moved to `_copy.copy_vars`.
- rm method `bdd.BDD.evaluate`, use method `dd.BDD.let`

0.5.3

- distribute `manylinux1_x86_64` wheel via PyPI

API:

- update to `networkx >= 2.0` (works with `< 2.0` too)
- class `BDD` in modules `autoref`, `bdd`, `cudd`, `sylvan`:
- remove deprecated methods (where present):
`compose`, `cofactor`, `rename`, `evaluate`,
`sat_iter`, `sat_len`

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.