6#include <adiar/internal/cut.h>
7#include <adiar/internal/dd.h>
90 static constexpr std::string_view
false_print =
"Ø";
95 static constexpr std::string_view
true_print =
"{Ø}";
156 internal::cut::size_type
157 max_1level_cut(
const internal::cut
ct)
const
168 internal::cut::size_type
169 max_2level_cut(
const internal::cut
ct)
const
181 internal::cut::size_type
188 constexpr size_t bit_mask = internal::cut::Internal_True;
A (possibly unreduced) Zero-suppressed Decision Diagram.
Definition zdd.h:24
__zdd()
Default constructor with an empty result.
__zdd(const zdd &zdd)
Conversion constructor from a bdd to pass along a prior value.
__zdd(const shared_arc_file_type &f, const exec_policy &ep)
Wrapper for an algorithm's unreduced output.
__zdd(const shared_node_file_type &f)
Wrapper for an algorithm's already reduced output.
Settings to dictate the execution of Adiar's algorithms.
Definition exec_policy.h:35
shared_levelized_file< arc_type > shared_arc_file_type
Type of the file object arc-based representation of a diagram.
Definition dd.h:95
shared_levelized_file< node_type > shared_node_file_type
Type of the file object node-based representation of a diagram.
Definition dd.h:55
Container for the files that represent a Decision Diagram.
Definition dd.h:280
level_type label_type
Type of variable labels.
Definition dd.h:312
signed_level_type signed_label_type
Type for difference between variable labels.
Definition dd.h:317
shared_file_ptr< node_file_type > shared_node_file_type
File type for the shared file object representing the diagram.
Definition dd.h:347
signed_label_type shift() const
Read-only access to the number of levels to shift.
Definition dd.h:445
shared_node_file_type _file
The file describing the actual DAG of the decision diagram.
Definition dd.h:355
typename node_type::terminal_type terminal_type
Type of a terminal value.
Definition dd.h:337
Reduced Ordered Zero-suppressed Decision Diagram.
Definition zdd.h:68
friend size_t zdd_nodecount(const zdd &)
The number of (internal) nodes used to represent the family of sets.
zdd & operator=(const zdd &other)
Assigns new zdd.
zdd & operator&=(const zdd &other)
zdd(terminal_type t)
Implicit conversion from a terminal value to respectively construct Ø and {Ø} from respectively 0 and...
zdd & operator-=(const zdd &other)
friend label_type zdd_varcount(const zdd &)
The number of variables that exist in the family of sets, i.e. the number of levels present in the ZD...
zdd & operator=(__zdd &&other)
Assigns new zdd to a variable; the content is derefenced before the given __zdd is reduced into a zdd...
zdd & operator*=(const zdd &other)
zdd(__zdd &&A)
Implicit move conversion from a possibly to-be reduced result from an algorithm to a zdd.
zdd(zdd &&A)
Move construction, taking over ownership of the files underneath.
zdd & operator+=(const zdd &other)
zdd(const zdd &oA)
Copy construction, incrementing thre reference count on the file underneath.
zdd & operator|=(const zdd &other)
zdd()
Default construction, creating the empty set Ø.
consumer< ValueType > make_consumer(OutputIt &&iter)
Wrap an iterator into a consumer function.
Definition functional.h:71
Core types.
Definition adiar.h:40