Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > contrib > by-pkgid > 263386785cefb9ae5d63b926d214d809 > files > 336

mpqc-2.1.2-4mdk.ppc.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>sc::MessageGrp class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 1.2.5 on Mon Oct 14 14:17:09 2002 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>sc::MessageGrp  Class Reference</h1>The <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> abstract class provides a mechanism for moving data and objects between nodes in a parallel machine. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="message_h-source.html">message.h</a>&gt;</code>
<p>
Inheritance diagram for sc::MessageGrp<p><center><img src="class_sc__MessageGrp_inherit_graph.gif" border="0" usemap="#sc::MessageGrp_inherit_map" alt="Inheritance graph"></center>
<map name="sc::MessageGrp_inherit_map">
<area href="class_sc__intMessageGrp.html" shape="rect" coords="19,280,131,299">
<area href="class_sc__MPIMessageGrp.html" shape="rect" coords="155,280,278,299">
<area href="class_sc__ProcMessageGrp.html" shape="rect" coords="302,280,425,299">
<area href="class_sc__DescribedClass.html" shape="rect" coords="159,147,274,165">
<area href="class_sc__RefCount.html" shape="rect" coords="175,80,258,99">
<area href="class_sc__Identity.html" shape="rect" coords="181,13,253,32">
<area href="class_sc__ShmMessageGrp.html" shape="rect" coords="14,347,137,365">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for sc::MessageGrp:<p><center><img src="class_sc__MessageGrp_coll_graph.gif" border="0" usemap="#sc::MessageGrp_coll_map" alt="Collaboration graph"></center>
<map name="sc::MessageGrp_coll_map">
<area href="class_sc__DescribedClass.html" shape="rect" coords="14,179,129,198">
<area href="class_sc__RefCount.html" shape="rect" coords="18,96,101,115">
<area href="class_sc__Identity.html" shape="rect" coords="23,14,95,32">
<area href="class_sc__Ref.html" shape="rect" coords="373,179,543,198">
<area href="class_sc__RefBase.html" shape="rect" coords="419,96,497,115">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="class_sc__MessageGrp-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="a0" doxytag="sc::MessageGrp::MessageGrp"></a>
&nbsp;</td><td valign=bottom><b>MessageGrp</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a1" doxytag="sc::MessageGrp::MessageGrp"></a>
&nbsp;</td><td valign=bottom><b>MessageGrp</b> (const <a class="el" href="class_sc__Ref.html">Ref</a>&lt; <a class="el" href="class_sc__KeyVal.html">KeyVal</a> &gt; &amp;)</td></tr>
<tr><td nowrap align=right valign=top><a name="a2" doxytag="sc::MessageGrp::~MessageGrp"></a>
virtual&nbsp;</td><td valign=bottom><b>~MessageGrp</b> ()</td></tr>
<tr><td nowrap align=right valign=top><a name="a3" doxytag="sc::MessageGrp::n"></a>
int&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a3">n</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the number of processors.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a4" doxytag="sc::MessageGrp::me"></a>
int&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a4">me</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns my processor number. In the range [0,<a class="el" href="class_sc__MessageGrp.html#a3">n</a>()).</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a5" doxytag="sc::MessageGrp::clone"></a>
virtual <a class="el" href="class_sc__Ref.html">Ref</a>&lt;MessageGrp&gt;&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a5">clone</a> (void)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns a copy of this <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> specialization that provides an independent communication context.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a6">send</a> (int target, double *data, int ndata)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Send messages sequentially to the target processor.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a7" doxytag="sc::MessageGrp::send"></a>
virtual void&nbsp;</td><td valign=bottom><b>send</b> (int target, unsigned int *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a8" doxytag="sc::MessageGrp::send"></a>
virtual void&nbsp;</td><td valign=bottom><b>send</b> (int target, int *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a9" doxytag="sc::MessageGrp::send"></a>
virtual void&nbsp;</td><td valign=bottom><b>send</b> (int target, char *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a10" doxytag="sc::MessageGrp::send"></a>
virtual void&nbsp;</td><td valign=bottom><b>send</b> (int target, unsigned char *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a11" doxytag="sc::MessageGrp::send"></a>
virtual void&nbsp;</td><td valign=bottom><b>send</b> (int target, signed char *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a12" doxytag="sc::MessageGrp::send"></a>
virtual void&nbsp;</td><td valign=bottom><b>send</b> (int target, short *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a13" doxytag="sc::MessageGrp::send"></a>
virtual void&nbsp;</td><td valign=bottom><b>send</b> (int target, long *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a14" doxytag="sc::MessageGrp::send"></a>
virtual void&nbsp;</td><td valign=bottom><b>send</b> (int target, float *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a15" doxytag="sc::MessageGrp::send"></a>
void&nbsp;</td><td valign=bottom><b>send</b> (int target, double data)</td></tr>
<tr><td nowrap align=right valign=top><a name="a16" doxytag="sc::MessageGrp::send"></a>
void&nbsp;</td><td valign=bottom><b>send</b> (int target, int data)</td></tr>
<tr><td nowrap align=right valign=top><a name="a17" doxytag="sc::MessageGrp::raw_send"></a>
virtual void&nbsp;</td><td valign=bottom><b>raw_send</b> (int target, void *data, int nbyte)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a18">sendt</a> (int target, int type, double *data, int ndata)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Send typed messages to the target processor.</em> <a href="#a18">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a19" doxytag="sc::MessageGrp::sendt"></a>
virtual void&nbsp;</td><td valign=bottom><b>sendt</b> (int target, int type, unsigned int *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a20" doxytag="sc::MessageGrp::sendt"></a>
virtual void&nbsp;</td><td valign=bottom><b>sendt</b> (int target, int type, int *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a21" doxytag="sc::MessageGrp::sendt"></a>
virtual void&nbsp;</td><td valign=bottom><b>sendt</b> (int target, int type, char *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a22" doxytag="sc::MessageGrp::sendt"></a>
virtual void&nbsp;</td><td valign=bottom><b>sendt</b> (int target, int type, unsigned char *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a23" doxytag="sc::MessageGrp::sendt"></a>
virtual void&nbsp;</td><td valign=bottom><b>sendt</b> (int target, int type, signed char *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a24" doxytag="sc::MessageGrp::sendt"></a>
virtual void&nbsp;</td><td valign=bottom><b>sendt</b> (int target, int type, short *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a25" doxytag="sc::MessageGrp::sendt"></a>
virtual void&nbsp;</td><td valign=bottom><b>sendt</b> (int target, int type, long *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a26" doxytag="sc::MessageGrp::sendt"></a>
virtual void&nbsp;</td><td valign=bottom><b>sendt</b> (int target, int type, float *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a27" doxytag="sc::MessageGrp::sendt"></a>
void&nbsp;</td><td valign=bottom><b>sendt</b> (int target, int type, double data)</td></tr>
<tr><td nowrap align=right valign=top><a name="a28" doxytag="sc::MessageGrp::sendt"></a>
void&nbsp;</td><td valign=bottom><b>sendt</b> (int target, int type, int data)</td></tr>
<tr><td nowrap align=right valign=top><a name="a29" doxytag="sc::MessageGrp::raw_sendt"></a>
virtual void&nbsp;</td><td valign=bottom><b>raw_sendt</b> (int target, int type, void *data, int nbyte)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a30">recv</a> (int sender, double *data, int ndata)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Receive messages sent sequentually from the sender.</em> <a href="#a30">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a31" doxytag="sc::MessageGrp::recv"></a>
virtual void&nbsp;</td><td valign=bottom><b>recv</b> (int sender, unsigned int *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a32" doxytag="sc::MessageGrp::recv"></a>
virtual void&nbsp;</td><td valign=bottom><b>recv</b> (int sender, int *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a33" doxytag="sc::MessageGrp::recv"></a>
virtual void&nbsp;</td><td valign=bottom><b>recv</b> (int sender, char *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a34" doxytag="sc::MessageGrp::recv"></a>
virtual void&nbsp;</td><td valign=bottom><b>recv</b> (int sender, unsigned char *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a35" doxytag="sc::MessageGrp::recv"></a>
virtual void&nbsp;</td><td valign=bottom><b>recv</b> (int sender, signed char *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a36" doxytag="sc::MessageGrp::recv"></a>
virtual void&nbsp;</td><td valign=bottom><b>recv</b> (int sender, short *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a37" doxytag="sc::MessageGrp::recv"></a>
virtual void&nbsp;</td><td valign=bottom><b>recv</b> (int sender, long *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a38" doxytag="sc::MessageGrp::recv"></a>
virtual void&nbsp;</td><td valign=bottom><b>recv</b> (int sender, float *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a39" doxytag="sc::MessageGrp::recv"></a>
void&nbsp;</td><td valign=bottom><b>recv</b> (int sender, double &amp;data)</td></tr>
<tr><td nowrap align=right valign=top><a name="a40" doxytag="sc::MessageGrp::recv"></a>
void&nbsp;</td><td valign=bottom><b>recv</b> (int sender, int &amp;data)</td></tr>
<tr><td nowrap align=right valign=top><a name="a41" doxytag="sc::MessageGrp::raw_recv"></a>
virtual void&nbsp;</td><td valign=bottom><b>raw_recv</b> (int sender, void *data, int nbyte)=0</td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a42">recvt</a> (int type, double *data, int ndata)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Receive messages sent by type.</em> <a href="#a42">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a43" doxytag="sc::MessageGrp::recvt"></a>
virtual void&nbsp;</td><td valign=bottom><b>recvt</b> (int type, unsigned int *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a44" doxytag="sc::MessageGrp::recvt"></a>
virtual void&nbsp;</td><td valign=bottom><b>recvt</b> (int type, int *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a45" doxytag="sc::MessageGrp::recvt"></a>
virtual void&nbsp;</td><td valign=bottom><b>recvt</b> (int type, char *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a46" doxytag="sc::MessageGrp::recvt"></a>
virtual void&nbsp;</td><td valign=bottom><b>recvt</b> (int type, unsigned char *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a47" doxytag="sc::MessageGrp::recvt"></a>
virtual void&nbsp;</td><td valign=bottom><b>recvt</b> (int type, signed char *data, int nbyte)</td></tr>
<tr><td nowrap align=right valign=top><a name="a48" doxytag="sc::MessageGrp::recvt"></a>
virtual void&nbsp;</td><td valign=bottom><b>recvt</b> (int type, short *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a49" doxytag="sc::MessageGrp::recvt"></a>
virtual void&nbsp;</td><td valign=bottom><b>recvt</b> (int type, long *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a50" doxytag="sc::MessageGrp::recvt"></a>
virtual void&nbsp;</td><td valign=bottom><b>recvt</b> (int type, float *data, int ndata)</td></tr>
<tr><td nowrap align=right valign=top><a name="a51" doxytag="sc::MessageGrp::recvt"></a>
void&nbsp;</td><td valign=bottom><b>recvt</b> (int type, double &amp;data)</td></tr>
<tr><td nowrap align=right valign=top><a name="a52" doxytag="sc::MessageGrp::recvt"></a>
void&nbsp;</td><td valign=bottom><b>recvt</b> (int type, int &amp;data)</td></tr>
<tr><td nowrap align=right valign=top><a name="a53" doxytag="sc::MessageGrp::raw_recvt"></a>
virtual void&nbsp;</td><td valign=bottom><b>raw_recvt</b> (int type, void *data, int nbyte)=0</td></tr>
<tr><td nowrap align=right valign=top><a name="a54" doxytag="sc::MessageGrp::probet"></a>
virtual int&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a54">probet</a> (int type)=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Ask if a given typed message has been received.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a55">bcast</a> (double *data, int ndata, int from=0)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Do broadcasts of various types of data.</em> <a href="#a55">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a56" doxytag="sc::MessageGrp::bcast"></a>
virtual void&nbsp;</td><td valign=bottom><b>bcast</b> (unsigned int *data, int ndata, int from=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a57" doxytag="sc::MessageGrp::bcast"></a>
virtual void&nbsp;</td><td valign=bottom><b>bcast</b> (int *data, int ndata, int from=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a58" doxytag="sc::MessageGrp::bcast"></a>
virtual void&nbsp;</td><td valign=bottom><b>bcast</b> (char *data, int nbyte, int from=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a59" doxytag="sc::MessageGrp::bcast"></a>
virtual void&nbsp;</td><td valign=bottom><b>bcast</b> (unsigned char *data, int nbyte, int from=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a60" doxytag="sc::MessageGrp::bcast"></a>
virtual void&nbsp;</td><td valign=bottom><b>bcast</b> (signed char *data, int nbyte, int from=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a61" doxytag="sc::MessageGrp::bcast"></a>
virtual void&nbsp;</td><td valign=bottom><b>bcast</b> (short *data, int ndata, int from=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a62" doxytag="sc::MessageGrp::bcast"></a>
virtual void&nbsp;</td><td valign=bottom><b>bcast</b> (long *data, int ndata, int from=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a63" doxytag="sc::MessageGrp::bcast"></a>
virtual void&nbsp;</td><td valign=bottom><b>bcast</b> (float *data, int ndata, int from=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a64" doxytag="sc::MessageGrp::raw_bcast"></a>
virtual void&nbsp;</td><td valign=bottom><b>raw_bcast</b> (void *data, int nbyte, int from=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a65" doxytag="sc::MessageGrp::bcast"></a>
void&nbsp;</td><td valign=bottom><b>bcast</b> (double &amp;data, int from=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a66" doxytag="sc::MessageGrp::bcast"></a>
void&nbsp;</td><td valign=bottom><b>bcast</b> (int &amp;data, int from=0)</td></tr>
<tr><td nowrap align=right valign=top><a name="a67" doxytag="sc::MessageGrp::raw_collect"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a67">raw_collect</a> (const void *part, const int *lengths, void *whole, int bytes_per_datum=1)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Collect data distributed on the nodes to a big array replicated on each node.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a68" doxytag="sc::MessageGrp::collect"></a>
void&nbsp;</td><td valign=bottom><b>collect</b> (const double *part, const int *lengths, double *whole)</td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a69">sum</a> (double *data, int n, double *=0, int target=-1)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Global sum reduction.</em> <a href="#a69">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a70" doxytag="sc::MessageGrp::sum"></a>
virtual void&nbsp;</td><td valign=bottom><b>sum</b> (unsigned int *data, int n, unsigned int *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a71" doxytag="sc::MessageGrp::sum"></a>
virtual void&nbsp;</td><td valign=bottom><b>sum</b> (int *data, int n, int *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a72" doxytag="sc::MessageGrp::sum"></a>
virtual void&nbsp;</td><td valign=bottom><b>sum</b> (char *data, int n, char *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a73" doxytag="sc::MessageGrp::sum"></a>
virtual void&nbsp;</td><td valign=bottom><b>sum</b> (unsigned char *data, int n, unsigned char *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a74" doxytag="sc::MessageGrp::sum"></a>
virtual void&nbsp;</td><td valign=bottom><b>sum</b> (signed char *data, int n, signed char *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a75" doxytag="sc::MessageGrp::sum"></a>
void&nbsp;</td><td valign=bottom><b>sum</b> (double &amp;data)</td></tr>
<tr><td nowrap align=right valign=top><a name="a76" doxytag="sc::MessageGrp::sum"></a>
void&nbsp;</td><td valign=bottom><b>sum</b> (int &amp;data)</td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a77">max</a> (double *data, int n, double *=0, int target=-1)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Global maximization.</em> <a href="#a77">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a78" doxytag="sc::MessageGrp::max"></a>
virtual void&nbsp;</td><td valign=bottom><b>max</b> (int *data, int n, int *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a79" doxytag="sc::MessageGrp::max"></a>
virtual void&nbsp;</td><td valign=bottom><b>max</b> (unsigned int *data, int n, unsigned int *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a80" doxytag="sc::MessageGrp::max"></a>
virtual void&nbsp;</td><td valign=bottom><b>max</b> (char *data, int n, char *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a81" doxytag="sc::MessageGrp::max"></a>
virtual void&nbsp;</td><td valign=bottom><b>max</b> (unsigned char *data, int n, unsigned char *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a82" doxytag="sc::MessageGrp::max"></a>
virtual void&nbsp;</td><td valign=bottom><b>max</b> (signed char *data, int n, signed char *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a83" doxytag="sc::MessageGrp::max"></a>
void&nbsp;</td><td valign=bottom><b>max</b> (double &amp;data)</td></tr>
<tr><td nowrap align=right valign=top><a name="a84" doxytag="sc::MessageGrp::max"></a>
void&nbsp;</td><td valign=bottom><b>max</b> (int &amp;data)</td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a85">min</a> (double *data, int n, double *=0, int target=-1)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Global minimization.</em> <a href="#a85">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a86" doxytag="sc::MessageGrp::min"></a>
virtual void&nbsp;</td><td valign=bottom><b>min</b> (int *data, int n, int *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a87" doxytag="sc::MessageGrp::min"></a>
virtual void&nbsp;</td><td valign=bottom><b>min</b> (unsigned int *data, int n, unsigned int *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a88" doxytag="sc::MessageGrp::min"></a>
virtual void&nbsp;</td><td valign=bottom><b>min</b> (char *data, int n, char *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a89" doxytag="sc::MessageGrp::min"></a>
virtual void&nbsp;</td><td valign=bottom><b>min</b> (unsigned char *data, int n, unsigned char *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a90" doxytag="sc::MessageGrp::min"></a>
virtual void&nbsp;</td><td valign=bottom><b>min</b> (signed char *data, int n, signed char *=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a91" doxytag="sc::MessageGrp::min"></a>
void&nbsp;</td><td valign=bottom><b>min</b> (double &amp;data)</td></tr>
<tr><td nowrap align=right valign=top><a name="a92" doxytag="sc::MessageGrp::min"></a>
void&nbsp;</td><td valign=bottom><b>min</b> (int &amp;data)</td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a93">reduce</a> (double *, int n, GrpReduce&lt; double &gt; &amp;, double *scratch=0, int target=-1)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Global generic reduction.</em> <a href="#a93">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a94" doxytag="sc::MessageGrp::reduce"></a>
virtual void&nbsp;</td><td valign=bottom><b>reduce</b> (int *, int n, GrpReduce&lt; int &gt; &amp;, int *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a95" doxytag="sc::MessageGrp::reduce"></a>
virtual void&nbsp;</td><td valign=bottom><b>reduce</b> (unsigned int *, int n, GrpReduce&lt; unsigned int &gt; &amp;, unsigned int *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a96" doxytag="sc::MessageGrp::reduce"></a>
virtual void&nbsp;</td><td valign=bottom><b>reduce</b> (char *, int n, GrpReduce&lt; char &gt; &amp;, char *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a97" doxytag="sc::MessageGrp::reduce"></a>
virtual void&nbsp;</td><td valign=bottom><b>reduce</b> (unsigned char *, int n, GrpReduce&lt; unsigned char &gt; &amp;, unsigned char *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a98" doxytag="sc::MessageGrp::reduce"></a>
virtual void&nbsp;</td><td valign=bottom><b>reduce</b> (signed char *, int n, GrpReduce&lt; signed char &gt; &amp;, signed char *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a99" doxytag="sc::MessageGrp::reduce"></a>
virtual void&nbsp;</td><td valign=bottom><b>reduce</b> (short *, int n, GrpReduce&lt; short &gt; &amp;, short *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a100" doxytag="sc::MessageGrp::reduce"></a>
virtual void&nbsp;</td><td valign=bottom><b>reduce</b> (float *, int n, GrpReduce&lt; float &gt; &amp;, float *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a101" doxytag="sc::MessageGrp::reduce"></a>
virtual void&nbsp;</td><td valign=bottom><b>reduce</b> (long *, int n, GrpReduce&lt; long &gt; &amp;, long *scratch=0, int target=-1)</td></tr>
<tr><td nowrap align=right valign=top><a name="a102" doxytag="sc::MessageGrp::reduce"></a>
void&nbsp;</td><td valign=bottom><b>reduce</b> (double &amp;data, GrpReduce&lt; double &gt; &amp;r)</td></tr>
<tr><td nowrap align=right valign=top><a name="a103" doxytag="sc::MessageGrp::reduce"></a>
void&nbsp;</td><td valign=bottom><b>reduce</b> (int &amp;data, GrpReduce&lt; int &gt; &amp;r)</td></tr>
<tr><td nowrap align=right valign=top><a name="a104" doxytag="sc::MessageGrp::sync"></a>
virtual void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a104">sync</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Synchronize all of the processors.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#a105">classdesc_to_index</a> (const <a class="el" href="class_sc__ClassDesc.html">ClassDesc</a> *)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Each message group maintains an association of <a class="el" href="class_sc__ClassDesc.html">ClassDesc</a> with a global index so <a class="el" href="class_sc__SavableState.html">SavableState</a> information can be sent between nodes without needing to send the classname and look up the <a class="el" href="class_sc__ClassDesc.html">ClassDesc</a> with each transfer.</em> <a href="#a105">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="a106" doxytag="sc::MessageGrp::index_to_classdesc"></a>
const <a class="el" href="class_sc__ClassDesc.html">ClassDesc</a>*&nbsp;</td><td valign=bottom><b>index_to_classdesc</b> (int)</td></tr>
<tr><td nowrap align=right valign=top><a name="a107" doxytag="sc::MessageGrp::nclass"></a>
int&nbsp;</td><td valign=bottom><b>nclass</b> () const</td></tr>
<tr><td colspan=2><br><h2>Static Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="d0" doxytag="sc::MessageGrp::set_default_messagegrp"></a>
void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#d0">set_default_messagegrp</a> (const <a class="el" href="class_sc__Ref.html">Ref</a>&lt; MessageGrp &gt; &amp;)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The default message group contains the primary message group to be used by an application.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a name="d1" doxytag="sc::MessageGrp::get_default_messagegrp"></a>
MessageGrp*&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#d1">get_default_messagegrp</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the default message group.</em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>MessageGrp*&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#d2">initial_messagegrp</a> (int &amp;argc, char **&amp;argv)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Create a message group.</em> <a href="#d2">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="class_sc__MessageGrp.html#b0">initialize</a> (int me, int n)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The classdesc_to_index_ and index_to_classdesc_ arrays cannot be initialized by the <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> CTOR, because the <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> specialization has not yet been initialized and communication is not available.</em> <a href="#b0">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top><a name="n0" doxytag="sc::MessageGrp::topology_"></a>
<a class="el" href="class_sc__Ref.html">Ref</a>&lt;MachineTopology&gt;&nbsp;</td><td valign=bottom><b>topology_</b></td></tr>
<tr><td nowrap align=right valign=top><a name="n1" doxytag="sc::MessageGrp::debug_"></a>
int&nbsp;</td><td valign=bottom><b>debug_</b></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> abstract class provides a mechanism for moving data and objects between nodes in a parallel machine.
<p>
<hr><h2>Member Function Documentation</h2>
<a name="a55" doxytag="sc::MessageGrp::bcast"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sc::MessageGrp::bcast (
          </b></td>
          <td valign="bottom"><b>
double * <em>data</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>ndata</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>from</em> = 0&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Do broadcasts of various types of data.
<p>
Similar members exist for each of the basic types.     </td>
  </tr>
</table>
<a name="a105" doxytag="sc::MessageGrp::classdesc_to_index"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int sc::MessageGrp::classdesc_to_index (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="class_sc__ClassDesc.html">ClassDesc</a> *&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Each message group maintains an association of <a class="el" href="class_sc__ClassDesc.html">ClassDesc</a> with a global index so <a class="el" href="class_sc__SavableState.html">SavableState</a> information can be sent between nodes without needing to send the classname and look up the <a class="el" href="class_sc__ClassDesc.html">ClassDesc</a> with each transfer.
<p>
These routines return information about that mapping.     </td>
  </tr>
</table>
<a name="d2" doxytag="sc::MessageGrp::initial_messagegrp"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
MessageGrp * sc::MessageGrp::initial_messagegrp (
          </b></td>
          <td valign="bottom"><b>
int &amp; <em>argc</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
char **&amp; <em>argv</em>&nbsp;)<code> [static]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Create a message group.
<p>
This routine looks for a -messagegrp argument, then the environmental variable MESSAGEGRP to decide which specialization of <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> would be appropriate. The argument to -messagegrp should be either string for a <a class="el" href="class_sc__ParsedKeyVal.html">ParsedKeyVal</a> constructor or a classname. If this returns null, it is up to the programmer to create a <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a>.     </td>
  </tr>
</table>
<a name="b0" doxytag="sc::MessageGrp::initialize"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sc::MessageGrp::initialize (
          </b></td>
          <td valign="bottom"><b>
int <em>me</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>n</em>&nbsp;)<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The classdesc_to_index_ and index_to_classdesc_ arrays cannot be initialized by the <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> CTOR, because the <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> specialization has not yet been initialized and communication is not available.
<p>
CTOR's of specializations of <a class="el" href="class_sc__MessageGrp.html">MessageGrp</a> must call the initialize member in their body to complete the initialization process.     </td>
  </tr>
</table>
<a name="a77" doxytag="sc::MessageGrp::max"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sc::MessageGrp::max (
          </b></td>
          <td valign="bottom"><b>
double * <em>data</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>n</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
double * = 0, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>target</em> = -1&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Global maximization.
<p>
Similar members exist for each of the basic types.     </td>
  </tr>
</table>
<a name="a85" doxytag="sc::MessageGrp::min"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sc::MessageGrp::min (
          </b></td>
          <td valign="bottom"><b>
double * <em>data</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>n</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
double * = 0, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>target</em> = -1&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Global minimization.
<p>
Similar members exist for each of the basic types.     </td>
  </tr>
</table>
<a name="a30" doxytag="sc::MessageGrp::recv"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sc::MessageGrp::recv (
          </b></td>
          <td valign="bottom"><b>
int <em>sender</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
double * <em>data</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>ndata</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Receive messages sent sequentually from the sender.
<p>
Similar members exist for each of the basic types.     </td>
  </tr>
</table>
<a name="a42" doxytag="sc::MessageGrp::recvt"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sc::MessageGrp::recvt (
          </b></td>
          <td valign="bottom"><b>
int <em>type</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
double * <em>data</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>ndata</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Receive messages sent by type.
<p>
Similar members exist for each of the basic types.     </td>
  </tr>
</table>
<a name="a93" doxytag="sc::MessageGrp::reduce"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sc::MessageGrp::reduce (
          </b></td>
          <td valign="bottom"><b>
double *, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>n</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
GrpReduce&lt; double &gt; &amp;, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
double * <em>scratch</em> = 0, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>target</em> = -1&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Global generic reduction.
<p>
Similar members exist for each of the basic types. 
<p>
Reimplemented in <a class="el" href="class_sc__MPIMessageGrp.html#a12">sc::MPIMessageGrp</a>.    </td>
  </tr>
</table>
<a name="a6" doxytag="sc::MessageGrp::send"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sc::MessageGrp::send (
          </b></td>
          <td valign="bottom"><b>
int <em>target</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
double * <em>data</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>ndata</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Send messages sequentially to the target processor.
<p>
Similar members exist for each of the basic types.     </td>
  </tr>
</table>
<a name="a18" doxytag="sc::MessageGrp::sendt"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sc::MessageGrp::sendt (
          </b></td>
          <td valign="bottom"><b>
int <em>target</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>type</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
double * <em>data</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>ndata</em>&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Send typed messages to the target processor.
<p>
Similar members exist for each of the basic types.     </td>
  </tr>
</table>
<a name="a69" doxytag="sc::MessageGrp::sum"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void sc::MessageGrp::sum (
          </b></td>
          <td valign="bottom"><b>
double * <em>data</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>n</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
double * = 0, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>target</em> = -1&nbsp;)<code> [virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Global sum reduction.
<p>
Similar members exist for each of the basic types.     </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="message_h-source.html">message.h</a></ul>
<hr>
<address>
<small>

Generated at Mon Oct 14 14:17:09 2002 for <a
href="http://aros.ca.sandia.gov/~cljanss/mpqc">MPQC</a>
2.1.2 using the documentation package <a
href="http://www.stack.nl/~dimitri/doxygen/index.html">Doxygen</a>
1.2.5.

</small>
</address>
</body>
</html>