Module Caml.Int64
val div : int64 -> int64 -> int64Integer division. Raise
Division_by_zeroif the second argument is zero. This division rounds the real quotient of its arguments towards zero, as specified forStdlib.(/).
val unsigned_div : int64 -> int64 -> int64Same as
div, except that arguments and result are interpreted as unsigned 64-bit integers.- since
 - 4.08.0
 
val rem : int64 -> int64 -> int64Integer remainder. If
yis not zero, the result ofInt64.rem x ysatisfies the following property:x = Int64.add (Int64.mul (Int64.div x y) y) (Int64.rem x y). Ify = 0,Int64.rem x yraisesDivision_by_zero.
val unsigned_rem : int64 -> int64 -> int64Same as
rem, except that arguments and result are interpreted as unsigned 64-bit integers.- since
 - 4.08.0
 
val shift_left : int64 -> int -> int64Int64.shift_left x yshiftsxto the left byybits. The result is unspecified ify < 0ory >= 64.
val shift_right : int64 -> int -> int64Int64.shift_right x yshiftsxto the right byybits. This is an arithmetic shift: the sign bit ofxis replicated and inserted in the vacated bits. The result is unspecified ify < 0ory >= 64.
val shift_right_logical : int64 -> int -> int64Int64.shift_right_logical x yshiftsxto the right byybits. This is a logical shift: zeroes are inserted in the vacated bits regardless of the sign ofx. The result is unspecified ify < 0ory >= 64.
val to_int : int64 -> intConvert the given 64-bit integer (type
int64) to an integer (typeint). On 64-bit platforms, the 64-bit integer is taken modulo 263, i.e. the high-order bit is lost during the conversion. On 32-bit platforms, the 64-bit integer is taken modulo 231, i.e. the top 33 bits are lost during the conversion.
val unsigned_to_int : int64 -> int optionSame as
to_int, but interprets the argument as an unsigned integer. ReturnsNoneif the unsigned value of the argument cannot fit into anint.- since
 - 4.08.0
 
val of_float : float -> int64Convert the given floating-point number to a 64-bit integer, discarding the fractional part (truncate towards 0). The result of the conversion is undefined if, after truncation, the number is outside the range [
Int64.min_int,Int64.max_int].
val of_int32 : int32 -> int64Convert the given 32-bit integer (type
int32) to a 64-bit integer (typeint64).
val to_int32 : int64 -> int32Convert the given 64-bit integer (type
int64) to a 32-bit integer (typeint32). The 64-bit integer is taken modulo 232, i.e. the top 32 bits are lost during the conversion.
val of_nativeint : nativeint -> int64Convert the given native integer (type
nativeint) to a 64-bit integer (typeint64).
val to_nativeint : int64 -> nativeintConvert the given 64-bit integer (type
int64) to a native integer. On 32-bit platforms, the 64-bit integer is taken modulo 232. On 64-bit platforms, the conversion is exact.
val of_string : string -> int64Convert the given string to a 64-bit integer. The string is read in decimal (by default, or if the string begins with
0u) or in hexadecimal, octal or binary if the string begins with0x,0oor0brespectively.The
0uprefix reads the input as an unsigned integer in the range[0, 2*Int64.max_int+1]. If the input exceedsInt64.max_intit is converted to the signed integerInt64.min_int + input - Int64.max_int - 1.The
_(underscore) character can appear anywhere in the string and is ignored. RaiseFailure "Int64.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 typeint64.
val of_string_opt : string -> int64 optionSame as
of_string, but returnNoneinstead of raising.- since
 - 4.05
 
val bits_of_float : float -> int64Return the internal representation of the given float according to the IEEE 754 floating-point 'double format' bit layout. Bit 63 of the result represents the sign of the float; bits 62 to 52 represent the (biased) exponent; bits 51 to 0 represent the mantissa.
val float_of_bits : int64 -> floatReturn the floating-point number whose internal representation, according to the IEEE 754 floating-point 'double format' bit layout, is the given
int64.
val compare : t -> t -> intThe comparison function for 64-bit integers, with the same specification as
Stdlib.compare. Along with the typet, this functioncompareallows the moduleInt64to be passed as argument to the functorsSet.MakeandMap.Make.