This is the trivialib.bdd Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 06:57:14 2025 GMT+0.
The main system appears first, followed by any subsystem dependency.
trivialib.bddBDD and ZDD implementation using Trivia
Masataro Asai
LLGPL
0.1
alexandria (system).
trivia (system).
trivial-garbage (system).
immutable-struct (system).
0.package.lisp (file).
1.struct.lisp (file).
2.odd.lisp (file).
3.bdd.lisp (file).
4.zdd.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
trivialib.bdd/trivialib.bdd.asdtrivialib.bdd/0.package.lisptrivialib.bdd/1.struct.lisptrivialib.bdd/2.odd.lisptrivialib.bdd/3.bdd.lisptrivialib.bdd/4.zdd.lisptrivialib.bdd/1.struct.lisp0.package.lisp (file).
trivialib.bdd (system).
*leaf-cache* (special variable).
*node-cache* (special variable).
*variables* (special variable).
copy-leaf (function).
copy-node (function).
leaf-content (reader).
(setf leaf-content) (writer).
leaf-p (function).
make-leaf (function).
make-node (function).
node-hi (reader).
(setf node-hi) (writer).
node-lo (reader).
(setf node-lo) (writer).
node-p (function).
node-variable (reader).
(setf node-variable) (writer).
trivialib.bdd/2.odd.lisp1.struct.lisp (file).
trivialib.bdd (system).
call-with-odd-context (function).
odd (function).
odd (structure).
odd-apply (function).
with-odd-context (macro).
*operation* (special variable).
copy-odd (function).
make-odd (function).
odd-compatible-p (function).
odd-node-cache (reader).
odd-operation (reader).
odd-p (function).
odd-root (reader).
odd-variables (reader).
trivialib.bdd/3.bdd.lisp2.odd.lisp (file).
trivialib.bdd (system).
trivialib.bdd/4.zdd.lisp3.bdd.lisp (file).
trivialib.bdd (system).
Packages are listed by definition order.
trivialib.bddalexandria.
common-lisp.
trivia.level2.
!unit (function).
bdd (function).
bdd-apply (function).
bdd-node (function).
call-with-odd-context (function).
change (function).
leaf (function).
leaf (structure).
make-family (function).
make-set (function).
node (structure).
odd (function).
odd (structure).
odd-apply (function).
unit (function).
with-odd-context (macro).
zdd (function).
zdd-apply (function).
zdd-node (function).
*leaf-cache* (special variable).
*node-cache* (special variable).
*operation* (special variable).
*variables* (special variable).
copy-leaf (function).
copy-node (function).
copy-odd (function).
leaf-content (reader).
(setf leaf-content) (writer).
leaf-p (function).
make-leaf (function).
make-node (function).
make-odd (function).
node-hi (reader).
(setf node-hi) (writer).
node-lo (reader).
(setf node-lo) (writer).
node-p (function).
node-variable (reader).
(setf node-variable) (writer).
odd-compatible-p (function).
odd-node-cache (reader).
odd-operation (reader).
odd-p (function).
odd-root (reader).
odd-variables (reader).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Execute BODY in a dynamic environment where the context variables
(‘*VARIABLES*’ , ‘*NODE-CACHE*’ and ‘*OPERATION*’) are set.
DEFAULT should be nil or an ODD object, in which case
the context variables are inherited by the given ODD.
Returns a BDD node whose HI node is a terminal node of NIL and LO node is a terminal node of T (opposite to UNIT). Useful for representing a boolean variable.
Shortcut for instantiating an ODD using BDD-APPLY.
APPLY rule for BDD.
Node generation & pruning rule for BDD.
Function version of WITH-ODD-CONTEXT.
Change operation defined in MINATO et al. 93’. Flip the existense of a given variable in the family of sets.
Examples:
(change {{1,3} {2,5}} 6) –> {{1,3,6} {2,5,6}}
(change {{1,3} {2,5,6}} 6) –> {{1,3,6} {2,5}}
Return the leaf node in the hash table *leaf-cache*, creating an instance when required
Example: (make-family ’((1 3 5) (2 4))) –> a zdd representing {{1,3,5},{2,4}}
Example: (make-set ’(1 3 5)) –> a zdd representing {{1,3,5}}
Applies the operation stored in ODD, recursively. At the leaf-level, applies LEAF-OPERATION.
Returns a BDD node whose HI node is a terminal node of T and LO node is a terminal node of NIL. Useful for representing a boolean variable.
Shortcut for instantiating an ODD using ZDD-APPLY.
APPLY rule for ZDD.
Node generation & pruning rule for ZDD.
Leaf node of a decision diagram
structure-object.
lightweight node in Decision Diagram.
VARIABLE: an integer representing the index of a variable. cf. VARIABLES slot in structure DD
HI,LO: hi/lo pointer
structure-object.
common-lisp.
fixnum
0
(or trivialib.bdd:node trivialib.bdd:leaf)
(trivialib.bdd:leaf nil)
(or trivialib.bdd:node trivialib.bdd:leaf)
(trivialib.bdd:leaf nil)
Structure representing a whole Decision Diagram.
Holds the context information such as variables and node-cache.
For different variable ordering, ODDs are incompatible.
structure-object.
none (uninterned).
(or trivialib.bdd:node trivialib.bdd:leaf)
(trivialib.bdd:leaf nil)
This slot is read-only.
none (uninterned).
sequence
trivialib.bdd::*variables*
This slot is read-only.
none (uninterned).
hash-table
trivialib.bdd::*node-cache*
This slot is read-only.
none (uninterned).
(function ((or trivialib.bdd:node trivialib.bdd:leaf) (or trivialib.bdd:node trivialib.bdd:leaf) (function (t t) *)) (or trivialib.bdd:node trivialib.bdd:leaf))
trivialib.bdd::*operation*
This slot is read-only.
hash table to look up a leaf node of a thing.
Hash table to look up in order to avoid the creation of redundunt nodes.
This cache is specific to the ODD context defined by the pair of variables and operation(BDD-APPLY or ZDD-APPLY).
Generic operations for a decision diagram in the current context, either #’BDD-APPLY or #’ZDD-APPLY.
ODD variables in the current context.
Check if two ODDs have the same variable ordering, node-cache, and operations.
| Jump to: | !
(
B C F L M N O U W Z |
|---|
| Jump to: | !
(
B C F L M N O U W Z |
|---|
| Jump to: | *
C H L N O R S V |
|---|
| Jump to: | *
C H L N O R S V |
|---|
| Jump to: | 0
1
2
3
4
F L N O P S T |
|---|
| Jump to: | 0
1
2
3
4
F L N O P S T |
|---|