Tuple.Comparable_plainmodule S1 : Comparable.S_plainmodule S2 : Comparable.S_plaintype comparator_witness = (S1.comparator_witness, S2.comparator_witness) T2.comparator_witnessinclude Comparable.S_plain with type t := Make(S1)(S2).t with type comparator_witness := comparator_witnessinclude Base.Comparable.S with type t := Make(S1)(S2).t with type comparator_witness := comparator_witnessinclude Base.Comparisons.S with type t := Make(S1)(S2).tinclude Base.Comparisons.Infix with type t := Make(S1)(S2).tval (>=) : Make(S1)(S2).t -> Make(S1)(S2).t -> boolval (<=) : Make(S1)(S2).t -> Make(S1)(S2).t -> boolval (=) : Make(S1)(S2).t -> Make(S1)(S2).t -> boolval (>) : Make(S1)(S2).t -> Make(S1)(S2).t -> boolval (<) : Make(S1)(S2).t -> Make(S1)(S2).t -> boolval (<>) : Make(S1)(S2).t -> Make(S1)(S2).t -> boolval equal : Make(S1)(S2).t -> Make(S1)(S2).t -> boolval compare : Make(S1)(S2).t -> Make(S1)(S2).t -> intcompare t1 t2 returns 0 if t1 is equal to t2, a negative integer if t1 is less than t2, and a positive integer if t1 is greater than t2.
val min : Make(S1)(S2).t -> Make(S1)(S2).t -> Make(S1)(S2).tval max : Make(S1)(S2).t -> Make(S1)(S2).t -> Make(S1)(S2).tval ascending : Make(S1)(S2).t -> Make(S1)(S2).t -> intascending is identical to compare. descending x y = ascending y x. These are intended to be mnemonic when used like List.sort ~compare:ascending and List.sort
~cmp:descending, since they cause the list to be sorted in ascending or descending order, respectively.
val descending : Make(S1)(S2).t -> Make(S1)(S2).t -> intval between : Make(S1)(S2).t -> low:Make(S1)(S2).t -> high:Make(S1)(S2).t -> boolbetween t ~low ~high means low <= t <= high
val clamp_exn : Make(S1)(S2).t -> min:Make(S1)(S2).t -> max:Make(S1)(S2).t -> Make(S1)(S2).tclamp_exn t ~min ~max returns t', the closest value to t such that between t' ~low:min ~high:max is true.
Raises if not (min <= max).
val clamp : Make(S1)(S2).t -> min:Make(S1)(S2).t -> max:Make(S1)(S2).t -> Make(S1)(S2).t Base.Or_error.tinclude Base.Comparator.S with type t := Make(S1)(S2).t with type comparator_witness := comparator_witnessval comparator : (Make(S1)(S2).t, comparator_witness) Base.Comparator.comparatorval validate_lbound : min:Make(S1)(S2).t Base.Maybe_bound.t -> Make(S1)(S2).t Base.Validate.checkval validate_ubound : max:Make(S1)(S2).t Base.Maybe_bound.t -> Make(S1)(S2).t Base.Validate.checkval validate_bound : min:Make(S1)(S2).t Base.Maybe_bound.t -> max:Make(S1)(S2).t Base.Maybe_bound.t -> Make(S1)(S2).t Base.Validate.checkmodule Replace_polymorphic_compare : Base.Comparable.Polymorphic_compare with type t := Make(S1)(S2).tmodule Map : Map.S_plain with type Key.t = Make(S1)(S2).t with type Key.comparator_witness = comparator_witnessmodule Set : Set.S_plain with type Elt.t = Make(S1)(S2).t with type Elt.comparator_witness = comparator_witness