## shmem_short_swap

#### Purpose

Performs an atomic swap operation to a symmetric data object.

#### C syntax

    #include <shmem.h>

    short shmem_short_swap(short *target, short value, int pe);

#### Parameters

INPUT
target
  The pointer to the remotely accessible data object to be updated on the remote PE.
value
  The pointer to the remotely accessible data object to be updated on the remote PE.
pe
  An integer indicating the PE number on which target is to be updated.

#### Description

This function performs atomic swap operations

The shmem_short_swap function writes the short value in to the variable pointed by target on processing element pe and returns the previous contents of target as an atomic operation.

The atomic accessing of the shared variable is guaranteed only when that variable is updated solely using IBM openshmem functions.

#### Return values

This function returns the contents that had been at the target address on the remote PE prior to the swap is returned.

#### IBM NOTES

To utilize the hardware atomic operations support of the PERCS system, the variables of these operations should be aligned with their natural byte alignments. For example, an int variable should be 4-byte aligned; a long long variable should be 8-byte aligned. If the participating variables are not aligned, the operation is done in software with sub-optimal performance

#### C examples

#### Related information

Subroutines: shmem_put

OpenSHMEM API Index