Module Tjr_binary_search
type 'e elt_ops
=
{
compare : 'e -> 'e -> int;
}
type ('e, 't) array_ops
=
{
get : 't -> int -> 'e;
length : 't -> int;
}
val binary_search : elt_ops:'a elt_ops -> array_ops:('a, 'b) array_ops -> 'b -> 'a -> [> `Empty_array | `Found_at of int | `Found_greater_than_at of int | `Found_less_than_at of int ]
val binary_search : elt_ops:'a elt_ops -> array_ops:('a, 'b) array_ops -> 'b -> 'a -> [> `Empty_array | `Found_at of int | `Found_bounding_indexes of int * int | `Greater_than_all_elts | `Less_than_all_elts ]
module type Test = sig ... end