Crate boolean_expression [−] [src]
boolean_expression expression manipulation / BDD library
This crate provides for the manipulation and evaluation of Boolean expressions
and Binary Decision Diagrams (BDDs), and the construction of BDDs from Boolean
expressions. It can also simplify Boolean expressions via either a set of rules
such as DeMorgan's Law (see Expr::simplify()
), or via a roundtrip through a BDD
and a cubelist-based term reduction (see BDD::from_expr()
and
BDD::to_expr()
). The latter is more powerful, but also more expensive.
The main pieces of interest are:
Expr
, an AST enum for expression simpleAND
/OR
/NOT
-based expressions.BDD
, a Binary Decision Diagram implementation.CubeList
, a low-level datatype with support for cubelist manipulation (used when convertingBDD
functions to expressions).
Structs
BDD |
A |
Cube |
A |
CubeList |
A |
PersistedBDD |
A |
Enums
CubeMergeResult |
The result of attempting to merge two cubes. |
CubeVar |
A variable assignment in a cube. |
Expr |
An |
Constants
BDD_ONE |
A special terminal |
BDD_ZERO |
A special terminal |
Traits
BDDOutput |
The |
Type Definitions
BDDFunc |
A |