class ColorDAG extends AnyRef
The ColorDAG
class provides a data structure Directed Acyclic Graphs 'DAG's with colored
nodes. The ColorDAG
consists of source nodes (in-degree is 0), sink nodes (out-degree is 0)
and internal nodes. The edges connecting nodes must have color compatibility.
The ColorDAG
is divided into 'k' stages: e.g., sources (stage 0), internals (stages 1..k-2)
and sinks (stage k-1).
- Alphabetic
- By Inheritance
- ColorDAG
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
ColorDAG(dimensions: Array[Int], maxIn: Int, maxOut: Int, minColors: Int, maxColors: Int, colorDepth: Int, seed: Int = 0)
- dimensions
the dimension (number of nodes) for each stage
- maxIn
the maximum number of input colors for an internal node
- maxOut
the maximum number of output colors for an internal node
- minColors
the minimum number of child colors allowed in the color hierarchy
- maxColors
the maximum number of child colors allowed in the color hierarchy
- colorDepth
the maximum depth of the color hierarchy tree
- seed
the seed for the various random number generators
Type Members
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
checkIO(): Int
For each node in the DAG, check that (1) all of its "inputs" are color/type compatible with an output from a node from the previous stage, and (2) at least one of its "outputs" is color/type compatible with an input to a node from the next stage.
For each node in the DAG, check that (1) all of its "inputs" are color/type compatible with an output from a node from the previous stage, and (2) at least one of its "outputs" is color/type compatible with an input to a node from the next stage. Nodes that fails to have all of their inputs satisfied (check number 1) are thrown out before check if they have at least one useful output. Nodes failing check number 2 will also be thrown out.
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
- val colors: Tree
-
def
connect(): Unit
Connect all the nodes that are going to be "used" in the DAG by creating an edge between two nodes in adjacent stages that are color/type compatible.
Connect all the nodes that are going to be "used" in the DAG by creating an edge between two nodes in adjacent stages that are color/type compatible. Also add these edges to the DAG's list of edges.
- val edges: ListBuffer[Edge]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
genNodes(): Unit
Generate all the unique nodes that will exist in the DAG and assign colors/types to their inputs and outputs.
-
def
genUniqueColor(ioColors: Array[TreeNode]): TreeNode
Generate and return a unique color for either a node's inputs or outputs.
Generate and return a unique color for either a node's inputs or outputs.
- ioColors
the array of existing colors
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val nColors: Int
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val nodes: Array[Array[DagNode]]
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
popInOut(): Unit
Populate the in and out
ListBuffers
for each node based on the DAG's list of edges. -
def
printColorTree(): Unit
Print the
ColorTree
used by the DAG for node and edge colors/type and animate its construction. -
def
printColors(): Unit
Print the in (for inputs) and out (for outputs) colors for each node in the DAG.
-
def
printDAG(): Unit
Print the nodes and edges in the color DAG.
-
def
printInOut(): Unit
Print the in (for inputs) and out (for outputs) node list buffers for each used node in the DAG.
- val randCol: Randi
- val randIn: Randi
- val randOut: Randi
- val stages: Int
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated