val zero : t
The target integer 0.
val one : t
The target integer 1.
val minus_one : t
The target integer -1.
val div : t -> t -> t
Integer division. Raise
Division_by_zero
if the second argument is zero. This division rounds the real quotient of its arguments towards zero, as specified forStdlib.(/)
.
val unsigned_div : t -> t -> t
Same as
div
, except that arguments and result are interpreted as unsigned integers.
val rem : t -> t -> t
Integer remainder. If
y
is not zero, the result ofTargetint.rem x y
satisfies the following properties:Targetint.zero <= Nativeint.rem x y < Targetint.abs y
andx = Targetint.add (Targetint.mul (Targetint.div x y) y) (Targetint.rem x y)
. Ify = 0
,Targetint.rem x y
raisesDivision_by_zero
.
val unsigned_rem : t -> t -> t
Same as
rem
, except that arguments and result are interpreted as unsigned integers.
val max_int : t
The greatest representable target integer, either 231 - 1 on a 32-bit platform, or 263 - 1 on a 64-bit platform.
val min_int : t
The smallest representable target integer, either -231 on a 32-bit platform, or -263 on a 64-bit platform.
val shift_left : t -> int -> t
Targetint.shift_left x y
shiftsx
to the left byy
bits. The result is unspecified ify < 0
ory >= bitsize
, wherebitsize
is32
on a 32-bit platform and64
on a 64-bit platform.
val shift_right : t -> int -> t
Targetint.shift_right x y
shiftsx
to the right byy
bits. This is an arithmetic shift: the sign bit ofx
is replicated and inserted in the vacated bits. The result is unspecified ify < 0
ory >= bitsize
.
val shift_right_logical : t -> int -> t
Targetint.shift_right_logical x y
shiftsx
to the right byy
bits. This is a logical shift: zeroes are inserted in the vacated bits regardless of the sign ofx
. The result is unspecified ify < 0
ory >= bitsize
.
val of_int : int -> t
Convert the given integer (type
int
) to a target integer (typet
), module the target word size.
val of_int_exn : int -> t
Convert the given integer (type
int
) to a target integer (typet
). Raises a fatal error if the conversion is not exact.
val to_int : t -> int
Convert the given target integer (type
t
) to an integer (typeint
). The high-order bit is lost during the conversion.
val of_float : float -> t
Convert the given floating-point number to a target integer, discarding the fractional part (truncate towards 0). The result of the conversion is undefined if, after truncation, the number is outside the range [
Targetint.min_int
,Targetint.max_int
].
val to_float : t -> float
Convert the given target integer to a floating-point number.
val of_int32 : int32 -> t
Convert the given 32-bit integer (type
int32
) to a target integer.
val to_int32 : t -> int32
Convert the given target integer to a 32-bit integer (type
int32
). On 64-bit platforms, the 64-bit native integer is taken modulo 232, i.e. the top 32 bits are lost. On 32-bit platforms, the conversion is exact.
val of_int64 : int64 -> t
Convert the given 64-bit integer (type
int64
) to a target integer.
val to_int64 : t -> int64
Convert the given target integer to a 64-bit integer (type
int64
).
val of_string : string -> t
Convert the given string to a target integer. The string is read in decimal (by default) or in hexadecimal, octal or binary if the string begins with
0x
,0o
or0b
respectively. RaiseFailure "int_of_string"
if the given string is not a valid representation of an integer, or if the integer represented exceeds the range of integers representable in typenativeint
.
val to_string : t -> string
Return the string representation of its argument, in decimal.
val compare : t -> t -> int
The comparison function for target integers, with the same specification as
Stdlib.compare
. Along with the typet
, this functioncompare
allows the moduleTargetint
to be passed as argument to the functorsSet
.Make andMap
.Make.
val unsigned_compare : t -> t -> int
Same as
compare
, except that arguments are interpreted as unsigned integers.
val print : Stdlib.Format.formatter -> t -> unit
Print a target integer to a formatter.