enrich CCInt.Infix to get a uniform interface with CCInt{32,64}

This commit is contained in:
Simon Cruanes 2018-02-27 21:12:04 -06:00
parent 9f2ef2f461
commit da6d4a72fa
2 changed files with 22 additions and 15 deletions

View file

@ -1,9 +1,16 @@
(* This file is free software, part of containers. See file "license" for more details. *) (* This file is free software, part of containers. See file "license" for more details. *)
module Infix = struct
include Pervasives
let (--) = range
let (--^) = range'
end
include Infix
type t = int type t = int
let equal (a:int) b = a=b let equal (a:int) b = Pervasives.(=) a b
let compare a b = compare a b let compare a b = compare a b
@ -245,17 +252,3 @@ let range' i j yield =
[5;4;3] (range' 5 2 |> Sequence.to_list) [5;4;3] (range' 5 2 |> Sequence.to_list)
*) *)
module Infix = struct
let (=) = (=)
let (<>) = (<>)
let (<) = (<)
let (>) = (>)
let (<=) = (<=)
let (>=) = (>=)
let (--) = range
let (--^) = range'
end
include Infix
let min = min
let max = max

View file

@ -115,6 +115,20 @@ module Infix : sig
val (--^) : t -> t -> t sequence val (--^) : t -> t -> t sequence
(** Alias to {!range'}. (** Alias to {!range'}.
@since 1.2 *) @since 1.2 *)
val (+) : t -> t -> t (** @since NEXT_RELEASE *)
val (-) : t -> t -> t (** @since NEXT_RELEASE *)
val (~-) : t -> t (** @since NEXT_RELEASE *)
val ( * ) : t -> t -> t (** @since NEXT_RELEASE *)
val (/) : t -> t -> t (** @since NEXT_RELEASE *)
val (mod) : t -> t -> t (** @since NEXT_RELEASE *)
val (land) : t -> t -> t (** @since NEXT_RELEASE *)
val (lor) : t -> t -> t (** @since NEXT_RELEASE *)
val (lxor) : t -> t -> t (** @since NEXT_RELEASE *)
val lnot : t -> t (** @since NEXT_RELEASE *)
val (lsl) : t -> int -> t (** @since NEXT_RELEASE *)
val (lsr) : t -> int -> t (** @since NEXT_RELEASE *)
val (asr) : t -> int -> t (** @since NEXT_RELEASE *)
end end
include module type of Infix include module type of Infix