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 later- Class:
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 — Obtaining the value of a variable atomically, ATOMIC_CAS — Atomic compare and swap, ISO_FORTRAN_ENV, ATOMIC_ADD — Atomic ADD operation, ATOMIC_AND — Atomic bitwise AND operation, ATOMIC_OR — Atomic bitwise OR operation, ATOMIC_XOR — Atomic bitwise OR operation