Visible to Intel only — GUID: GUID-9F66250D-4A73-4920-BDCE-1972821F148C
Visible to Intel only — GUID: GUID-9F66250D-4A73-4920-BDCE-1972821F148C
ATOMIC_FETCH_OR
Atomic Intrinsic Subroutine (Generic): Performs atomic fetch and bitwise OR.
CALL ATOMIC_FETCH_OR (atom, value, old [, stat])
atom |
(Input; output) Must be a scalar coarray or coindexed object and of type integer with kind ATOMIC_INT_KIND. It becomes defined with the value of ior (atom, int (value, ATOMIC_INT_KIND)) if no error occurs. Otherwise, it becomes undefined. ATOMIC_INT_KIND is a named constant in the intrinsic module ISO_FORTRAN_ENV. |
value |
(Input) Must be a scalar integer. The value of value must be representable as an integer with kind ATOMIC_INT_KIND. |
old |
(Output) Must be a scalar of the same type as atom. It becomes undefined if an error occurs. Otherwise, it becomes defined with the value atom has at the beginning of the atomic operation. |
stat |
(Output; optional) Must be a non-coindexed integer scalar with a decimal exponent range of at least four (KIND=2 or greater). The value assigned to stat is specified in Overview of Atomic Subroutines. If stat is not present and an error condition occurs, error termination is initiated. |
Consider the following:
ATOMIC_FETCH_OR (N[4], 9, M)
If the value of N on image 4 is 4 when the atomic operation is initiated, N on image 4 is defined with the value 13, and M is defined with the value 4 when the operation completes and no error occurs during the subroutine reference.