src/cplib/graph/range_edge_graph

  Source   Edit

Types

Range_Edge_Graph[T] = ref object
  G*: WeightedDirectedGraph[T]
  n*: int
  baseLen*: int
  zero: T
  root: int
  nodes: seq[RangeEdgeGraphNode]
  Source   Edit

Procs

proc add_edge[T](G: Range_Edge_Graph[T]; from_l, from_r, to_l, to_r: int;
                 cost: T)
  Source   Edit
proc add_edge[T](G: Range_Edge_Graph[T]; src, to: int; cost: T)
  Source   Edit
proc add_point_to_point_edge[T](G: Range_Edge_Graph[T]; src, to: int; cost: T)
  Source   Edit
proc add_point_to_range_edge[T](G: Range_Edge_Graph[T]; src, to_l, to_r: int;
                                cost: T)
  Source   Edit
proc add_range_to_point_edge[T](G: Range_Edge_Graph[T]; from_l, from_r, to: int;
                                cost: T)
  Source   Edit
proc add_range_to_range_edge[T](G: Range_Edge_Graph[T];
                                from_l, from_r, to_l, to_r: int; cost: T)
  Source   Edit
proc base_len[T](G: Range_Edge_Graph[T]): int
  Source   Edit
proc initWeightedRangeGraph(N: int): Range_Edge_Graph[int] {....raises: [],
    tags: [].}
  Source   Edit
proc initWeightedRangeGraph[T](N: int; edgetype: typedesc[T]): Range_Edge_Graph[
    T]
  Source   Edit
proc initWeightedRangeGraph[T](N: int; zero: T): Range_Edge_Graph[T]
  Source   Edit
proc len[T](G: Range_Edge_Graph[T]): int
  Source   Edit
proc original_len[T](G: Range_Edge_Graph[T]): int
  Source   Edit