ATOMIC_ADD — Atomic ADD operation#
-
ATOMIC_ADD(ATOM, VALUE)#
ATOMIC_ADD(ATOM, VALUE)
atomically adds the value ofVALUE
to the variableATOM
. WhenSTAT
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 coindexedATOM
, if the remote image has stopped, it is assigned the value ofISO_FORTRAN_ENV
‘sSTAT_STOPPED_IMAGE
and if the remote image has failed, the valueSTAT_FAILED_IMAGE
.- Parameters
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 ofATOM
.STAT – (optional) Scalar default-kind integer variable.
- Standard:
TS 18508 or later
- Class:
Atomic subroutine
- Syntax:
CALL ATOMIC_ADD (ATOM, VALUE [, STAT])
- Example:
program atomic use iso_fortran_env integer(atomic_int_kind) :: atom[*] call atomic_add (atom[1], this_image()) end program atomic
- See also:
ATOMIC_DEFINE — Setting a variable atomically, ATOMIC_FETCH_ADD — Atomic ADD operation with prior fetch, ISO_FORTRAN_ENV, ATOMIC_AND — Atomic bitwise AND operation, ATOMIC_OR — Atomic bitwise OR operation, ATOMIC_XOR — Atomic bitwise OR operation