atomic_fetch_and(atom, value, old)
atomically stores the value of atom
in old
and defines atom
with the bitwise and
between the values of atom
and value
. When stat
is present and the invocation was successful, it is assigned the value 0. If it is present and the invocation has failed, it is assigned a positive value; in particular, for a coindexed atom
, if the remote image has stopped, it is assigned the value of iso_fortran_env
‘s stat_stopped_image
and if the remote image has failed, the value stat_failed_image
.
TS 18508 or later
Atomic subroutine
call atomic_fetch_and(atom, value, old [, stat])
atom
- Scalar coarray or coindexed variable of integer type with atomic_int_kind
kind.value
- Scalar of the same type as atom
. If the kind is different, the value is converted to the kind of atom
.old
- Scalar of the same type and kind as atom
.stat
- (optional) Scalar default-kind integer variable.program atomic
use iso_fortran_env
integer(atomic_int_kind) :: atom[*], old
call atomic_fetch_and (atom[1], int(b'10100011101'), old)
end program atomic
atomic_define, atomic_and, iso_fortran_env, atomic_fetch_add, atomic_fetch_or, atomic_fetch_xor