ATOMIC_DEFINE — Setting a variable atomically¶
- ATOMIC_DEFINE(ATOM, VALUE)¶
ATOMIC_DEFINE(ATOM, VALUE)defines the variableATOMwith the valueVALUEatomically. WhenSTATis 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_IMAGEand if the remote image has failed, the valueSTAT_FAILED_IMAGE.- Parameters
ATOM – Scalar coarray or coindexed variable of either integer type with
ATOMIC_INT_KINDkind or logical type withATOMIC_LOGICAL_KINDkind.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:Fortran 2008 and later; with
STAT, TS 18508 or laterClass:Atomic subroutine
Syntax:CALL ATOMIC_DEFINE (ATOM, VALUE [, STAT])
Example:program atomic use iso_fortran_env integer(atomic_int_kind) :: atom[*] call atomic_define (atom[1], this_image()) end program atomic
See also:ATOMIC_REF, ATOMIC_CAS, ISO_FORTRAN_ENV, ATOMIC_ADD, ATOMIC_AND, ATOMIC_OR, ATOMIC_XOR