sig
module Make :
functor (Num : Bounding_box_intf.Numeric_S) ->
sig
module Num :
sig
type t = Num.t
val zero : t
val ( + ) : t -> t -> t
val ( - ) : t -> t -> t
val ( * ) : t -> t -> t
val ( >= ) : t -> t -> bool
val min : t -> t -> t
val max : t -> t -> t
val abs : t -> t
end
type a = Num.t
type c = a * a
type t = c * c
val empty : t
val area : t -> a
val overlaps : t -> t -> bool
val union : t -> t -> t
val union_many : t list -> t
val delta : t -> t -> a
val distance : t -> t -> a
end
module Num :
sig
type t = float
val zero : t
val ( + ) : t -> t -> t
val ( - ) : t -> t -> t
val ( * ) : t -> t -> t
val ( >= ) : t -> t -> bool
val min : t -> t -> t
val max : t -> t -> t
val abs : t -> t
end
type a = Bounding_box.Num.t
type c = Bounding_box.a * Bounding_box.a
type t = Bounding_box.c * Bounding_box.c
val empty : Bounding_box.t
val area : Bounding_box.t -> Bounding_box.a
val overlaps : Bounding_box.t -> Bounding_box.t -> bool
val union : Bounding_box.t -> Bounding_box.t -> Bounding_box.t
val union_many : Bounding_box.t list -> Bounding_box.t
val delta : Bounding_box.t -> Bounding_box.t -> Bounding_box.a
val distance : Bounding_box.t -> Bounding_box.t -> Bounding_box.a
end