Visible to Intel only — GUID: GUID-50C3BF93-E4BF-4112-9F5F-18959649D402
Visible to Intel only — GUID: GUID-50C3BF93-E4BF-4112-9F5F-18959649D402
ATOMIC_FETCH_XOR
Atomic Intrinsic Subroutine (Generic): Performs atomic fetch and bitwise exclusive OR.
CALL ATOMIC_FETCH_XOR (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 ieor (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:
CALL ATOMIC_FETCH_XOR (N[4], 9, M)
If the value of N on image 4 was 10 when the atomic operation is initiated, N on image 4 is defined with the value 3, and M is defined with the value 10 when the operation completes and no error occurs during the subroutine reference.