.\" Man page generated from reStructuredText. . .TH "MPI_AINT_ADD" "3" "Apr 08, 2024" "" "Open MPI" . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .sp \fI\%MPI_Aint_add\fP, \fI\%MPI_Aint_diff\fP \- Portable functions for arithmetic on MPI_Aint values. .SH SYNTAX .SS C Syntax .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C #include MPI_Aint MPI_Aint_add(MPI_Aint base, MPI_Aint disp) MPI_Aint MPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2) .ft P .fi .UNINDENT .UNINDENT .SS Fortran Syntax .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C USE MPI ! or the older form: INCLUDE \(aqmpif.h\(aq 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 .ft P .fi .UNINDENT .UNINDENT .SS Fortran 2008 Syntax .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C USE mpi_f08 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 .ft P .fi .UNINDENT .UNINDENT .SH INPUT PARAMETERS .INDENT 0.0 .IP \(bu 2 \fBbase\fP: Base address (integer). .IP \(bu 2 \fBdisp\fP: Displacement (integer). .IP \(bu 2 \fBaddr1\fP: Minuend address (integer). .IP \(bu 2 \fBaddr2\fP: Subtrahend address (integer). .UNINDENT .SH DESCRIPTION .sp \fI\%MPI_Aint_add\fP produces a new MPI_Aint value that is equivalent to the sum of the \fIbase\fP and \fIdisp\fP arguments, where \fIbase\fP represents a base address returned by a call to \fI\%MPI_Get_address\fP and \fIdisp\fP represents a signed integer displacement. The resulting address is valid only at the process that generated \fIbase\fP, and it must correspond to a location in the same object referenced by \fIbase\fP, as described in MPI\-3.1 section 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 \fIbase\fP had called: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C MPI_Get_address ((char *) base + disp, &result); .ft P .fi .UNINDENT .UNINDENT .sp \fI\%MPI_Aint_diff\fP produces a new MPI_Aint value that is equivalent to the difference between \fIaddr1\fP and \fIaddr2\fP arguments, where \fIaddr1\fP and \fIaddr2\fP represent addresses returned by calls to \fI\%MPI_Get_address\fP\&. The resulting address is valid only at the process that generated \fIaddr1\fP and \fIaddr2\fP, and \fIaddr1\fP and \fIaddr2\fP must correspond to locations in the same object in the same process, as described in MPI\-3.1 section 4.1.12. The difference is calculated in a manner that results in the signed difference from \fIaddr1\fP to \fIaddr2\fP, as if the process that originally produced the addresses had called \fB(char *) addr1\fP \- \fB(char *) addr2\fP on the addresses initially passed to \fI\%MPI_Get_address\fP\&. .sp \fBSEE ALSO:\fP .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .IP \(bu 2 \fI\%MPI_Get_address\fP .UNINDENT .UNINDENT .UNINDENT .SH COPYRIGHT 2003-2024, The Open MPI Community .\" Generated by docutils manpage writer. .