ATOMIC_DEFINE(3) - [ATOMIC] Setting a variable atomically
call atomic_define (atom, value [,stat] )
subroutine atomic_define(atom, value, stat)TYPE(kind=atomic_KIND_kind) :: atom[*] TYPE(kind=KIND) :: value integer,intent(out),optional :: stat
o ATOM : Scalar coarray or coindexed variable of either integer type with atomic_int_kind kind or logical type with atomic_logical_kind kind. o VALUE : Scalar of the same type as ATOM. If the kind is different, the value is converted to the kind of ATOM. o STAT : (optional) Scalar default-kind integer variable.
ATOMIC_DEFINE(3) defines the variable ATOM with the value VALUE atomically.
o ATOM : Scalar coarray or coindexed variable to atomically assign the value VALUE to. kind. o VALUE : value to assign to ATOM o STAT : 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_envs stat_stopped_image and if the remote image has failed, the value stat_failed_image.
Sample program:
program demo_atomic_define use iso_fortran_env implicit none integer(atomic_int_kind) :: atom[*] call atomic_define(atom[1], this_image()) end program demo_atomic_define
Fortran 2008 ; with STAT, TS 18508
ATOMIC_REF(3), ATOMIC_CAS(3), ISO_FORTRAN_ENV(3), ATOMIC_ADD(3), ATOMIC_AND(3), ATOMIC_OR(3), ATOMIC_XOR(3)
Fortran intrinsic descriptions
Nemo Release 3.1 | atomic_define (3fortran) | November 02, 2024 |