|
Adiar 2.1.0
An External Memory Decision Diagram Library
|
Basic set operations. More...
Functions | |
| __zdd | adiar::zdd_binop (const zdd &A, const zdd &B, const predicate< bool, bool > &op) |
| Apply a binary operator between the sets of two families. | |
| __zdd | adiar::zdd_union (const zdd &A, const zdd &B) |
| The union of two families of sets. | |
| __zdd | adiar::operator| (const zdd &lhs, const zdd &rhs) |
| zdd | adiar::operator+ (const zdd &A) |
| __zdd | adiar::operator+ (const zdd &lhs, const zdd &rhs) |
| __zdd | adiar::zdd_intsec (const zdd &A, const zdd &B) |
| The intersection of two families of sets. | |
| __zdd | adiar::operator& (const zdd &lhs, const zdd &rhs) |
| __zdd | adiar::operator* (const zdd &lhs, const zdd &rhs) |
| __zdd | adiar::zdd_diff (const zdd &A, const zdd &B) |
| The set difference of two families of sets. | |
| __zdd | adiar::operator- (const zdd &A) |
| __zdd | adiar::operator- (const zdd &lhs, const zdd &rhs) |
| __zdd | adiar::zdd_change (const zdd &A, const generator< zdd::label_type > &vars) |
| The symmetric difference between each set in the family and the given set of variables. | |
| template<typename ForwardIt > | |
| __zdd | adiar::zdd_change (const zdd &A, ForwardIt begin, ForwardIt end) |
| The symmetric difference between each set in the family and the given set of variables. | |
| __zdd | adiar::zdd_complement (const zdd &A, const generator< zdd::label_type > &dom) |
| Complement of A within the given domain. | |
| template<typename ForwardIt > | |
| __zdd | adiar::zdd_complement (const zdd &A, ForwardIt begin, ForwardIt end) |
| Complement of A within the given domain. | |
| __zdd | adiar::zdd_complement (const zdd &A) |
| Complement of A within the global Variable Domain. | |
| __zdd | adiar::operator~ (const zdd &A) |
| __zdd | adiar::zdd_expand (const zdd &A, const generator< zdd::label_type > &vars) |
| Expands the domain of the given ZDD to also include the given set of labels. | |
| template<typename ForwardIt > | |
| __zdd | adiar::zdd_expand (const zdd &A, ForwardIt begin, ForwardIt end) |
| Expands the domain of the given ZDD to also include the given set of labels. | |
| __zdd | adiar::zdd_offset (const zdd &A, zdd::label_type var) |
| Subset that do not include the given element. | |
| __zdd | adiar::zdd_offset (const zdd &A) |
| Subset that do not include the top variable. | |
| __zdd | adiar::zdd_offset (const zdd &A, const generator< zdd::label_type > &vars) |
| Subset that do not include the given set of variables. | |
| template<typename ForwardIt > | |
| __zdd | adiar::zdd_offset (const zdd &A, ForwardIt begin, ForwardIt end) |
| Subset that do not include the given set of variables. | |
| __zdd | adiar::zdd_onset (const zdd &A, zdd::label_type var) |
| Subset that do include the given element. | |
| __zdd | adiar::zdd_onset (const zdd &A) |
| Subset that do include the top variable. | |
| __zdd | adiar::zdd_onset (const zdd &A, const generator< zdd::label_type > &vars) |
| Subset that do include the given set of variables. | |
| template<typename ForwardIt > | |
| __zdd | adiar::zdd_onset (const zdd &A, ForwardIt begin, ForwardIt end) |
| Subset that do include the given set of variables. | |
| __zdd | adiar::zdd_project (const zdd &A, const predicate< zdd::label_type > &dom) |
| Project family of sets onto a domain, i.e. remove from every set all variables not within the domain. | |
| __zdd | adiar::zdd_project (const zdd &A, const generator< zdd::label_type > &dom) |
| Project family of sets onto a domain, i.e. remove from every set all variables not within the domain. | |
| template<typename ForwardIt > | |
| __zdd | adiar::zdd_project (const zdd &A, ForwardIt begin, ForwardIt end) |
| Project family of sets onto a domain, i.e. remove from every set all variables not within the domain. | |
Basic set operations.
| zdd adiar::operator+ | ( | const zdd & | A | ) |
| __zdd adiar::operator- | ( | const zdd & | A | ) |
Apply a binary operator between the sets of two families.
| A | ZDD for the left-hand-side of the operator |
| B | ZDD for the right-hand-side of the operator |
| op | Binary predicate to combine the two families. |
The symmetric difference between each set in the family and the given set of variables.
| A | ZDD to apply with the other. |
| vars | Generator function of labels to flip in ascending order. These values may not exceed zdd::max_label. |
The symmetric difference between each set in the family and the given set of variables.
| A | ZDD to apply with the other. |
| begin | Single-pass forward iterator that provides the to-be flipped variables in ascending order. These values may not exceed zdd::max_label. |
| end | Marks the end for begin. |
Complement of A within the global Variable Domain.
| A | family of sets to complement |
A.Complement of A within the given domain.
| A | family of sets to complement |
| dom | Labels of the domain in ascending order |
Complement of A within the given domain.
| A | family of sets to complement |
| begin | Single-pass forward iterator that provides the domain's variables in ascending order. These values may not exceed zdd::max_label. |
| end | Marks the end for begin. |
The set difference of two families of sets.
Expands the domain of the given ZDD to also include the given set of labels.
Adds don't care nodes on each levels in vars. That is, this essentially is the inverse of the zdd_project and lifts the set of sets unprojects to a larger domain.
| A | Family of set to expand. |
| vars | Generator function of labels to unproject in ascending order. No variables it generates may already exist in A or exceed zdd::max_label. |
Expands the domain of the given ZDD to also include the given set of labels.
Adds don't care nodes on each levels in vars. That is, this essentially is the inverse of the zdd_project and lifts the set of sets unprojects to a larger domain.
| A | Family of set to expand. |
| begin | Single-pass forward iterator that provides the to-be unprojected variables in ascending order. These may not be present in A or exceed zdd::max_label. |
| end | Marks the end for begin. |
The intersection of two families of sets.
Subset that do not include the top variable.
| A | Family of set |
| invalid_argument | If A is a terminal. |
Subset that do not include the given set of variables.
| A | Family of set |
| vars | Generator function of the variable labels to filter on in ascending order. The values generated should not exceed zdd::max_label. |
Subset that do not include the given set of variables.
| A | Family of set |
| begin | Single-pass forward iterator that provides the variables to filter out in ascending order. These values may not exceed zdd::max_label. |
| end | Marks the end for begin. |
| __zdd adiar::zdd_offset | ( | const zdd & | A, |
| zdd::label_type | var | ||
| ) |
Subset that do not include the given element.
| A | Family of set |
| var | Variable to include. |
Subset that do include the top variable.
| A | Family of set |
| invalid_argument | If A is a terminal. |
Subset that do include the given set of variables.
| A | Family of set |
| vars | Generator function of the variable labels to filter on in ascending order. The values generated may not exceed zdd::max_label |
Subset that do include the given set of variables.
| A | Family of set |
| begin | Single-pass forward iterator that provides the variables to filter out in ascending order. These values may not exceed zdd::max_label |
| end | Marks the end for begin. |
| __zdd adiar::zdd_onset | ( | const zdd & | A, |
| zdd::label_type | var | ||
| ) |
Subset that do include the given element.
| A | Family of set |
| var | Variable to include. |
Project family of sets onto a domain, i.e. remove from every set all variables not within the domain.
| A | Family of sets to project |
| dom | Generator function, that produces the variables of the domain in descending order. They should not exceed zdd::max_label. |
Project family of sets onto a domain, i.e. remove from every set all variables not within the domain.
| A | Family of sets to project |
| dom | Predicate function that defines the domain. |
Project family of sets onto a domain, i.e. remove from every set all variables not within the domain.
| A | Family of sets to project |
| begin | Single-pass forward iterator that provides the domain in descending order. Its values should not exceed zdd::max_label |
| end | Marks the end for begin. |