File: MPI_Aint_diff.3

package info (click to toggle)
openmpi 5.0.8-4
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 201,684 kB
  • sloc: ansic: 613,078; makefile: 42,353; sh: 11,194; javascript: 9,244; f90: 7,052; java: 6,404; perl: 5,179; python: 1,859; lex: 740; fortran: 61; cpp: 20; tcl: 12
file content (144 lines) | stat: -rw-r--r-- 3,790 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
.\" Man page generated from reStructuredText.
.
.TH "MPI_AINT_DIFF" "3" "May 30, 2025" "" "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
..
.INDENT 0.0
.INDENT 3.5
.UNINDENT
.UNINDENT
.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.h>

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-2025, The Open MPI Community
.\" Generated by docutils manpage writer.
.