v2.0.0-beta.4.0
Pre-release
Pre-release
SSoelvsten
released this
26 Jun 14:37
·
635 commits
to main
since this release
New Features
zdd_project(...)
Added new overloads using (stateful) label generator functions and iterators.adiar_set_domain(...)
Add overload to set domain given a generator function, or an iterator.bdd_satmin(...)
,bdd_satmax(...)
,zdd_minelem
, andzdd_maxelem(...)
Add overload with a callback function to be compatible with all desired output data structures.
Optimisations
- Nested Sweeping
Implemented this framework to add support for an I/O-efficient simulation of BDD operations that (may) recurse on intermediate results. The multi-variable quantification operations, i.e.bdd_exists
,bdd_forall
, andzdd_project
, use this to decrease their memory usage and their running time.
Breaking Changes
bdd_exists
,bdd_forall
, andzdd_project
Removed the overload for multi-variable quantification when given a file with labels.bdd_satmin(f)
andbdd_satmax(f)
, resp.zdd_minelem(A)
andzdd_maxelem(A)
:- The return type when called without a callback function has been turned into a
bdd
, resp.zdd
. This ought to make their return type more usable in a symbolic context. - Semantics has been changed if the global domain has been set. If so, then it will return the assignment to the variables in the domain rather than specifically the levels present in the BDD.
- The return type when called without a callback function has been turned into a
- Every deprecated function from v1.x has been removed.
- The two-level granularity of statistics has been removed. If you want to compile Adiar with statistics you just have to set the CMake variable
ADIAR_STATS
to ON,
Contributors
- Steffan Sølvsten ( @SSoelvsten )