chisel6.4.0 < Back


# Packages

-  package root
  Definition Classes
    root
-  package firrtl
  Definition Classes
    root
-  package graph
  Definition Classes
    firrtl
- CyclicException
- DiGraph
- MutableDiGraph
- PathNotFoundException

c

firrtl.graph

# MutableDiGraph

###

#### class MutableDiGraph[T] extends DiGraph[T]

Source
  DiGraph.scala

Linear Supertypes
DiGraph[T], AnyRef, Any
Type Hierarchy

Ordering

1. Alphabetic
2. By Inheritance

Inherited

1. MutableDiGraph
2. DiGraph
3. AnyRef
4. Any

Implicitly

1. by any2stringadd
2. by StringFormat
3. by Ensuring
4. by ArrowAssoc

1. Hide All
2. Show All

Visibility

1. Public
2. Protected

### Instance Constructors

1.  new MutableDiGraph()

### Value Members

1.  final def !=(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
2.  final def ##: Int
   Definition Classes
     AnyRef → Any
3.  def +(that: DiGraph[T]): DiGraph[T]

   Graph sum of `this` and `that`

   Graph sum of `this` and `that`

   that

     a second DiGraph[T]

   returns

     a DiGraph[T] containing all vertices and edges of each graph

   Definition Classes
     DiGraph
4.  def ->[B](y: B): (MutableDiGraph[T], B)
   Implicit
     This member is added by an implicit conversion from MutableDiGraph[T] toArrowAssoc[MutableDiGraph[T]] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()
5.  final def ==(arg0: Any): Boolean
   Definition Classes
     AnyRef → Any
6.  def BFS(root: T, blacklist: Set[T]): Map[T, T]

   Performs breadth-first search on the directed graph, with a blacklist of nodes

   Performs breadth-first search on the directed graph, with a blacklist of nodes

   root

     the start node

   blacklist

     list of nodes to avoid visiting, if encountered

   returns

     a Map[T,T] from each visited node to its predecessor in the traversal

   Definition Classes
     DiGraph
7.  def BFS(root: T): Map[T, T]

   Performs breadth-first search on the directed graph

   Performs breadth-first search on the directed graph

   root

     the start node

   returns

     a Map[T,T] from each visited node to its predecessor in the traversal

   Definition Classes
     DiGraph
8.  def addEdge(u: T, v: T): Unit

   Add edge (u,v) to the graph.

   Add edge (u,v) to the graph.

   Exceptions thrown

     `java.lang.IllegalArgumentException` if u and/or v is not in the graph

9.  def addEdgeIfValid(u: T, v: T): Boolean

   Add edge (u,v) to the graph if and only if both u and v are in the graph prior to calling addEdgeIfValid.

10.  def addPairWithEdge(u: T, v: T): Unit

    Add edge (u,v) to the graph, adding u and/or v if they are not already in the graph.

11.  def addVertex(v: T): T

    Add vertex v to the graph

    Add vertex v to the graph

    returns

      v, the added vertex

12.  final def asInstanceOf[T0]: T0
    Definition Classes
      Any
13.  def clone(): AnyRef
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.CloneNotSupportedException]) @native()
14.  def contains(v: T): Boolean

    Check whether the graph contains vertex v

    Check whether the graph contains vertex v

    Definition Classes
      DiGraph
15.  def ensuring(cond: (MutableDiGraph[T]) => Boolean, msg: => Any): MutableDiGraph[T]
    Implicit
      This member is added by an implicit conversion from MutableDiGraph[T] toEnsuring[MutableDiGraph[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
16.  def ensuring(cond: (MutableDiGraph[T]) => Boolean): MutableDiGraph[T]
    Implicit
      This member is added by an implicit conversion from MutableDiGraph[T] toEnsuring[MutableDiGraph[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
17.  def ensuring(cond: Boolean, msg: => Any): MutableDiGraph[T]
    Implicit
      This member is added by an implicit conversion from MutableDiGraph[T] toEnsuring[MutableDiGraph[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
18.  def ensuring(cond: Boolean): MutableDiGraph[T]
    Implicit
      This member is added by an implicit conversion from MutableDiGraph[T] toEnsuring[MutableDiGraph[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring
19.  final def eq(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
20.  def equals(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef → Any
21.  def finalize(): Unit
    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.Throwable])
22.  def findLoopAtNode(node: T): Seq[T]

    Finds a Seq of Nodes that form a loop

    Finds a Seq of Nodes that form a loop

    node

      Node to start loop path search from.

    returns

      The found Seq, the Seq is empty if there is no loop

    Definition Classes
      DiGraph
23.  def findSCCs: Seq[Seq[T]]

    Finds the strongly connected components in the graph

    Finds the strongly connected components in the graph

    returns

      a Seq of Seq[T], each containing nodes of an SCC in traversable order

    Definition Classes
      DiGraph
24.  def findSinks: Set[T]

    Find all sinks in the graph

    Find all sinks in the graph

    returns

      a Set[T] of sink nodes

    Definition Classes
      DiGraph
25.  def findSources: Set[T]

    Find all sources in the graph

    Find all sources in the graph

    returns

      a Set[T] of source nodes

    Definition Classes
      DiGraph
26.  final def getClass(): Class[_ <: AnyRef]
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
27.  def getEdgeMap: Map[T, Set[T]]
    Definition Classes
      DiGraph
28.  def getEdges(v: T): Set[T]

    Get all edges of a node

    Get all edges of a node

    v

      the specified node

    returns

      a Set[T] of all vertices that v has edges to

    Definition Classes
      DiGraph
29.  def getVertices: Set[T]

    Get all vertices in the graph

    Get all vertices in the graph

    returns

      a Set[T] of all vertices in the graph

    Definition Classes
      DiGraph
30.  def hashCode(): Int
    Definition Classes
      AnyRef → Any
    Annotations
      @native()
31.  final def isInstanceOf[T0]: Boolean
    Definition Classes
      Any
32.  def linearize: Seq[T]

    Linearizes (topologically sorts) a DAG

    Linearizes (topologically sorts) a DAG

    returns

      a Seq[T] describing the topological order of the DAG traversal

    Definition Classes
      DiGraph
    Exceptions thrown

      `CyclicException` if the graph is cyclic

33.  final def ne(arg0: AnyRef): Boolean
    Definition Classes
      AnyRef
34.  final def notify(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
35.  final def notifyAll(): Unit
    Definition Classes
      AnyRef
    Annotations
      @native()
36.  def path(start: T, end: T, blacklist: Set[T]): Seq[T]

    Finds a path (if one exists) from one node to another, with a blacklist

    Finds a path (if one exists) from one node to another, with a blacklist

    start

      the start node

    end

      the destination node

    blacklist

      list of nodes which break path, if encountered

    returns

      a Seq[T] of nodes defining an arbitrary valid path

    Definition Classes
      DiGraph
    Exceptions thrown
37.  def path(start: T, end: T): Seq[T]

    Finds a path (if one exists) from one node to another

    Finds a path (if one exists) from one node to another

    start

      the start node

    end

      the destination node

    returns

      a Seq[T] of nodes defining an arbitrary valid path

    Definition Classes
      DiGraph
    Exceptions thrown
38.  def pathsInDAG(start: T): LinkedHashMap[T, Seq[Seq[T]]]

    Finds all paths starting at a particular node in a DAG

    Finds all paths starting at a particular node in a DAG

    WARNING: This is an exponential time algorithm (as any algorithm must be for this problem), but is useful for flattening circuit graph hierarchies. Each path is represented by a Seq[T] of nodes in a traversable order.

    start

      the node to start at

    returns

      a Map[T,Seq[Seq[T]]] where the value associated with v is the Seq of all paths from start to v

    Definition Classes
      DiGraph
39.  def prettyTree(charSet: CharSet = PrettyCharSet)(implicit ev: =:=[T, String]): String

    Serializes a `DiGraph[String]` as a pretty tree

    Serializes a `DiGraph[String]` as a pretty tree

    Multiple roots are supported, but cycles are not.

    Definition Classes
      DiGraph
40.  def reachableFrom(root: T, blacklist: Set[T]): LinkedHashSet[T]

    Finds the set of nodes reachable from a particular node, with a blacklist.

    Finds the set of nodes reachable from a particular node, with a blacklist. The semantics of adding a node to the blacklist is that any of its inedges will be ignored in the traversal. The `root` node is *not* included in the returned set unless it is possible to reach `root` along a non-trivial path beginning at `root`; i.e., if the graph has a cycle that contains `root`.

    root

      the start node

    blacklist

      list of nodes to stop searching, if encountered

    returns

      a Set[T] of nodes reachable from `root`

    Definition Classes
      DiGraph
41.  def reachableFrom(root: T): LinkedHashSet[T]

    Finds the set of nodes reachable from a particular node.

    Finds the set of nodes reachable from a particular node. The `root` node is *not* included in the returned set unless it is possible to reach `root` along a non-trivial path beginning at `root`; i.e., if the graph has a cycle that contains `root`.

    root

      the start node

    returns

      a Set[T] of nodes reachable from `root`

    Definition Classes
      DiGraph
42.  def reverse: DiGraph[T]

    Returns a graph with all edges reversed

    Returns a graph with all edges reversed

    Definition Classes
      DiGraph
43.  def simplify(vprime: Set[T]): DiGraph[T]

    Return a simplified connectivity graph with only a subset of the nodes

    Return a simplified connectivity graph with only a subset of the nodes

    Any path between two non-deleted nodes (u,v) in the original graph will be transformed into an edge (u,v).

    vprime

      the Set[T] of desired vertices

    returns

      the simplified graph

    Definition Classes
      DiGraph
    Exceptions thrown

      `java.lang.IllegalArgumentException` if vprime is not a subset of V

44.  def subgraph(vprime: Set[T]): DiGraph[T]

    Return a graph with only a subset of the nodes

    Return a graph with only a subset of the nodes

    Any edge including a deleted node will be deleted

    vprime

      the Set[T] of desired vertices

    returns

      the subgraph

    Definition Classes
      DiGraph
    Exceptions thrown

      `java.lang.IllegalArgumentException` if vprime is not a subset of V

45.  final def synchronized[T0](arg0: => T0): T0
    Definition Classes
      AnyRef
46.  def toString(): String
    Definition Classes
      AnyRef → Any
47.  def transformNodes[Q](f: (T) => Q): DiGraph[Q]

    Return a graph with all the nodes of the current graph transformed by a function.

    Return a graph with all the nodes of the current graph transformed by a function. Edge connectivity will be the same as the current graph.

    f

      A function {(T) => Q} that transforms each node

    returns

      a transformed DiGraph[Q]

    Definition Classes
      DiGraph
48.  final def wait(): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
49.  final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException])
50.  final def wait(arg0: Long): Unit
    Definition Classes
      AnyRef
    Annotations
      @throws(classOf[java.lang.InterruptedException]) @native()

### Shadowed Implicit Value Members

1.  def +(other: String): String
   Implicit
     This member is added by an implicit conversion from MutableDiGraph[T] toany2stringadd[MutableDiGraph[T]] performed by method any2stringadd in scala.Predef.
   Shadowing
     This implicitly inherited member is shadowed by one or more members in this class.
     To access this member you can use a type ascription:

         (mutableDiGraph: any2stringadd[MutableDiGraph[T]]).+(other)

   Definition Classes
     any2stringadd

### Deprecated Value Members

1.  def formatted(fmtstr: String): String
   Implicit
     This member is added by an implicit conversion from MutableDiGraph[T] toStringFormat[MutableDiGraph[T]] performed by method StringFormat in scala.Predef.
   Definition Classes
     StringFormat
   Annotations
     @deprecated @inline()
   Deprecated

     (Since version 2.12.16) Use `formatString.format(value)` instead of `value.formatted(formatString)`, or use the `f""` string interpolator. In Java 15 and later, `formatted` resolves to the new method in String which has reversed parameters.

2.  def →[B](y: B): (MutableDiGraph[T], B)
   Implicit
     This member is added by an implicit conversion from MutableDiGraph[T] toArrowAssoc[MutableDiGraph[T]] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @deprecated
   Deprecated

     (Since version 2.13.0) Use `->` instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

### Inherited from DiGraph[T]

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion any2stringadd fromMutableDiGraph[T] to any2stringadd[MutableDiGraph[T]]

### Inherited by implicit conversion StringFormat fromMutableDiGraph[T] to StringFormat[MutableDiGraph[T]]

### Inherited by implicit conversion Ensuring fromMutableDiGraph[T] to Ensuring[MutableDiGraph[T]]

### Inherited by implicit conversion ArrowAssoc fromMutableDiGraph[T] to ArrowAssoc[MutableDiGraph[T]]

### Ungrouped