B; *'55.5.0+dev0-2025-04-28/%Int64$zero%int64?@@@{@6../../stdlib/int64.mliee!@@%Int64@@@#one@@@@|@h@@h@O@@A@@)minus_oneA@@@}@knnkn@@B@@#neg@1B@@@~@@6C@@@@@*%int64_negAA @@@:n;n@@9C@@#add@MD@@@@@@VE@@@@@[F@@@@@@@*%int64_addBA%@@@@_q`q@@^D@@#sub@rG@@@@@@{H@@@@@I@@@@@@@*%int64_subBAJ@@@@t00t0e@@E@@#mul@J@@@@@@K@@@@@L@@@@@@@*%int64_mulBAo@@@@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@@@@@4X@@@@@@@@3L  4L  @@2J@@$succ@FY@@@@@KZ@@@@@@JR : :KR : S@@IK@@$pred@][@@@@@b\@@@@@@aU  bU  @@`L@@#abs@t]@@@@@y^@@@@@@xX  yX  @@wM@@'max_int _@@@@\ y y\ y @@N@@'min_int!`@@@@_  _  @@O@@&logand"@a@@@@@@b@@@@@c@@@@@@@ǐ*%int64_andBA@@@@bbT@@P@@%logor#@d@@@@@@e@@@@@f@@@@@@@ΐ)%int64_orBA@@@@errer@@Q@@&logxor$@g@@@@@@h@@@@@i@@@@@@@Ր*%int64_xorBAɠ@@@@hh@@R@@&lognot%@j@@@@@k@@@@@@k$$k$?@@S@@*shift_left&@-l@@@@@@#intm@@@@@<n@@@@@@@*%int64_lslBA@@@@@nbbAnb@@?T@@+shift_right'@So@@@@@@&p@@@@@aq@@@@@@@*%int64_asrBA+@@@@erfrQ@@dU@@3shift_right_logical(@xr@@@@@@Ks@@@@@t@@@@@@@*%int64_lsrBAP@@@@x44x4w@@V@@&of_int)@gu@@@@@v@@@@@-%int64_of_intAAl@@@~aa~a@@W@@&to_int*@w@@@@@x@@@@@-%int64_to_intAA@@@@@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-@$}@@@@@8~@@@@@3caml_int64_to_floatA@;caml_int64_to_float_unboxed2@A-.^w@'unboxed4^c5^j@@8^`9^k@'noalloc?^o@^v@@C^l@@A[@@(of_int32.@%int32@@@@@[@@@@@/%int64_of_int32AA%@@@^_@@]\@@(to_int32/@q@@@ @@ !@@@ @@ /%int64_to_int32AA@@@@yTTzT@@x]@@,of_nativeint0@)nativeint@@@ @@@@@@@3%int64_of_nativeintAA\@@@QQQ@@^@@,to_nativeint1@@@@@@!@@@@@3%int64_to_nativeintAAw@@@9@@_@@)of_string2@&string@@@@@@@@@@4caml_int64_of_stringAA@@@=@@`@@-of_string_opt3@@@@@@ @@@@@@@@@C@@a@@)to_string4@@@@@@!=@@@ @@"@@@b@@-bits_of_float5@!@@@#@@%@@@$@@&8caml_int64_bits_of_floatA@ caml_int64_bits_of_float_unboxedA@ g@'unboxed"gl#gs@@&gi'gt@'noalloc-gx.g@@1gu@@/c@@-float_of_bits6@C@@@'@@)W@@@(@@*8caml_int64_float_of_bitsA@ caml_int64_float_of_bits_unboxedQ@AL  M!!@'unboxedS!! T!!@@W!!X!!@'noalloc^!!_!!@@b!!@@`d@@!t7A;@@@Ar@@@,@@@@q!!r!!@@@@pe@A@'compare8@%Int64!t@@@3@@8@%Int64!t@@@4@@6b@@@5@@7@@9@" " " "#@@f@@0unsigned_compare9@%Int64!t@@@:@@?@%Int64!t@@@;@@=@@@<@@>@@@@#)#)#)#L@@g@@%equal:@%Int64!t@@@A@@F@%Int64!t@@@B@@D$bool@@@C@@E@@G@####@@h@@#min;@%Int64!t@@@H@@M@%Int64!t@@@I@@K%Int64!t@@@J@@L@@N@ $$$$*@@ i@@#max<@%Int64!t@@@O@@T@%Int64!t@@@P@@R%Int64!t@@@Q@@S@@U@6$l$l7$l$@@5j@@+seeded_hash=@@@@V@@[@%Int64!t@@@W@@Y$@@@X@@Z@@\@Y$$Z$$@@Xk@@$hash>@%Int64!t@@@]@@_>@@@^@@`@s%%t%%@@rl@@@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.@@@@@@@@@@@@@@@@ՠ)Int64.one35The 64-bit integer 1.@@@@@@@@@@@@@@@@Ѡ/Int64.minus_one36The 64-bit integer -1.@@@@@@@@@@@@@@@@Ϡ)Int64.neg3/Unary negation.@@@@@@@@@@@@@ @@@@à)Int64.add3)Addition.@@@@@@@@@@@@@@@@@@)Int64.sub3,Subtraction.@@@@@@@@@@@@@"@%@@@@)Int64.mul3/Multiplication.@@@@@@@@@@@@@4@7@@@@)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.(/)@@!.@@@@@@R@U@@@@2Int64.unsigned_div3(Same as 'D@ 6, except that arguments and result are interpreted as , unsigned@1 64-bit integers.@@@@$4.08@@@@@@@@t@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!.@@@@@@@@@@@@@@@@@@2Int64.unsigned_rem3(Same as ?D@ 6, except that arguments and result are interpreted as , unsigned@1 64-bit integers.@@@@$4.08@@@@@@@@@@@@@*Int64.succ3,Successor. ,Int64.succ x$ is 5Int64.add x Int64.one!.@@@@@@@@@@@@@@@@@*Int64.pred3.Predecessor. ,Int64.pred x$ is 5Int64.sub x Int64.one!.@@@@@@@@@@@@@@@@@)Int64.abs3%abs x: is the absolute value of !x%. On 'min_int, this is 'min_int " itself and thus remains negative.@@@@@@@@@@@@@)@@@@-Int64.max_int3 ,The greatest representable 64-bit integer, 2"63@% - 1.@@@@@@@@@@@@@@@@-Int64.min_int3 -The smallest representable 64-bit integer, -2"63@!.@@@@@@@@@@@@@@@@,Int64.logand34Bitwise logical and.@@@@@@@@@@@@@`@c@@@@+Int64.logor33Bitwise logical or.@@@@@@@@@@@@@r@u@@@@,Int64.logxor3=Bitwise logical exclusive or.@@@@@@@@@@@@@@@@@@,Int64.lognot39Bitwise logical negation.@@@@@@@@@@@@@@@@@x0Int64.shift_left34Int64.shift_left x y( shifts !x0 to the left by !y ' bits. The result is unspecified if %y < 0$ or 'y >= 64!.@@@@@@@@@@@@@@@@@@1Int64.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!.@@@@@@@@@@@@@@@@@@9Int64.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!.@@@@@@@@@@@@@&@)@@@@,Int64.of_int3 Convert the given integer (type #int ) to a 64-bit integer (type %int64").@@@@@@@@@@@@@D@@@@,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@@@@5Int64.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@@@@@@@@[@^@@@@v)Int64.min3 (Return the smaller of the two arguments.@@@@$4.13@@@@@@@y@oz@rq@@@@a)Int64.max3 (Return the greater of the two arguments.@@@@$4.13@@@@@@@d@e@\@@@@L1Int64.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@@@@@@@[@\@V@@@@I*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@@@@@@@X@Y@@@@L@@@@A@@@@@