Functor Diameter.Make

module Make (G : G) : MakeGen(G)(NoOpt)
Parameters:
G : G

module W: sig .. end
module D: Diameter.G.WT
val no_dist : W.t
module Queue: Vector.Queue(sig
type t = Diameter.G.vertex 
end)
val q : Queue.t
val bfs_distances : ?dist_array:D.t option ->
Diameter.G.t -> D.key -> D.t
module Heap: Vector.Heap(sig
type t = Diameter.G.vertex * Diameter.MakeGen.W.t 
val compare : 'a * Diameter.MakeGen.W.t -> 'b * Diameter.MakeGen.W.t -> int
end)
val h : Heap.t
val dijkstra_distances : ?dist_array:D.t option ->
Diameter.G.t -> D.key -> D.t
type sweep_info = {
   source : Diameter.G.vertex;
   ecc : W.t;
   last : Diameter.G.vertex;
   ecc' : W.t;
   last' : Diameter.G.vertex;
}
val dum_sweep : Diameter.G.vertex -> W.t -> sweep_info
type estimate = 
| Ecc
| Ecc'
| Ecc'Ecc
| Dsum
| Dsum'
| Dmin
| Dmin'
| Dmax
| Dmax'
val str_of_estimate : estimate -> string
type extr = 
| Min of estimate
| Max of estimate
val str_of_extr : extr -> string
val periodic_heuristic : 'a array -> int -> 'a
val basic_period : extr array
val big_period : extr array
val full_period : extr array
val pseudo_sum_sweep : extr array
val maxmin_period_bizarre : extr array
val maxmin_period : extr array
val sum_sweep_period : extr array
val sum_sweep_debug : extr array
val sum_sweep_fun : int -> extr
val period : extr array
val periodic_heuristic_eriod : int -> extr
exception Break
type diam_info = {
   diam_lb : W.t;
   diam_ub : W.t;
   diam_pair : sweep_info;
   rev_diam_pair : sweep_info;
   rad_lb : W.t;
   rad_ub : W.t;
   rad_center : sweep_info;
   rev_rad_lb : W.t;
   rev_rad_ub : W.t;
   rev_rad_center : sweep_info;
}
val diameter_radius_scc : ?diam_only:bool ->
?max_sweeps:int ->
?heuristic:(int -> extr) ->
Diameter.G.t -> D.key -> diam_info