Expand description
Collection of fundamental traits and types to represent decision diagrams
§Overview
One of the most central traits is Manager
. The manager is responsible
for storing the nodes of a decision diagram (InnerNode
s and terminal
nodes) and provides Edge
s to identify them.
From the user’s perspective, Function
is very
important. A function is some kind of external reference to a node and is
the basis for assigning semantics to nodes and providing operations such as
applying connectives of boolean logic.
Modules§
Structs§
- Broadcast
Context - Context provided to workers by
WorkerPool::broadcast()
Enums§
- Node
- Either an inner or a terminal node
- Reduced
OrNew - Result of the attempt to create a new node
Traits§
- Apply
Cache - Cache for the result of apply operations
- Countable
- Types whose values can be counted, i.e. there is a bijection between the
values of the type and the range
0..=MAX_VALUE
. - Diagram
Rules - Reduction rules for decision diagrams
- Edge
- Edge in a decision diagram
- HasApply
Cache - Apply cache container
- HasLevel
- Trait for nodes that have a level
- HasWorkers
- Helper trait to be implemented by
Manager
andManagerRef
if they feature aWorkerPool
. - Inner
Node - Node in a decision diagram
- Level
View - View of a single level in the manager
- Manager
- Manager for nodes in a decision diagram
- Manager
Ref - Manager reference
- Tag
- Trait for tags that can be attached to pointers (e.g. edges, see
Edge::Tag
) - Worker
Pool - Worker thread pool associated with a
Manager
Type Aliases§
- Atomic
Level No - Atomic version of
LevelNo
- LevelNo
- Level number type
- NodeID
- Node identifier returned by
Edge::node_id()