package fungi

  1. Overview
  2. Docs

Module PathImpl.Compute

Parameters

module Measure : Measurable with type t = edge and type edge = edge

Signature

type measure = Measure.t Axiom.wrap
module PathList : Heap.Ordinal with type order = measure and type t = measure pathelt
module PathHeap : Heap.FibHeap with type node = measure pathelt and type order = measure
module PathSet : Treeset.TSet with type t := measure pathelt
val dijkresolve : elt -> (elt * measure) list -> (elt * elt * measure) list -> (elt * measure) list
val dijkstra : elt -> elt -> adj NodeMap.t -> (elt * measure) list
val astar : (elt -> measure) -> elt -> elt -> adj NodeMap.t -> (elt * measure) list
val bellresolve : elt -> elt -> PathList.t PathSet.set -> (elt * measure) list
val bellmanford : elt -> elt -> adj NodeMap.t -> (elt * measure) list * (elt * elt) EdgeSet.set
val johnsons : elt -> adj NodeMap.t -> adj NodeMap.t * (elt -> elt -> edge -> edge)
val floydwresolve : elt -> elt -> measure array array -> int Axiom.wrap array array -> (int * elt) list -> (elt * measure) list option
val floydwarshall : ?negcycles:bool -> adj NodeMap.t -> measure array array * int Axiom.wrap array array * (int * elt) list