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, ATOMIC_FETCH_ADD, ISO_FORTRAN_ENV, ATOMIC_AND, ATOMIC_OR, ATOMIC_XOR