?| `(%555.5.0+dev0-2025-04-28/%Int64$zero%int64?@@@@6../../stdlib/int64.mliee!@@%Int64@@@#one@@@@@h@@h@O@@A@@)minus_oneA@@@@knnkn@@B@@#neg@/B@@@4C@@@@@*%int64_negAA @@@8n9n@@7C@@#add@ID@@@@PE@@@UF@@@@@@@*%int64_addBA!@@@@YqZq@@XD@@#sub@jG@@@@qH@@@vI@@@@@@@*%int64_subBAB@@@@zt00{t0e@@yE@@#mul@J@@@@K@@@L@@@@@@@*%int64_mulBAc@@@@w{{w{@@F@@#div@M@@@@N@@@O@@@@@@@*%int64_divBA@@@@zz@@G@@,unsigned_div@P@@@@Q@@@R@@@@@@@@@  @  @@H@@#rem@S@@@@T@@@U@@@@@@@*%int64_modBA@@@@F k kF k @@I@@,unsigned_rem@ V@@@@W@@@X@@@@@@@@L  L  @@J@@$succ@&Y@@@+Z@@@@@@*R : :+R : S@@)K@@$pred@;[@@@@\@@@@@@?U  @U  @@>L@@#abs@P]@@@U^@@@@@@TX  UX  @@SM@@'max_int c_@@@@b\ y yc\ y @@aN@@'min_int!q`@@@@p_  q_  @@oO@@&logand"@a@@@@b@@@c@@@@@@@א*%int64_andBAY@@@@bbT@@P@@%logor#@d@@@@e@@@f@@@@@@@ܐ)%int64_orBAz@@@@errer@@Q@@&logxor$@g@@@@h@@@i@@@@@@@*%int64_xorBA@@@@hh@@R@@&lognot%@j@@@k@@@@@@k$$k$?@@S@@*shift_left&@l@@@@#intm@@@n@@@@@@@*%int64_lslBAҠ@@@@ nbb nb@@ T@@+shift_right'@o@@@@"p@@@'q@@@@@@@*%int64_asrBA@@@@+r,rQ@@*U@@3shift_right_logical(@<r@@@@Cs@@@Ht@@@@@@@*%int64_lsrBA@@@@Lx44Mx4w@@KV@@&of_int)@]u@@@bv@@@@@-%int64_of_intAA.@@@e~aaf~a@@dW@@&to_int*@vw@@@{x@@@@@-%int64_to_intAAG@@@~@@}X@@/unsigned_to_int+@y@@@&optionLz@@@@@@@@@kkk@@Y@@(of_float,@%float{@@@|@@@@@3caml_int64_of_floatA@;caml_int64_of_float_unboxedA@BPP@'unboxed@@@'noalloc@@@@Z@@(to_float-@}@@@6~@@@@@3caml_int64_to_floatA@;caml_int64_to_float_unboxed0@A^w@'unboxed^c^j@@^`^k@'noalloc^o^v@@^l@@[@@(of_int32.@%int32@@@@@@@@/%int64_of_int32AAݠ@@@@@\@@(to_int32/@%@@@@@@ @@ /%int64_to_int32AA@@@-TT.T@@,]@@,of_nativeint0@)nativeint@@@ D@@@ @@ 3%int64_of_nativeintAA@@@GQQHQ@@F^@@,to_nativeint1@X@@@@@@@@3%int64_to_nativeintAA)@@@`a9@@__@@)of_string2@&string@@@w@@@@@4caml_int64_of_stringAAC@@@z{=@@y`@@-of_string_opt3@@@@@@@@@@@@@C@@a@@)to_string4@@@@9@@@@@@@@b@@-bits_of_float5@@@@@@@@@8caml_int64_bits_of_floatA@ caml_int64_bits_of_float_unboxedA@g@'unboxedglgs@@gigt@'noallocgxg@@gu@@c@@-float_of_bits6@@@@C@@@ @@!8caml_int64_float_of_bitsA@ caml_int64_float_of_bits_unboxed=@A  !!@'unboxed!! !!@@!!!!@'noalloc!!!!@@!!@@d@@!t7A;@@@A@@@#@@@@!!!!@@@@e@A@'compare8@%Int64!t@@@*@%Int64!t@@@+:@@@,@@-@@.@9" " :" "#@@8f@@0unsigned_compare9@%Int64!t@@@/@%Int64!t@@@0\@@@1@@2@@3@[#)#)\#)#L@@Zg@@%equal:@%Int64!t@@@4@%Int64!t@@@5$bool@@@6@@7@@8@~####@@}h@@#min;@%Int64!t@@@9@%Int64!t@@@:%Int64!t@@@;@@<@@=@$$$$*@@i@@#max<@%Int64!t@@@>@%Int64!t@@@?%Int64!t@@@@@@A@@B@$l$l$l$@@j@@+seeded_hash=@@@@C@%Int64!t@@@D@@@E@@F@@G@$$$$@@k@@$hash>@%Int64!t@@@H@@@I@@J@%%%%@@l@@@3064-bit integers.@ 0 This module provides operations on the type %int64 4 of signed 64-bit integers. Unlike the built-in #int3 type, the type %int64 ^ is guaranteed to be exactly 64-bit wide on all platforms. All arithmetic operations over %int646 are taken modulo 2"64@@ ' Performance notice: values of type %int64 1 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.@ 9 Literals for 64-bit integers are suffixed by L: W let zero: int64 = 0L let one: int64 = 1L let m_one: int64 = -1L @@@@@@@@@@@@A6../../stdlib/int64.mli*Int64.zero35The 64-bit integer 0.@@@@@@@@@@@@e@@@@a)Int64.one35The 64-bit integer 1.@@@@@@@@@@@@`@@@@]/Int64.minus_one36The 64-bit integer -1.@@@@@@@@@@@@^@@@@[)Int64.neg3/Unary negation.@@@@@@@@@@@@\@ ^@@@@Q)Int64.add3)Addition.@@@@@@@@@@@@R@S@O@@@@B)Int64.sub3,Subtraction.@@@@@@@@@@@@C@"D@%@@@@@3)Int64.mul3/Multiplication.@@@@@@@@@@@@4@45@71@@@@$)Int64.div31Integer division.@@@@@@@@0Division_by_zero ~if the second argument is zero. This division rounds the real quotient of its arguments towards zero, as specified for *Stdlib.(/)@@!.@@@@@1@R2@U.@@@@!2Int64.unsigned_div3(Same as 'D@ 6, except that arguments and result are interpreted as , unsigned@1 64-bit integers.@@@@$4.08@@@@@@@2@t3@w/@@@@')Int64.rem37Integer remainder. If !y? is not zero, the result of -Int64.rem x y & satisfies the following property: ;x = Int64.add (Int64.mul (Int64.div x y) y) (Int64.rem x y)(. If %y = 0", -Int64.rem x y( raises 0Division_by_zero!.@@@@@@@@@@@@L@M@I@@@@<2Int64.unsigned_rem3(Same as ?D@ 6, except that arguments and result are interpreted as , unsigned@1 64-bit integers.@@@@$4.08@@@@@@@M@N@J@@@@B*Int64.succ3,Successor. ,Int64.succ x$ is 5Int64.add x Int64.one!.@@@@@@@@@@@@O@P@@@@H*Int64.pred3.Predecessor. ,Int64.pred x$ is 5Int64.sub x Int64.one!.@@@@@@@@@@@@U@V@@@@N)Int64.abs3%abs x: is the absolute value of !x%. On 'min_int, this is 'min_int " itself and thus remains negative.@@@@@@@@@@@@d@)e@@@@]-Int64.max_int3 ,The greatest representable 64-bit integer, 2"63@% - 1.@@@@@@@@@@@@f@@@@c-Int64.min_int3 -The smallest representable 64-bit integer, -2"63@!.@@@@@@@@@@@@l@@@@i,Int64.logand34Bitwise logical and.@@@@@@@@@@@@j@`k@cg@@@@Z+Int64.logor33Bitwise logical or.@@@@@@@@@@@@[@r\@uX@@@@K,Int64.logxor3=Bitwise logical exclusive or.@@@@@@@@@@@@L@M@I@@@@<,Int64.lognot39Bitwise logical negation.@@@@@@@@@@@@=@>@@@@60Int64.shift_left34Int64.shift_left x y( shifts !x0 to the left by !y ' bits. The result is unspecified if %y < 0$ or 'y >= 64!.@@@@@@@@@@@@R@S@O@@@@A1Int64.shift_right35Int64.shift_right x y( shifts !x1 to the right by !y 7 bits. This is an arithmetic shift: the sign bit of !x T is replicated and inserted in the vacated bits. The result is unspecified if %y < 0$ or 'y >= 64!.@@@@@@@@@@@@c@d@`@@@@S9Int64.shift_right_logical3=Int64.shift_right_logical x y( shifts !x1 to the right by !y h 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!.@@@@@@@@@@@@u@&v@)r@@@@e,Int64.of_int3 Convert the given integer (type #int ) to a 64-bit integer (type %int64").@@@@@@@@@@@@r@Ds@@@@g,Int64.to_int3 'Convert the given 64-bit integer (type %int649) to an integer (type #int @). On 64-bit platforms, the 64-bit integer is taken modulo 2"63@ y, i.e. the high-order bit is lost during the conversion. On 32-bit platforms, the 64-bit integer is taken modulo 2"31@ 9, i.e. the top 33 bits are lost during the conversion.@@@@@@@@@@@@@o@@@@y5Int64.unsigned_to_int3(Same as 4D@ $, but interprets the argument as an (unsigned@6 integer. Returns $None > if the unsigned value of the argument cannot fit into an #int!.@@@@$4.08@@@@@@@@@@@@.Int64.of_float3 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 [fD@", D@ Y], no exception is raised, and an unspecified, platform-dependent integer is returned.@@@@@@@@@@@@@@@@@.Int64.to_float3 The equal function for int64s.@@@@$4.03@@@@@@@z@[{@^t@@@@h)Int64.min3 (Return the smaller of the two arguments.@@@@$4.13@@@@@@@k@ol@re@@@@W)Int64.max3 (Return the greater of the two arguments.@@@@$4.13@@@@@@@Z@[@T@@@@F1Int64.seeded_hash3 JA seeded hash function for 64-bit ints, with the same output value as 3Hashtbl.seeded_hash@@ O. This function allows this module to be passed as argument to the functor 2Hashtbl.MakeSeeded@@!.@@@@#5.1@@@@@@@U@V@R@@@@G*Int64.hash3 MAn unseeded hash function for 64-bit ints, with the same output value as ,Hashtbl.hash@@ O. This function allows this module to be passed as argument to the functor ,Hashtbl.Make@@!.@@@@#5.1@@@@@@@V@W@@@@L@@@@A@@@@@