<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Aug 14, 2014, at 10:35 AM, Junchao Zhang <<a href="mailto:jczhang@mcs.anl.gov">jczhang@mcs.anl.gov</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><div><br class="webkit-block-placeholder"></div>It is a minor issue. In the Standard, the description for <div>   int MPI_T_pvar_get_info(..., int *readonly, int *continuous, int *atomic)<br>says:<br>  Upon return, the argument readonly is set to zero if the variable can be written or reset by the user. It is set to <b><i>one</i></b> if the variable can only be read. </div>
<div>  (Same thing happens to continuous and atomic.)</div><div><br></div><div>The description mandates an implementation must return 1 as TRUE, which does not follow C's convention. Other parts of MPI use true/false instead of 1/0 in description.  Section 2.6.3 make it clear that true means non-zero.</div>
</div></blockquote><br></div><div><div>How does that not follow C’s convention? C mandates that the evaluation of a boolean operator (<, >, !, etc) MUST evaluate to either 0 or 1. Returning 0/1 here makes perfect sense.</div><div><br></div><div>Other parts of MPI probably use true/false because fortran logicals do not use 0/1 for false/true.</div><div><br></div><div>-Nathan Hjelm</div></div><br></body></html>