Packages

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).

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ColorDAG
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. 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

  1. class DagNode extends AnyRef

    This inner class holds information about a node in the DAG.

  2. class Edge extends AnyRef

    This class is used to connect two nodes.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def animateDAG(): Unit

    Animate the color DAG.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. 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.

  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. val colors: Tree
  9. 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.

  10. val edges: ListBuffer[Edge]
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def genNodes(): Unit

    Generate all the unique nodes that will exist in the DAG and assign colors/types to their inputs and outputs.

  15. 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

  16. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. val nColors: Int
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. val nodes: Array[Array[DagNode]]
  22. final def notify(): Unit
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  24. def popInOut(): Unit

    Populate the in and out ListBuffers for each node based on the DAG's list of edges.

  25. def printColorTree(): Unit

    Print the ColorTree used by the DAG for node and edge colors/type and animate its construction.

  26. def printColors(): Unit

    Print the in (for inputs) and out (for outputs) colors for each node in the DAG.

  27. def printDAG(): Unit

    Print the nodes and edges in the color DAG.

  28. def printInOut(): Unit

    Print the in (for inputs) and out (for outputs) node list buffers for each used node in the DAG.

  29. val randCol: Randi
  30. val randIn: Randi
  31. val randOut: Randi
  32. val stages: Int
  33. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  34. def toString(): String
    Definition Classes
    AnyRef → Any
  35. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped