« Return to documentation listing
Table of Contents
MPI_Aint_add, MPI_Aint_diff - Portable functions for arithmetic
on MPI_Aint values.
#include <mpi.h>
MPI_Aint MPI_Aint_add(MPI_Aint base, MPI_Aint disp)
MPI_Aint MPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2)
INCLUDE ’mpif.h’
INTEGER(KIND=MPI_ADDRESS_KIND) MPI_AINT_ADD(BASE, DISP)
INTEGER(KIND=MPI_ADDRESS_KIND) BASE, DISP
INTEGER(KIND=MPI_ADDRESS_KIND) MPI_AINT_DIFF(ADDR1, ADDR2)
INTEGER(KIND=MPI_ADDRESS_KIND) ADDR1, ADDR2
- base
- Base address (integer).
- disp
- Displacement (integer).
- addr1
- Minuend address (integer).
- addr2
- Subtrahend address (integer).
MPI_Aint_add
produces a new MPI_Aint value that is equivalent to the sum of the base
and disp arguments, where base represents a base address returned by a
call to MPI_Get_address and disp represents a signed integer displacement.
The resulting address is valid only at the process that generated base,
and it must correspond to a location in the same object referenced by base,
as described in MPI-3.1 [char167] 4.1.12. The addition is performed in a manner
that results in the correct MPI_Aint representation of the output address,
as if the process that originally produced base had called:
MPI_Get_address ((char *) base + disp, &result);
MPI_Aint_diff produces a new MPI_Aint value that is equivalent to the difference
between addr1 and addr2 arguments, where addr1 and addr2 represent addresses
returned by calls to MPI_Get_address. The resulting address is valid only
at the process that generated addr1 and addr2, and addr1 and addr2 must
correspond to locations in the same object in the same process, as described
in MPI-3.1 [char167] 4.1.12. The difference is calculated in a manner that results
in the signed difference from addr1 to addr2, as if the process that originally
produced the addresses had called (char *) addr1 - (char *) addr2 on the
addresses initially passed to MPI_Get_address.
MPI_Get_address
Table of Contents
« Return to documentation listing
|