add CCInt{32,64}.Infix

This commit is contained in:
Simon Cruanes 2018-02-27 21:07:01 -06:00
parent 4a317e57c1
commit 9f2ef2f461
4 changed files with 123 additions and 54 deletions

View file

@ -2,6 +2,9 @@
include Int32
let equal (x:t) y = Pervasives.(=) x y
module Infix = struct
let (+) = add
let (-) = sub
@ -28,7 +31,15 @@ let (lsr) = shift_right_logical
let (asr) = shift_right
let equal (x:t) y = Pervasives.(=) x y
let (=) = equal
let (<>) = Pervasives.(<>)
let (<) = Pervasives.(<)
let (<=) = Pervasives.(<=)
let (>) = Pervasives.(>)
let (>=) = Pervasives.(>=)
end
include Infix
let hash x = Pervasives.abs (to_int x)

View file

@ -68,6 +68,28 @@ val ( asr ) : t -> int -> t
and inserted in the vacated bits.
The result is unspecified if [y < 0] or [y >= 32]. *)
module Infix : sig
val (+) : t -> t -> t
val (-) : t -> t -> t
val (~-) : t -> t
val ( * ) : t -> t -> t
val (/) : t -> t -> t
val (mod) : t -> t -> t
val (land) : t -> t -> t
val (lor) : t -> t -> t
val (lxor) : t -> t -> t
val lnot : t -> t
val (lsl) : t -> int -> t
val (lsr) : t -> int -> t
val (asr) : t -> int -> t
val (=) : t -> t -> bool
val (<>) : t -> t -> bool
val (>) : t -> t -> bool
val (>=) : t -> t -> bool
val (<=) : t -> t -> bool
val (<) : t -> t -> bool
end
val equal : t -> t -> bool
(** The equal function for 32-bit integers.
Like {!Pervasives.(=) x y)}. *)

View file

@ -2,6 +2,9 @@
include Int64
let equal (x:t) y = Pervasives.(=) x y
module Infix = struct
let (+) = add
let (-) = sub
@ -28,7 +31,16 @@ let (lsr) = shift_right_logical
let (asr) = shift_right
let equal (x:t) y = Pervasives.(=) x y
let (=) = equal
let (<>) = Pervasives.(<>)
let (<) = Pervasives.(<)
let (<=) = Pervasives.(<=)
let (>) = Pervasives.(>)
let (>=) = Pervasives.(>=)
end
include Infix
let hash x = Pervasives.abs (to_int x)

View file

@ -66,6 +66,30 @@ val (asr) : t -> int -> t
and inserted in the vacated bits.
The result is unspecified if [y < 0] or [y >= 64]. *)
(** Infix operators
@since NEXT_RELEASE *)
module Infix : sig
val (+) : t -> t -> t
val (-) : t -> t -> t
val (~-) : t -> t
val ( * ) : t -> t -> t
val (/) : t -> t -> t
val (mod) : t -> t -> t
val (land) : t -> t -> t
val (lor) : t -> t -> t
val (lxor) : t -> t -> t
val lnot : t -> t
val (lsl) : t -> int -> t
val (lsr) : t -> int -> t
val (asr) : t -> int -> t
val (=) : t -> t -> bool
val (<>) : t -> t -> bool
val (>) : t -> t -> bool
val (>=) : t -> t -> bool
val (<=) : t -> t -> bool
val (<) : t -> t -> bool
end
val equal : t -> t -> bool
(** The equal function for 64-bit integers.
Like {!Pervasives.(=) x y)}. *)