Caml1999I037&x,Stdlib__Repr*phys_equal@!a@@$boolE@@@@@@@#%eqBA @@@@(repr.mliU``U`@@@@@%equal@!a@@@@@@@@@&%equalBA@@@@aa@@9A@@'compare@!a@@#intA@@@@@@@(%compareBA8@@@@7iQQ8iQ@@UB@@#min@!a@@@@@@@H}  I}  @@fC@@#max@!a@@@@@@@YB @ @ZB @ X@@wD@@@j:.,Stdlib__Repr0i#d=LpǠ&Stdlib0Lku]8_٠8CamlinternalFormatBasics0%FU(Q/Tu@@@Caml1999T037)C,Stdlib__Repr*ocaml.text&_none_@@A O Functions defined on the low-level representations of values. @since 5.4 (repr.mliOQ->@@@@@@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@Ax9 {1 Physical comparison} S@@S@^@@@@@@*phys_equalU`iU`s@б@А!a@A@U`vU`x@@б@А!a U`|U`~@@гl$boolU`U`@@ @@@@@@@@@@@"@@ @@#%eqBA @@@@U``U`@)ocaml.docՐ  [phys_equal e1 e2] tests for physical equality of [e1] and [e2]. On mutable types such as references, arrays, byte sequences, records with mutable fields and objects with mutable instance variables, [phys_equal e1 e2] is true if and only if physical modification of [e1] also affects [e2]. On non-mutable types, the behavior of [phys_equal] is implementation-dependent; however, it is guaranteed that [phys_equal e1 e2] implies [compare e1 e2 = 0]. V]<r@@@@@@@@@@@琠@@@@@@!< {1 Polymorphic comparison} _tt_t@@@@@@3@i;@A%equalaa@б@А!a@A@ a a@@б@А!a aa@@г٠$boolaa@@ @@@-@@@@@0@@@"@@3 @@&%equalBAm@@@@.a/a@l  [equal e1 e2] tests for structural equality of [e1] and [e2]. Mutable structures (e.g. references and arrays) are equal if and only if their current contents are structurally equal, even if the two mutable objects are not the same physical object. Equality between functional values raises [Invalid_argument]. Equality between cyclic data structures may not terminate.  )}, as well as the [equal] function defined above, with one difference on the treatment of the float value {!Stdlib.nan}. Namely, the comparison predicates treat [nan] as different from any other float value, including itself; while [repr] treats [nan] as equal to itself and less than any other float value. This treatment of [nan] ensures that [compare] defines a total ordering relation. [compare] applied to functional values may raise [Invalid_argument]. [compare] applied to cyclic structures may not terminate. The [compare] function can be used as the comparison function required by the {!Set.Make} and {!Map.Make} functors, as well as the {!List.sort} and {!Array.sort} functions. j{ ^ @@@@@@@B@@@@@@@@@E#min}  }  @б@А!a@A@3@Zk;@A}  }  @@б@А!a }  }  @@А!a}  }  @@@@@ @@@@@@@@}   @ Return the smaller of the two arguments. The result is unspecified if one of the arguments contains the float value {!Stdlib.nan}. ~  @  >@@@@@@@C@@@!@@@@@@7#maxB @ DB @ G@б@А!a@A@3@L]4@AB @ JB @ L@@б@А!a B @ PB @ R@@А!aB @ VB @ X@@@@@ @@@@@@@@B @ @ @\ Return the greater of the two arguments. The result is unspecified if one of the arguments contains the float value {!Stdlib.nan}. ,C Y Y-E  @@@@@@@ED@@@l@@@@@@@7@@F@@q@Q(@@3BAABBBBB@BS*@A@ H************************************************************************KA@@LA@L@ H QBMMRBM@ H OCaml WCXC@ H ]D^D3@ H Kate Deplaix cE44dE4@ H iFjF@ H Copyright 2025 Kate Deplaix oGpG@ H uHvHg@ H All rights reserved. This file is distributed under the terms of {Ihh|Ih@ H the GNU Lesser General Public License version 2.1, with the JJ@ H special exception on linking described in the file LICENSE. KKN@ H LOOLO@ H************************************************************************MM@ P* Functions defined on the low-level representations of values. @since 5.4 :* {1 Physical comparison}  * [phys_equal e1 e2] tests for physical equality of [e1] and [e2]. On mutable types such as references, arrays, byte sequences, records with mutable fields and objects with mutable instance variables, [phys_equal e1 e2] is true if and only if physical modification of [e1] also affects [e2]. On non-mutable types, the behavior of [phys_equal] is implementation-dependent; however, it is guaranteed that [phys_equal e1 e2] implies [compare e1 e2 = 0]. ͠=* {1 Polymorphic comparison}  * [equal e1 e2] tests for structural equality of [e1] and [e2]. Mutable structures (e.g. references and arrays) are equal if and only if their current contents are structurally equal, even if the two mutable objects are not the same physical object. Equality between functional values raises [Invalid_argument]. Equality between cyclic data structures may not terminate. i  * [compare x y] returns [0] if [x] is equal to [y], a negative integer if [x] is less than [y], and a positive integer if [x] is greater than [y]. The ordering implemented by [compare] is compatible with the comparison predicates {!Stdlib.( = )}, {!Stdlib.( < )} and {!Stdlib.( > )}, as well as the [equal] function defined above, with one difference on the treatment of the float value {!Stdlib.nan}. Namely, the comparison predicates treat [nan] as different from any other float value, including itself; while [repr] treats [nan] as equal to itself and less than any other float value. This treatment of [nan] ensures that [compare] defines a total ordering relation. [compare] applied to functional values may raise [Invalid_argument]. [compare] applied to cyclic structures may not terminate. The [compare] function can be used as the comparison function required by the {!Set.Make} and {!Map.Make} functors, as well as the {!List.sort} and {!Array.sort} functions.  * Return the smaller of the two arguments. The result is unspecified if one of the arguments contains the float value {!Stdlib.nan}. ʠ * Return the greater of the two arguments. The result is unspecified if one of the arguments contains the float value {!Stdlib.nan}. @?)../ocamlc0-strict-sequence(-absname"-w5+a-4-9-41-42-44-45-48"-g+-warn-error"+A*-bin-annot)-nostdlib*-principal"-o0stdlib__Repr.cmi"-c D/builds/workspace/precheck/flambda/false/label/ocaml-linux-32/stdlib @@0Je{![3@@@8CamlinternalFormatBasics0%FU(Q/Tu&Stdlib0Lku]8_٠0i#d=Lp@0i#d=LpAEC@@@@0@@@D@@@@@@@@ U@@P@@