Crate oxidd_core

Source
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 (InnerNodes and terminal nodes) and provides Edges 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§

function
Function traits
util
Various utilities

Structs§

BroadcastContext
Context provided to workers by WorkerPool::broadcast()

Enums§

Node
Either an inner or a terminal node
ReducedOrNew
Result of the attempt to create a new node

Traits§

ApplyCache
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.
DiagramRules
Reduction rules for decision diagrams
Edge
Edge in a decision diagram
HasApplyCache
Apply cache container
HasLevel
Trait for nodes that have a level
HasWorkers
Helper trait to be implemented by Manager and ManagerRef if they feature a WorkerPool.
InnerNode
Node in a decision diagram
LevelView
View of a single level in the manager
Manager
Manager for nodes in a decision diagram
ManagerRef
Manager reference
Tag
Trait for tags that can be attached to pointers (e.g. edges, see Edge::Tag)
WorkerPool
Worker thread pool associated with a Manager

Type Aliases§

AtomicLevelNo
Atomic version of LevelNo
LevelNo
Level number type
NodeID
Node identifier returned by Edge::node_id()