SYNTAX

C Syntax

int MPI_Compare_and_swap(const void* origin_addr, const void*
    compare_addr, void* result_addr, MPI_Datatype datatype, int
    target_rank, MPI_Aint target_disp, MPI_Win win)

Fortran Syntax

USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_COMPARE_AND_SWAP(ORIGIN_ADDR, COMPARE_ADDR, RESULT_ADDR, DATATYPE, TARGET_RANK, TARGET_DISP, WIN, IERROR)
    <type> ORIGIN_ADDR(*), COMPARE_ADDR(*), RESULT_ADDR(*)
    INTEGER DATATYPE, TARGET_RANK, WIN, IERROR
    INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP

Fortran 2008 Syntax

USE mpi_f08
MPI_Compare_and_swap(origin_addr, compare_addr, result_addr, datatype, target_rank, target_disp, win, ierror)
    TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: origin_addr, compare_addr
    TYPE(*), DIMENSION(..), ASYNCHRONOUS :: result_addr
    TYPE(MPI_Datatype), INTENT(IN) :: datatype
    INTEGER, INTENT(IN) :: target_rank
    INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: target_disp
    TYPE(MPI_Win), INTENT(IN) :: win
    INTEGER, OPTIONAL, INTENT(OUT) :: ierror