This is the trivialib.bdd Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 06:59:02 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
trivialib.bdd
BDD 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.asd
trivialib.bdd/0.package.lisp
trivialib.bdd/1.struct.lisp
trivialib.bdd/2.odd.lisp
trivialib.bdd/3.bdd.lisp
trivialib.bdd/4.zdd.lisp
trivialib.bdd/1.struct.lisp
0.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.lisp
1.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.lisp
2.odd.lisp
(file).
trivialib.bdd
(system).
trivialib.bdd/4.zdd.lisp
3.bdd.lisp
(file).
trivialib.bdd
(system).
Packages are listed by definition order.
trivialib.bdd
alexandria
.
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 |
---|