Developer Guide and Reference

ID 767251
Date 10/31/2024
Public
Document Table of Contents

ATOMIC_XOR

Atomic Intrinsic Subroutine (Generic): Performs atomic bitwise exclusive OR.

CALL ATOMIC_XOR (atom, value [, 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.

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.

Example

Consider the following:

CALL ATOMIC_XOR (N[4], 10) 

If the value of N on image 4 is 14 when the atomic operation is initiated, the value on N on image 4 is the value 4 when the operation is complete and no error condition occurred during the subroutine reference.