<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<div class="BodyFragment"><font size="2"><span style="font-size:10pt;">
<div class="PlainText">Attached program is an implementation of example 4.6 from MPI-3 standard.<br>
It prints the lower bound, upper bound, extent, size, etc. of a datatype created<br>
by MPI_Type_create_struct(). The value of lower bound is incorrect.<br>
<br>
Here is the description of example 4.6.<br>
<br>
Let type1 have type map, {(double, 0), (char, 8)}, with extent 16.<br>
Let B = (2, 1, 3), D = (0, 16, 26), and T = (MPI_FLOAT, type1, MPI_CHAR).<br>
Then a call to MPI_TYPE_CREATE_STRUCT(3, B, D, T, newtype) returns a datatype with type map,<br>
{(float, 0), (float, 4), (double, 16), (char, 24), (char, 26), (char, 27), (char, 28)}.<br>
<br>
According to the type map of "newtype", its LB should be 0, but the result from<br>
MPICH gives 16. Rajeev believes this is because of the LB of a resized type was mistakenly<br>
carried over to the successive call to MPI_Type_create_struct().<br>
<br>
Wei-keng<br>
<br>
</div>
</span></font></div>
<div class="BodyFragment"><font size="2"><span style="font-size:10pt;">
<div class="PlainText">_______________________________________________<br>
discuss mailing list     discuss@mpich.org<br>
To manage subscription options or unsubscribe:<br>
<a href="https://lists.mpich.org/mailman/listinfo/discuss">https://lists.mpich.org/mailman/listinfo/discuss</a></div>
</span></font></div>
</body>
</html>