<h2>The <code>upc_phaseof</code> function</h2>

<h4>Synopsis</h4>
<pre>    #include &lt;upc.h&gt;
    size_t upc_phaseof(shared void *ptr);                          
</pre>
<p>
<h4>Description</h4>

<p>
The <code>upc_phaseof </code> function  returns the phase component of the pointer-to-shared
argument.
<p>If <code>ptr</code> is a null pointer-to-shared, the function returns 0.


<p>&nbsp
<p>&nbsp
<p><a href="terms.html">Terms, definitions, and symbols</a><br>
<p><a href="index.html">Back to index of all UPC functions</a>
