sig
type pos = int * int
type path = PathVisual.PathFinding.pos list
type hash_from_pos_to_int = int PathVisual.IntPairHash.t
type heap_of_pos_cost_dist = PathVisual.MutBinHeap.t
type distance_function =
PathVisual.PathFinding.pos -> PathVisual.PathFinding.pos -> float
val dist_simple :
PathVisual.PathFinding.pos -> PathVisual.PathFinding.pos -> float
val dist_euclid :
PathVisual.PathFinding.pos -> PathVisual.PathFinding.pos -> float
val string_of_path : PathVisual.PathFinding.path -> string
val path :
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.hash_from_pos_to_int ->
PathVisual.PathFinding.path
val lineofsight :
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.pos ->
(PathVisual.PathFinding.pos -> bool) -> bool
val path_opt'' :
PathVisual.Cave.t ->
PathVisual.PathFinding.path * PathVisual.PathFinding.path *
PathVisual.PathFinding.path * PathVisual.PathFinding.pos list ->
(PathVisual.PathFinding.path ->
PathVisual.PathFinding.path ->
PathVisual.PathFinding.pos list ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.path * PathVisual.PathFinding.path *
PathVisual.PathFinding.path * PathVisual.PathFinding.pos list) ->
PathVisual.PathFinding.path * PathVisual.PathFinding.path *
PathVisual.PathFinding.path * PathVisual.PathFinding.pos list
val path_opt' : 'a -> 'b list -> 'c list * 'b list * 'b list * 'd list
val path_opt :
PathVisual.Cave.t ->
PathVisual.PathFinding.path ->
(PathVisual.PathFinding.path ->
PathVisual.PathFinding.path ->
PathVisual.PathFinding.pos list ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.path * PathVisual.PathFinding.path *
PathVisual.PathFinding.path * PathVisual.PathFinding.pos list) ->
PathVisual.PathFinding.path
val path_opt_good_foundf :
(int * int) list ->
'a ->
(int * int) list ->
int * int ->
int * int ->
(int * int) list * (int * int) list * (int * int) list * 'b list
val path_opt_good :
PathVisual.Cave.t ->
PathVisual.PathFinding.path -> PathVisual.PathFinding.path
val path_opt_fast_foundf :
(int * int) list ->
'a ->
'b list ->
int * int -> int * int -> (int * int) list * 'b list * 'b list * 'c list
val path_opt_fast :
PathVisual.Cave.t ->
PathVisual.PathFinding.path -> PathVisual.PathFinding.path
exception Exception_intpairhash of int PathVisual.IntPairHash.t
val pathfindingloop :
'a ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.pos ->
('a ->
PathVisual.PathFinding.pos -> PathVisual.PathFinding.pos -> 'b * 'c) ->
('a -> PathVisual.PathFinding.pos -> 'b -> 'c -> 'd -> 'b * 'c) ->
'd -> PathVisual.PathFinding.path
val astar'' :
PathVisual.Cave.t ->
PathVisual.MutBinHeap.pos ->
PathVisual.PathFinding.hash_from_pos_to_int ->
PathVisual.PathFinding.heap_of_pos_cost_dist ->
PathVisual.PathFinding.distance_function ->
PathVisual.PathFinding.hash_from_pos_to_int *
PathVisual.PathFinding.heap_of_pos_cost_dist
val astar' :
'a ->
PathVisual.MutBinHeap.pos ->
'b -> 'c PathVisual.IntPairHash.t * PathVisual.MutBinHeap.t
val astar :
PathVisual.Cave.t ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.distance_function -> PathVisual.PathFinding.path
val dijkstra'' :
PathVisual.Cave.t ->
PathVisual.MutBinHeap.pos ->
PathVisual.PathFinding.hash_from_pos_to_int ->
PathVisual.PathFinding.heap_of_pos_cost_dist ->
PathVisual.PathFinding.distance_function ->
PathVisual.PathFinding.hash_from_pos_to_int *
PathVisual.PathFinding.heap_of_pos_cost_dist
val dijkstra' :
'a ->
PathVisual.MutBinHeap.pos ->
'b -> 'c PathVisual.IntPairHash.t * PathVisual.MutBinHeap.t
val dijkstra :
PathVisual.Cave.t ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.distance_function -> PathVisual.PathFinding.path
val greedy_astar'' :
PathVisual.Cave.t ->
PathVisual.MutBinHeap.pos ->
PathVisual.PathFinding.hash_from_pos_to_int ->
PathVisual.PathFinding.heap_of_pos_cost_dist ->
PathVisual.PathFinding.distance_function ->
PathVisual.PathFinding.hash_from_pos_to_int *
PathVisual.PathFinding.heap_of_pos_cost_dist
val greedy_astar' :
'a ->
PathVisual.MutBinHeap.pos ->
'b -> 'c PathVisual.IntPairHash.t * PathVisual.MutBinHeap.t
val greedy_astar :
PathVisual.Cave.t ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.pos ->
PathVisual.PathFinding.distance_function -> PathVisual.PathFinding.path
end