Caml1999I037a-Stdlib__Int32$zero;%int32N@@@h@)int32.mliee@@@@@#one<@@@i@h$$h$3@@A@@)minus_one=@@@j@kRRkRg@@+B@@#neg>@,@@@k0@@@l@@m*%int32_negAA @@@3n4n@@CC@@#add?@D@@@n@J@@@oN@@@p@@q@@r*%int32_addBA@@@@QqRq@@aD@@#sub@@b@@@s@h@@@tl@@@u@@v@@w*%int32_subBA<@@@@otptI@@E@@#mulA@@@@x@@@@y@@@z@@{@@|*%int32_mulBAZ@@@@w__w_@@F@@#divB@@@@}@@@@~@@@@@@@*%int32_divBAx@@@@zz@@G@@,unsigned_divC@@@@@@@@@@@@@@@@@  @  @@H@@#remD@@@@@@@@@@@@@@@*%int32_modBA@@@@F O OF O @@I@@,unsigned_remE@@@@@@@@@@@@@@@@L t tL t @@ J@@$succF@ @@@@@@@@@R  R  7@@K@@$predG@@@@#@@@@@@!U w w"U w @@1L@@#absH@2@@@6@@@@@@4X  5X  @@DM@@'max_intIC@@@@A\ ] ]B\ ] p@@QN@@'min_intJP@@@@N_  O_  @@^O@@&logandK@_@@@@e@@@i@@@@@@@*%int32_andBA9@@@@lcmc9@@|P@@%logorL@}@@@@@@@@@@@@@@)%int32_orBAW@@@@fWWfW@@Q@@&logxorM@@@@@@@@@@@@@@@*%int32_xorBAu@@@@ii@@R@@&lognotN@@@@@@@@@@l  l $@@S@@*shift_leftO@@@@@#intA@@@@@@@@@@*%int32_lslBA@@@@oGGoG@@T@@+shift_rightP@@@@@ @@@@@@@@@@*%int32_asrBAƠ@@@@ss6@@ U@@3shift_right_logicalQ@ @@@@>@@@@@@@@@@*%int32_lsrBA@@@@yy\@@'V@@&of_intR@V@@@,@@@@@-%int32_of_intAA@@@.FF/Fv@@>W@@&to_intS@?@@@q@@@@@-%int32_to_intAA@@@E  F <@@UX@@/unsigned_to_intT@V@@@&optionL@@@@@@@@@_DD`Dm@@oY@@(of_floatU@%floatD@@@v@@@@@ɐ3caml_int32_of_floatA@;caml_int32_of_float_unboxedA@Az)){@'unboxed@@@'noalloc@@@@Z@@(to_floatV@@@@4@@@@@̐3caml_int32_to_floatA@;caml_int32_to_float_unboxed.@A7P@'unboxed7<7C@@797D@'noalloc7H7O@@7E@@[@@)of_stringW@&stringQ@@@@@@@@ϐ4caml_int32_of_stringAA@@@@@\@@-of_string_optX@@@@@@@@@@@@@@@]@@)to_stringY@@@@5@@@@@@...M@@^@@-bits_of_floatZ@@@@@@@@@ِ8caml_int32_bits_of_floatA@ caml_int32_bits_of_float_unboxedA@@'unboxed  @@#$@'noalloc*+@@.@@=_@@-float_of_bits[@>@@@@@@@@ܐ8caml_int32_float_of_bitsA@ caml_int32_float_of_bits_unboxed@AE99F@'unboxedLM@@PQ@'noallocWX@@[@@j`@@!t\;@@@Ak@@@@@@@iffjft@@@@ya@A@'compare]@@@@@@@@@@@@@@@@@@b@@0unsigned_compare^@@@@@@@@@@@@@@@@@@c@@%equal_@/@@@@4@@@$boolE@@@@@@@@ c c c |@@d@@#min`@H@@@@M@@@P@@@@@@@@    @@e@@#maxa@^@@@@c@@@f@@@@@@@@! ! ! !@@f@@+seeded_hashb@@@@@z@@@%@@@@@@@@!a!a!a!@@g@@$hashc@@@@7@@@@@@"a"a"a"t@@h@@@k:.-Stdlib__Int320 u&&Stdlib0Lku]8_٠8CamlinternalFormatBasics0%FU(Q/Tu@@@Caml1999T037ZMFC-Stdlib__Int32*ocaml.text&_none_@@A  32-bit integers. This module provides operations on the type [int32] of signed 32-bit integers. Unlike the built-in [int] type, the type [int32] is guaranteed to be exactly 32-bit wide on all platforms. All arithmetic operations over [int32] are taken modulo 2{^32}. Performance notice: values of type [int32] occupy more memory space than values of type [int], and arithmetic operations on [int32] are generally slower than those on [int]. Use [int32] only when the application requires exact 32-bit arithmetic. Literals for 32-bit integers are suffixed by l: {[ let zero: int32 = 0l let one: int32 = 1l let m_one: int32 = -1l ]} )int32.mliP77c@@@@@@3@@@@@@#intA;@@@A@@@@@:@A@$charB;@@A@@@@@>@A@&stringQ;@@ A@@@@@B@@@%bytesC;@@ A@@@@@F@@@%floatD;@@A@@@@@J@@@$boolE;@@%falsec@@T@$trued@@Z@@@A@@@@@[@A@$unitF;@@"()e@@e@@@A@@@@@f@A@ #exnG;@@@A@@@@@j@@@#effH;@@O@A@A@@@@@@s@@@,continuationI;@@Q@@P@B@A@nY@@@@@@@@@%arrayJ;@@R@A@A@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@A@Y@@@@@@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AJA@Y@@@@@@@@5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@A[A@Y@@@@@@@@*atomic_locU;@@Z@AdA@@@@@@@@@.Assert_failure`#@@@@@J@@@@@@@@[@@A=ocaml.warn_on_literal_pattern @ @0Division_by_zero]#@@@A  @+End_of_file\#$@@@A@'FailureY#,@'@@A!$$@0Invalid_argumentX#5@0@@A*$-#-@-Match_failureV#>@@=@9@;@@a@@A;5>4>@)Not_foundZ#O@@@AC=F<F@-Out_of_memoryW#W@@@AKENDN@.Stack_overflow^#_@@@ASMVLV@.Sys_blocked_io_#g@@@A[U^T^@)Sys_error[#o@j@@Ad^g]g@:Undefined_recursive_modulea#x@@w@s@u@@h@@Auoxnx@:Continuation_already_takenb#@@@A}wv@&Stdlib@Ax$zeroee@г̠%int32ee@@ @@@@@@e@)ocaml.doc7 The 32-bit integer 0. ff"@@@@@@@@@@@@@@@@@#oneh$(h$+@г%int32h$.h$3@@ @@@3@K8@A@@@h$$ @97 The 32-bit integer 1. i44i4P@@@@@@@A@@@Iꐠ@@@@@@!)minus_onekRVkR_@г:%int32kRbkRg@@ @@@3@8K6@A@@@kRR @p8 The 32-bit integer -1.  lhhlh@@@@@@@&B@@@!@@@@@@!#neg$n%n@б@гs%int32/n0n@@ @@@310011111@:M8@A@@г%int32>n?n@@ @@@@@@@@@@*%int32_negAA @@@NnOn@1 Unary negation. \o]o@@@@@@@uC@@@q@@@@@@8#addtquq@б@гà%int32qq@@ @@@3@Qf?@A@@б@гԠ%int32qq@@ @@@@@г᠐%int32qq@@ @@@@@@@@!@@@'@@$* @@*%int32_addBAb@@@@qq@!+ Addition. rr@@@@@@@D@@@2Ӑ@@@@@@J#subtt @б@г%%int32t#t(@@ @@@3@cx?@A@@б@г6%int32t,t1@@ @@@@@гC%int32t5t:@@ @@@@@@@@!@@@'@@$* @@*%int32_subBAĠ@@@@ttI@. Subtraction.  uJJ!uJ]@@@@@@@9E@@@5@@@@@@J#mul8w_h9w_k@б@г%int32Cw_nDw_s@@ @@@3EDDEEEEE@cx?@A@@б@г%int32Tw_wUw_|@@ @@@@@г%int32aw_bw_@@ @@@@@@@@!@@@'@@$* @@*%int32_mulBA&@@@@tw__uw_@吠1 Multiplication. xx@@@@@@@F@@@@@@@@@J#divzz@б@г預%int32zz@@ @@@3@cx?@A@@б@г%int32zz@@ @@@@@г%int32zz@@ @@@@@@@@!@@@'@@$* @@*%int32_divBA@@@@zz@G Integer division. This division rounds the real quotient of its arguments towards zero, as specified for {!Stdlib.(/)}. @raise Division_by_zero if the second argument is zero. {~  @@@@@@@G@@@X@@@@@@J,unsigned_div@  @  @б@гK%int32@  @  @@ @@@3      @cx?@A@@б@г\%int32@  @  @@ @@@@@гi%int32%@  &@  @@ @@@@@@@@!@@@'@@$* @@@3@  @ x Same as {!div}, except that arguments and result are interpreted as {e unsigned} 32-bit integers. @since 4.08 @A  AD ; M@@@@@@@YH@@@T@@@@@@C#remWF O XXF O [@б@г%int32bF O ^cF O c@@ @@@3dccddddd@\q8@A@@б@г%int32sF O gtF O l@@ @@@@@гĠ%int32F O pF O u@@ @@@@@@@@!@@@'@@$* @@*%int32_modBAE@@@@F O OF O @ Integer remainder. If [y] is not zero, the result of [Int32.rem x y] satisfies the following property: [x = Int32.add (Int32.mul (Int32.div x y) y) (Int32.rem x y)]. If [y = 0], [Int32.rem x y] raises [Division_by_zero]. G  J 6 r@@@@@@@I@@@@@@@@@J,unsigned_remL t xL t @б@г%int32L t L t @@ @@@3@cx?@A@@б@г%int32L t L t @@ @@@@@г&%int32L t L t @@ @@@@@@@@!@@@'@@$* @@@L t t@` x Same as {!rem}, except that arguments and result are interpreted as {e unsigned} 32-bit integers. @since 4.08 M  P  @@@@@@@J@@@p@@@@@@C$succR  "R  &@б@гc%int32R  ) R  .@@ @@@3!  !!!!!@\q8@A@@гr%int32.R  2/R  7@@ @@@@@@@@@@@9R   @ 8 Successor. [Int32.succ x] is [Int32.add x Int32.one]. FS 8 8GS 8 u@@@@@@@_K@@@Z@@@@@@1$pred]U w {^U w @б@г%int32hU w iU w @@ @@@3jiijjjjj@J_8@A@@г%int32wU w xU w @@ @@@@@@@@@@@U w w @򐠠 : Predecessor. [Int32.pred x] is [Int32.sub x Int32.one]. V  V  @@@@@@@L@@@@@@@@@1#absX  X  @б@г%int32X  X  @@ @@@3@J_8@A@@г%int32X  X  @@ @@@@@@@@@@@X   @; k [abs x] is the absolute value of [x]. On [min_int] this is [min_int] itself and thus remains negative. Y  Z ' [@@@@@@@M@@@K쐠@@@@@@1'max_int \ ] a\ ] h@г<%int32\ ] k\ ] p@@ @@@3@H]6@A@@@\ ] ] @r 8 The greatest representable 32-bit integer, 2{^31} - 1. ] q q] q @@@@@@@(N@@@#@@@@@@!'min_int!&_  '_  @гs%int32/_  0_  @@ @@@310011111@8K6@A@@@9_   @ 5 The smallest representable 32-bit integer, -2{^31}. F`  G`  @@@@@@@_O@@@Z@@@@@@!&logand"]c ^c@б@г%int32hcic@@ @@@3jiijjjjj@:M8@A@@б@г%int32yczc!@@ @@@@@гʠ%int32c%c*@@ @@@@@@@@!@@@'@@$* @@*%int32_andBAK@@@@cc9@ 6 Bitwise logical and. d::d:U@@@@@@@P@@@@@@@@@J%logor#fW`fWe@б@г%int32fWhfWm@@ @@@3@cx?@A@@б@г%int32fWqfWv@@ @@@@@г,%int32fWzfW@@ @@@@@@@@!@@@'@@$* @@)%int32_orBA@@@@fWWfW@l5 Bitwise logical or.  g g@@@@@@@"Q@@@}@@@@@@J&logxor$!i"i@б@гp%int32,i-i@@ @@@3.--.....@cx?@A@@б@г%int32=i>i@@ @@@@@г%int32JiKi@@ @@@@@@@@!@@@'@@$* @@*%int32_xorBA@@@@]i^i@ΐ? Bitwise logical exclusive or. kjlj@@@@@@@R@@@@@@@@@J&lognot%l  l @б@гҠ%int32l l @@ @@@3@cx?@A@@г᠐%int32l l $@@ @@@@@@@@@@@l   @; Bitwise logical negation. m%%m%E@@@@@@@S@@@(ɐ@@@@@@1*shift_left&oGPoGZ@б@г%int32oG]oGb@@ @@@3@J_8@A@@б@г#intoGfoGi@@ @@@@@г9%int32oGmoGr@@ @@@@@@@@!@@@'@@$* @@*%int32_lslBA@@@@oGG oG@y r [Int32.shift_left x y] shifts [x] to the left by [y] bits. The result is unspecified if [y < 0] or [y >= 32]. pq@@@@@@@/T@@@+@@@@@@J+shift_right'.s/s@б@г}%int329s:s@@ @@@3;::;;;;;@cx?@A@@б@г#intJsKs@@ @@@@@г%int32Ws"Xs'@@ @@@@@@@@!@@@'@@$* @@*%int32_asrBA@@@@jsks6@ې [Int32.shift_right x y] 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 >= 32]. xt77yw@@@@@@@U@@@@@@@@@J3shift_right_logical(y"y5@б@гߠ%int32y8y=@@ @@@3@cx?@A@@б@г#intyAyD@@ @@@@@г%int32yHyM@@ @@@@@@@@!@@@'@@$* @@*%int32_lsrBA~@@@@yy\@= [Int32.shift_right_logical x y] 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 >= 32]. z]]} D@@@@@@@V@@@N@@@@@@J&of_int)FOFU@б@гР#intFXF[@@ @@@3@cx?@A@@гP%int32 F_ Fd@@ @@@@@@@@@@-%int32_of_intAAΠ@@@ FF Fv@ Convert the given integer (type [int]) to a 32-bit integer (type [int32]). On 64-bit platforms, the argument is taken modulo 2{^32}.  )ww * @@@@@@@ BW@@@ >@@@@@@7&to_int* A  B @б@г%int32 L  M #@@ @@@3 N M M N N N N N@Pe>@A@@г .#int [ ' \ *@@ @@@@@@@@@@-%int32_to_intAA@@@ j   k <@ې  Convert the given 32-bit integer (type [int32]) to an integer (type [int]). On 32-bit platforms, the 32-bit integer is taken modulo 2{^31}, i.e. the high-order bit is lost during the conversion. On 64-bit platforms, the conversion is exact.  x== y3B@@@@@@@ X@@@ @@@@@@7/unsigned_to_int+ DH DW@б@гߠ%int32 DZ D_@@ @@@3        @Pe>@A@@г &option Dg Dm@г #int Dc Df@@ @@@@@@@@@ @@@$@@!'@@@ DD@4 Same as {!to_int}, but interprets the argument as an {e unsigned} integer. Returns [None] if the unsigned value of the argument cannot fit into an [int]. @since 4.08  nn '@@@@@@@ Y@@*@D 吠@@@@@@@(of_float, )2 ):@б@г %float )= )B@@ @@@3        @Yn8@A@@г F%int32 )F )K@@ @@@@@@@@@@3caml_int32_of_floatA@;caml_int32_of_float_unboxedA@A )) @'unboxed  @@  @'noalloc % &@@ )@ 7 Convert the given floating-point number to a 32-bit integer, discarding the fractional part (truncate towards 0). If the truncated floating-point number is outside the range \[{!Int32.min_int}, {!Int32.max_int}\], no exception is raised, and an unspecified, platform-dependent integer is returned.  6 7@@@@@@@ OZ@,,@)(@'&@# @ T@@@@@@W=(to_float- W X@б@г %int32 b c@@ @@@3 d c c d d d d d@p^@A@@г 3%float q r@@ @@@@@@@@@@3caml_int32_to_floatA@;caml_int32_to_float_unboxedo@A  7P@'unboxed 7< 7C@@ 79 7D@'noalloc 7H 7O@@ 7E@  > Convert the given 32-bit integer to a floating-point number.  QQ Q@@@@@@@ [@++@)(@'&@# @ ! @@@@@@V=)of_string.  @б@г &string  @@ @@@3        @o]@A@@г #%int32  @@ @@@@@@@@@@4caml_int32_of_stringAA@@@  @ _  Convert the given string to a 32-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*Int32.max_int+1]]. If the input exceeds {!Int32.max_int} it is converted to the signed integer [Int32.min_int + input - Int32.max_int - 1]. The [_] (underscore) character can appear anywhere in the string and is ignored. @raise Failure 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 [int32].   l@@@@@@@ \@@@ p @@@@@@7-of_string_opt/  @б@г 預&string  @@ @@@3 !   ! ! ! ! !@Pe>@A@@г &option . /@г |%int32 8 9@@ @@@ @@@@@@  @@@$@@ !'@@@ H@ L Same as [of_string], but return [None] instead of raising. @since 4.05  U V+@@@@@@@ n]@@*@  i@@@@@@@)to_string0 l.2 m.;@б@г %int32 w.> x.C@@ @@@ 3 y x x y y y y y@Yn8@A@@г P&string .G .M@@ @@@@@@@@@@@ .. @  F Return the string representation of its argument, in signed decimal.  NN N@@@@@@@ ^@@@  @@@@@@1-bits_of_float1  @б@г %float  @@ @@@3        @J_8@A@@г %int32  @@ @@@@@@@@@@8caml_int32_bits_of_floatA@ caml_int32_bits_of_float_unboxedA@Ͱ  @'unboxed   @@  @'noalloc  @@ @ e  Return the internal representation of the given float according to the IEEE 754 floating-point 'single format' bit layout. Bit 31 of the result represents the sign of the float; bits 30 to 23 represent the (biased) exponent; bits 22 to 0 represent the mantissa.   7@@@@@@@ _@++@)(@'&@# @  @@@@@@V=-float_of_bits2 #9B $9O@б@г r%int32 .9R /9W@@ @@@3 0 / / 0 0 0 0 0@o]@A@@г %float =9[ >9`@@ @@@@@@@@@@8caml_int32_float_of_bitsA@ caml_int32_float_of_bits_unboxed;@A M99 N@'unboxed T U@@ X Y@'noalloc _ `@@ c@ Ӑ Return the floating-point number whose internal representation, according to the IEEE 754 floating-point 'single format' bit layout, is the given [int32].  p qId@@@@@@@ `@++@)(@'&@# @  @@@@@@V=A+!t3A fk fl@@;@@@A @@@@@@@ ff ft@ + An alias for the type of 32-bit integers.  uu u@@@@@@@@@ a@@@Aг%int32 fo@@3        @r*;@@@A2@@@@@@@@&#@@@A%@@' 1 Ґ%$@$$@@@$@$@@3        @@A32@'compare4  @б@гP!t  @@ @@@3        @2[U@A@@б@гa!t  @@ @@@@@г Ӡ#int  @@ @@@ @@@@@!!@@@'@@"$* @@@ @ ~ The comparison function for 32-bit integers, with the same specification as {!Stdlib.compare}. Along with the type [t], this function [compare] allows the module [Int32] to be passed as argument to the functors {!Set.Make} and {!Map.Make}.   @@@@@@@ 4b@@@  /@@@@@@C0unsigned_compare5 2 3@б@г!t = >@@ @@@#3 ? > > ? ? ? ? ?@\q8@A@@б@г!t N O@@ @@@$@@г .#int [ \@@ @@@%@@@@@&!@@@'@@'$* @@@ i@ ِ q Same as {!compare}, except that arguments are interpreted as {e unsigned} 32-bit integers. @since 4.08  v w O a@@@@@@@ c@@@  @@@@@@C%equal6  c g  c l@б@г!t  c n  c o@@ @@@(3        @\q8@A@@б@г!t  c s  c t@@ @@@)@@г t$bool  c x  c |@@ @@@*@@@@@+!@@@'@@,$* @@@  c c@ 4 0 The equal function for int32s. @since 4.03   } }   @@@@@@@ d@@@ D 吠@@@@@@C#min7      @б@гa!t      @@ @@@-3        @\q8@A@@б@гr!t    @@ @@@.@@г!t    @@ @@@/@@@@@0!@@@'@@1$* @@@  @ : Return the smaller of the two arguments. @since 4.13 ,  -!!@@@@@@@Ee@@@ @@@@@@@C#max8C! !D! !@б@г!tN! !O! !@@ @@@23POOPPPPP@\q8@A@@б@г͠!t_! !`! !@@ @@@3@@гڠ!tl! !m! !@@ @@@4@@@@@5!@@@'@@6$* @@@z! ! @ ꐠ ; Return the greater of the two arguments. @since 4.13 !!!\!_@@@@@@@f@@@ @@@@@@C+seeded_hash9!a!e!a!p@б@г|#int!a!s!a!v@@ @@@73@\q8@A@@б@г(!t!a!z!a!{@@ @@@8@@г#int!a!!a!@@ @@@9@@@@@:!@@@'@@;$* @@@!a!a@ E A seeded hash function for 32-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 !!"N"_@@@@@@@g@@@ U@@@@@@C$hash:"a"e"a"i@б@гr!t"a"l"a"m@@ @@@<3@\q8@A@@г栐#int"a"q"a"t@@ @@@=@@@@@>@@@"a"a @ An unseeded hash function for 32-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 +"u"u,#6#G@@@@@@@Dh@@@ ?@@@@@@1@  @  w@ W B@ " @  @ t ;@  @  {@ T @  @  b@ B @  @  @ m X@ 8 #@ @j@C @@c@<@@|U@/@@e@@@f0@@@]6@A@t@T@@i@I@@p@@3@r@A@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Xavier Leroy, projet Cristal, INRIA Rocquencourt E44E4@ H FF@ H Copyright 1996 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H IhhIh@ H All rights reserved. This file is distributed under the terms of JJ@ H the GNU Lesser General Public License version 2.1, with the KKN@ H special exception on linking described in the file LICENSE. LOOLO@ H MM@ H************************************************************************NN5@ * 32-bit integers. This module provides operations on the type [int32] of signed 32-bit integers. Unlike the built-in [int] type, the type [int32] is guaranteed to be exactly 32-bit wide on all platforms. All arithmetic operations over [int32] are taken modulo 2{^32}. Performance notice: values of type [int32] occupy more memory space than values of type [int], and arithmetic operations on [int32] are generally slower than those on [int]. Use [int32] only when the application requires exact 32-bit arithmetic. Literals for 32-bit integers are suffixed by l: {[ let zero: int32 = 0l let one: int32 = 1l let m_one: int32 = -1l ]} 栠8* The 32-bit integer 0. J8* The 32-bit integer 1. 9* The 32-bit integer -1.  ⠠2* Unary negation.  ,* Addition.  7/* Subtraction.  ؠ2* Multiplication.  y * Integer division. This division rounds the real quotient of its arguments towards zero, as specified for {!Stdlib.(/)}. @raise Division_by_zero if the second argument is zero.   y* Same as {!div}, except that arguments and result are interpreted as {e unsigned} 32-bit integers. @since 4.08  * Integer remainder. If [y] is not zero, the result of [Int32.rem x y] satisfies the following property: [x = Int32.add (Int32.mul (Int32.div x y) y) (Int32.rem x y)]. If [y = 0], [Int32.rem x y] raises [Division_by_zero].  c y* Same as {!rem}, except that arguments and result are interpreted as {e unsigned} 32-bit integers. @since 4.08  9* Successor. [Int32.succ x] is [Int32.add x Int32.one].  Ġ ;* Predecessor. [Int32.pred x] is [Int32.sub x Int32.one].  ~ l* [abs x] is the absolute value of [x]. On [min_int] this is [min_int] itself and thus remains negative.  8 9* The greatest representable 32-bit integer, 2{^31} - 1.   6* The smallest representable 32-bit integer, -2{^31}.  Р7* Bitwise logical and.  r6* Bitwise logical or.   * Bitwise logical exclusive or. <* Bitwise logical negation. m s* [Int32.shift_left x y] shifts [x] to the left by [y] bits. The result is unspecified if [y < 0] or [y >= 32].  * [Int32.shift_right x y] 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 >= 32].  * [Int32.shift_right_logical x y] 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 >= 32]. Q * Convert the given integer (type [int]) to a 32-bit integer (type [int32]). On 64-bit platforms, the argument is taken modulo 2{^32}.  * Convert the given 32-bit integer (type [int32]) to an integer (type [int]). On 32-bit platforms, the 32-bit integer is taken modulo 2{^31}, i.e. the high-order bit is lost during the conversion. On 64-bit platforms, the conversion is exact.  * Same as {!to_int}, but interprets the argument as an {e unsigned} integer. Returns [None] if the unsigned value of the argument cannot fit into an [int]. @since 4.08 c 8* Convert the given floating-point number to a 32-bit integer, discarding the fractional part (truncate towards 0). If the truncated floating-point number is outside the range \[{!Int32.min_int}, {!Int32.max_int}\], no exception is raised, and an unspecified, platform-dependent integer is returned.  ?* Convert the given 32-bit integer to a floating-point number.  * Convert the given string to a 32-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*Int32.max_int+1]]. If the input exceeds {!Int32.max_int} it is converted to the signed integer [Int32.min_int + input - Int32.max_int - 1]. The [_] (underscore) character can appear anywhere in the string and is ignored. @raise Failure 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 [int32]. A M* Same as [of_string], but return [None] instead of raising. @since 4.05 렠 G* Return the string representation of its argument, in signed decimal.  * Return the internal representation of the given float according to the IEEE 754 floating-point 'single format' bit layout. Bit 31 of the result represents the sign of the float; bits 30 to 23 represent the (biased) exponent; bits 22 to 0 represent the mantissa. D * Return the floating-point number whose internal representation, according to the IEEE 754 floating-point 'single format' bit layout, is the given [int32]. ٠ ,* An alias for the type of 32-bit integers.  * The comparison function for 32-bit integers, with the same specification as {!Stdlib.compare}. Along with the type [t], this function [compare] allows the module [Int32] to be passed as argument to the functors {!Set.Make} and {!Map.Make}. 4 r* Same as {!compare}, except that arguments are interpreted as {e unsigned} 32-bit integers. @since 4.08 ܠ 1* The equal function for int32s. @since 4.03  ;* Return the smaller of the two arguments. @since 4.13 , <* Return the greater of the two arguments. @since 4.13 Ԡ * A seeded hash function for 32-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 | * An unseeded hash function for 32-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 6@?)../ocamlc0-strict-sequence(-absname"-w5+a-4-9-41-42-44-45-48"-g+-warn-error"+A*-bin-annot)-nostdlib*-principal"-o1stdlib__Int32.cmi"-cno D/builds/workspace/precheck/flambda/false/label/ocaml-linux-32/stdlib @@0M@vJ3srrsssss@q@@8CamlinternalFormatBasics0%FU(Q/Tu&Stdlib0Lku]8_٠0 u&@0 u&AiM@c@9A  @ @Ő  C@@  j@,@ X @<ް d А@@2@@  W@7@@@@@ ސ   @ N@4@ް  @,Nj@  6@@  S@X  @ 3 @ ͐ @@ m @@P@@