Releases: sybila/biodivine-lib-bdd
Releases · sybila/biodivine-lib-bdd
0.5.20
Compared to v0.5.19
, this version fixes a performance bug in mk_dnf
/mk_cnf
and updates the DNF optimization method in a way that produces smaller normal forms for functions with a lot of shared sub-formulas.
0.5.10
Fix a bug in BddVariableSet.mk_dnf
and BddVariableSet.mk_cnf
which returned an incorrect constant Bdd
in some edge cases.
0.5.9
Fixes a bug which incorrectly compared None
values when comparing two BddPartialValuation
objects.
0.5.8
Adds BddVariable.from_index
and BddVariable.to_index
.
0.5.7
Fixes a node duplicates bug in exists
/for_all
implementations. This bug did not effect the semantics of the result (i.e. computed BDDs are still correct), but under certain conditions, the result was not necessarily in the proper reduced form.
0.5.6
Provides basic methods for exploring the graph structure of a BDD through BddPointer
references.
0.5.5
Adds a Bdd::substitute
function which can be used to substitute BDD variables for complex functions in a larger BDD.
0.5.3
This is a minor quality-of-life release which adds:
Index<BddVariable>
and IndexMut<BddVariable>
for BddPartialValuation
.
From<BddValuation>
for BddPartialValuation
.
BddValuation::to_values
which gives the same result as BddPartialValuation::to_values
.
IndexMut<BddVariable>
for BddValuation
.
As such, this also closes #45.
0.5.2
This minor release adds a single quality of life improvement:
Bdd
objects can now be "translated" between compatible BddVariableSet
objects using BddVariableSet::transfer_from
. For now, "compatible" is limited to variable renaming (i.e. we are not doing any reordering transformations), but this should still cover most of the typical use cases.
0.5.1
This release fixed the de-serialisation bug described in #34.
It also significantly improves the speed of CI, but that's not relevant for the library.