Caml1999I031!.Stdlib__Atomic!t8!a@@A@A@O@B@@@*atomic.mliaa@@@@@A@$make@!a@@@@@@@d33d3H@@&A@#get@!a@@@@@@@(g)g@@9B@#set@#!a@@@@@$unitF@@@@@@@@CjDj@@TC@(exchange@>!a@@@@@@@@@@Xm44Ym4S@@iD@/compare_and_set@S!a@@@@@@ $boolE@@@@@@@@@@ut h hvt h @@E@-fetch_and_add@p#intA@@@@@@@ @@@ @@@@@@@@x  x  C@@F@$incr@@@@@@@j@@@@@@{  {  @@G@$decr@6@@@@@@@@@@@@~  ~  @@H@@l:..Stdlib__Atomic0`0`)U[խ&Stdlib0>,W:(8CamlinternalFormatBasics0cEXya ?a@А!a@0EDDEEEEE@D8@@@A@A@G@B@@@Qa@)ocaml.docb 8 An atomic (mutable) reference to a value of type ['a]. _```@@@@@@@@@w@@Aca da @@B@@8#@A@A@O@B@@@@@ @@A@@g,@$make sd37td3;@б@А!a@B@0|{{|||||@{G@Ad3>d3@@@гM!td3Gd3H@А!ad3Dd3F@@@@@@ @@@!@@@@@d33@M= Create an atomic reference. cc2@@@@@@@A@"@/#get gg@б@г!tgg@А!a@B@0@N_2@Agg@@@ @@@ @@А!a gg@@@ @@@@@g@ 0 Get the current value of the atomic reference. fJJfJ@@@@@@@B@@%#set jj@б@гƠ!tjj@А!a@B@0        @D_2@Ajj@@@ @@@ @@б@А!aj j@@г$unit(j)j@@ @@@@@@&@@!@@@@@$" @@@6j@吠 + Set a new value for the atomic reference. BiCi@@@@@@@ZC@@7(exchangeNm48Om4@@б@г!tYm4FZm4G@А!a@B@0a``aaaaa@Vq2@Agm4Chm4E@@@ @@@ @@б@А!atm4Kum4M@@А!azm4Q{m4S@@@@@ @@@@@@@@m44 @3 I Set a new value for the atomic reference, and return the current value. ll3@@@@@@@D@@0/compare_and_sett h lt h {@б@гi!tt h t h @А!a@B@0@Oj2@At h ~t h @@@ @@@ @@б@А!at h t h @@б@А!at h t h @@г$boolt h t h @@ @@@&@@@.@@)@@@1@@, @@@*@@/-@@@t h h@  [compare_and_set r seen v] sets the new value of [r] to [v] only if its current value is physically equal to [seen] -- the comparison and the set occur atomically. Returns [true] if the comparison succeeded (so the set happened) and [false] otherwise. oUUs V g@@@@@@@E@ @B-fetch_and_addx  x  -@б@гɠ!tx  4x  5@г#intx  0x  3@@ @@@0@e6@A@@@ @@@ @@б@гѠ#int'x  9(x  <@@ @@@@@гޠ#int4x  @5x  C@@ @@@#@@@@@&@@@&@@)/ @@@Bx  @񐠠 ~ [fetch_and_add r n] atomically increments the value of [r] by [n], and returns the current value (before the increment). Nv  Ow  @@@@@@@fF@@<$incrZ{  [{  @б@г'!te{  f{  @г#into{  p{  @@ @@@0qppqqqqq@_~6@A@@@ @@@ @@гܠ$unit{  {  @@ @@@@@@@@@@@{   @= 9 [incr r] atomically increments the value of [r] by [1]. z E Ez E @@@@@@@G@@*$decr~  ~  @б@гs!t~  ~  @гe#int~  ~  @@ @@@0@Ml6@A@@@ @@@ @@г($unit~  ~  @@ @@@@@@@@@@@~   @ 9 [decr r] atomically decrements the value of [r] by [1]. }  }  @@@@@@@H@@*@A@R@>@@r@^@@n@Z$@@0@=\&@A@ H************************************************************************A@@A@L@ H BMM BM@ H OCaml CC@ H DD3@ H Stephen Dolan, University of Cambridge E44E4@ H Gabriel Scherer, projet Partout, INRIA Paris-Saclay  F!F@ H &G'G@ H Copyright 2020 Institut National de Recherche en Informatique et ,H-Hg@ H en Automatique. 2Ihh3Ih@ H 8J9J@ H All rights reserved. This file is distributed under the terms of >K?KN@ H the GNU Lesser General Public License version 2.1, with the DLOOELO@ H special exception on linking described in the file LICENSE. JMKM@ H PNQN5@ H************************************************************************VO66WO6@ <* This module provides a purely sequential implementation of the concurrent atomic references provided by the Multicore OCaml standard library: https://github.com/ocaml-multicore/ocaml-multicore/blob/parallel_minor_gc/stdlib/atomic.mli This sequential implementation is provided in the interest of compatibility: when people will start writing code to run on Multicore, it would be nice if their use of Atomic was backward-compatible with older versions of OCaml without having to import additional compatibility layers. @since 4.12 \ 9* An atomic (mutable) reference to a value of type ['a]. >* Create an atomic reference.  1* Get the current value of the atomic reference. x ,* Set a new value for the atomic reference. & J* Set a new value for the atomic reference, and return the current value. ۠ * [compare_and_set r seen v] sets the new value of [r] to [v] only if its current value is physically equal to [seen] -- the comparison and the set occur atomically. Returns [true] if the comparison succeeded (so the set happened) and [false] otherwise. ~ * [fetch_and_add r n] atomically increments the value of [r] by [n], and returns the current value (before the increment). # :* [incr r] atomically increments the value of [r] by [1]. ڠ :* [decr r] atomically decrements the value of [r] by [1]. @D)../ocamlc0-strict-sequence(-absname"-w8+a-4-9-41-42-44-45-48-70"-g+-warn-error"+A*-bin-annot)-nostdlib*-principal,-safe-string/-strict-formats"-o2stdlib__Atomic.cmi"-c 1/home/barsac/ci/builds/workspace/bootstrap/stdlib @0N,W:(0`0`)U[խ@0`0`)U[խAI@@@RQ@_^@@@  @@@@@GX@@@@@@P@