Stdlib.Int
Integer values.
Integers are Sys.int_size
bits wide and use two's complement representation. All operations are taken modulo 2Sys.int_size
. They do not fail on overflow.
div x y
is the division x / y
. See Stdlib.(/)
for details.
rem x y
is the remainder x mod y
. See Stdlib.(mod)
for details.
abs x
is the absolute value of x
. That is x
if x
is positive and neg x
if x
is negative. Warning. This may be negative if the argument is min_int
.
shift_left x n
shifts x
to the left by n
bits. The result is unspecified if n < 0
or n >
Sys.int_size
.
shift_right x n
shifts x
to the right by n
bits. This is an arithmetic shift: the sign bit of x
is replicated and inserted in the vacated bits. The result is unspecified if n < 0
or n >
Sys.int_size
.
shift_right x n
shifts x
to the right by n
bits. This is a logical shift: zeroes are inserted in the vacated bits regardless of the sign of x
. The result is unspecified if n < 0
or n >
Sys.int_size
.
compare x y
is Stdlib.compare
x y
but more efficient.
of_float x
truncates x
to an integer. The result is unspecified if the argument is nan
or falls outside the range of representable integers.
A seeded hash function for ints, with the same output value as Hashtbl.seeded_hash
. This function allows this module to be passed as argument to the functor Hashtbl.MakeSeeded
.
An unseeded hash function for ints, with the same output value as Hashtbl.hash
. This function allows this module to be passed as argument to the functor Hashtbl.Make
.