base

Full standard library replacement for OCaml
IN THIS PACKAGE
Module Base . Maybe_bound
type 'a t =
| Incl of 'a
| Excl of 'a
| Unbounded
val all : 'a list -> 'a t list
include Sexpable.S1 with type 'a t := 'a t
val t_of_sexp : ( Sexplib0.Sexp.t -> 'a ) -> Sexplib0.Sexp.t -> 'a t
val sexp_of_t : ( 'a -> Sexplib0.Sexp.t ) -> 'a t -> Sexplib0.Sexp.t
val map : 'a t -> f:( 'a -> 'b ) -> 'b t
val is_lower_bound : 'a t -> of_:'a -> compare:( 'a -> 'a -> int ) -> bool
val is_upper_bound : 'a t -> of_:'a -> compare:( 'a -> 'a -> int ) -> bool
val interval_contains_exn : lower:'a t -> upper:'a t -> 'a -> compare:( 'a -> 'a -> int ) -> bool

interval_contains_exn ~lower ~upper x ~compare raises if lower and upper are crossed.

val bounds_crossed : lower:'a t -> upper:'a t -> compare:( 'a -> 'a -> int ) -> bool

bounds_crossed ~lower ~upper ~compare returns true if lower > upper.

It ignores whether the bounds are Incl or Excl.

type interval_comparison =
| Below_lower_bound
| In_range
| Above_upper_bound
val sexp_of_interval_comparison : interval_comparison -> Sexp.t
val interval_comparison_of_sexp : Sexp.t -> interval_comparison
val compare_interval_comparison : interval_comparison -> interval_comparison -> int
val hash_fold_interval_comparison : Hash.state -> interval_comparison -> Hash.state
val hash_interval_comparison : interval_comparison -> Hash.hash_value
val compare_to_interval_exn : lower:'a t -> upper:'a t -> 'a -> compare:( 'a -> 'a -> int ) -> interval_comparison

compare_to_interval_exn ~lower ~upper x ~compare raises if lower and upper are crossed.