logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Int64 - 64-bit integers.

Documentation

       Module Int64
        : sigend

       64-bit integers.

       This  module  provides  operations  on the type int64 of signed 64-bit integers.  Unlike the built-in int
       type, the type int64 is guaranteed to be exactly 64-bit wide on all platforms.  All arithmetic operations
       over int64 are taken modulo 2^64

       Performance notice: values of type int64 occupy  more  memory  space  than  values  of  type  int  ,  and
       arithmetic  operations  on  int64  are  generally  slower  than  those  on int .  Use int64 only when the
       application requires exact 64-bit arithmetic.

       Literals for 64-bit integers are suffixed by L:
             letzero:int64=0Lletone:int64=1Lletm_one:int64=-1Lvalzero : int64

       The 64-bit integer 0.

       valone : int64

       The 64-bit integer 1.

       valminus_one : int64

       The 64-bit integer -1.

       valneg : int64->int64

       Unary negation.

       valadd : int64->int64->int64

       Addition.

       valsub : int64->int64->int64

       Subtraction.

       valmul : int64->int64->int64

       Multiplication.

       valdiv : int64->int64->int64

       Integer division.

       RaisesDivision_by_zero if the second argument is zero.  This division rounds the real  quotient  of  its
       arguments towards zero, as specified for (/) .

       valunsigned_div : int64->int64->int64

       Same as Int64.div , except that arguments and result are interpreted as     unsigned 64-bit integers.

       Since 4.08

       valrem : int64->int64->int64

       Integer  remainder.   If y is not zero, the result of Int64.remxy satisfies the following property: x=Int64.add(Int64.mul(Int64.divxy)y)(Int64.remxy)  .   If  y=0  ,  Int64.remxy  raises
       Division_by_zero .

       valunsigned_rem : int64->int64->int64

       Same as Int64.rem , except that arguments and result are interpreted as     unsigned 64-bit integers.

       Since 4.08

       valsucc : int64->int64

       Successor.  Int64.succx is Int64.addxInt64.one .

       valpred : int64->int64

       Predecessor.  Int64.predx is Int64.subxInt64.one .

       valabs : int64->int64absx is the absolute value of x . On min_int this is min_int itself and thus remains negative.

       valmax_int : int64

       The greatest representable 64-bit integer, 2^63 - 1.

       valmin_int : int64

       The smallest representable 64-bit integer, -2^63.

       vallogand : int64->int64->int64

       Bitwise logical and.

       vallogor : int64->int64->int64

       Bitwise logical or.

       vallogxor : int64->int64->int64

       Bitwise logical exclusive or.

       vallognot : int64->int64

       Bitwise logical negation.

       valshift_left : int64->int->int64Int64.shift_leftxy shifts x to the left by y bits.  The result is unspecified if y<0 or y>=64 .

       valshift_right : int64->int->int64Int64.shift_rightxy shifts x to the right by y bits.  This is an arithmetic shift: the sign bit of x is
       replicated and inserted in the vacated bits.  The result is unspecified if y<0 or y>=64 .

       valshift_right_logical : int64->int->int64Int64.shift_right_logicalxy  shifts  x  to  the right by y bits.  This is a logical shift: zeroes are
       inserted in the vacated bits regardless of the sign of x .  The result is unspecified if y<0 or y>=64
       .

       valof_int : int->int64

       Convert the given integer (type int ) to a 64-bit integer (type int64 ).

       valto_int : int64->int

       Convert the given 64-bit integer (type int64 ) to an integer (type  int  ).   On  64-bit  platforms,  the
       64-bit  integer  is  taken modulo 2^63, i.e. the high-order bit is lost during the conversion.  On 32-bit
       platforms, the 64-bit integer is taken modulo 2^31, i.e. the top 33 bits are lost during the conversion.

       valunsigned_to_int : int64->intoption

       Same as Int64.to_int , but interprets the argument as an unsigned integer.  Returns None if the  unsigned
       value of the argument cannot fit into an int .

       Since 4.08

       valof_float : float->int64

       Convert  the  given  floating-point  number to a 64-bit integer, discarding the fractional part (truncate
       towards 0).  If the truncated floating-point number is outside the range [ Int64.min_int ,  Int64.max_int
       ], no exception is raised, and an unspecified, platform-dependent integer is returned.

       valto_float : int64->float

       Convert the given 64-bit integer to a floating-point number.

       valof_int32 : int32->int64

       Convert the given 32-bit integer (type int32 ) to a 64-bit integer (type int64 ).

       valto_int32 : int64->int32

       Convert  the  given 64-bit integer (type int64 ) to a 32-bit integer (type int32 ). The 64-bit integer is
       taken modulo 2^32, i.e. the top 32 bits are lost during the conversion.

       valof_nativeint : nativeint->int64

       Convert the given native integer (type nativeint ) to a 64-bit integer (type int64 ).

       valto_nativeint : int64->nativeint

       Convert the given 64-bit integer (type int64 ) to a native integer.   On  32-bit  platforms,  the  64-bit
       integer is taken modulo 2^32.  On 64-bit platforms, the conversion is exact.

       valof_string : string->int64

       Convert  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  with  0x  ,  0o  or  0b
       respectively.

       The  0u prefix reads the input as an unsigned integer in the range [0,2*Int64.max_int+1] .  If the input
       exceeds Int64.max_int it is converted to the signed integer Int64.min_int+input-Int64.max_int-1 .

       The _ (underscore) character can appear anywhere in the string and is ignored.

       RaisesFailure if the given string is not a valid  representation  of  an  integer,  or  if  the  integer
       represented exceeds the range of integers representable in type int64 .

       valof_string_opt : string->int64option

       Same as of_string , but return None instead of raising.

       Since 4.05

       valto_string : int64->string

       Return the string representation of its argument, in decimal.

       valbits_of_float : float->int64

       Return  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.

       valfloat_of_bits : int64->float

       Return  the floating-point number whose internal representation, according to the IEEE 754 floating-point
       'double format' bit layout, is the given int64 .

       typet = int64

       An alias for the type of 64-bit integers.

       valcompare : t->t->int

       The comparison function for 64-bit integers, with the same specification as compare  .   Along  with  the
       type  t , this function compare allows the module Int64 to be passed as argument to the functors Set.Make
       and Map.Make .

       valunsigned_compare : t->t->int

       Same as Int64.compare , except that arguments are interpreted as unsigned 64-bit integers.

       Since 4.08

       valequal : t->t->bool

       The equal function for int64s.

       Since 4.03

       valmin : t->t->t

       Return the smaller of the two arguments.

       Since 4.13

       valmax : t->t->t

       Return the greater of the two arguments.

       Since 4.13

       valseeded_hash : int->t->int

       A seeded hash function for 64-bit 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 .

       Since 5.1

       valhash : t->int

       An unseeded hash function for 64-bit ints, with the same output value as  Hashtbl.hash  .  This  function
       allows this module to be passed as argument to the functor Hashtbl.Make .

       Since 5.1

OCamldoc                                           2025-06-12                                          Int64(3o)

Module

       Module   Int64

Name

       Int64 - 64-bit integers.

See Also