Sophie

Sophie

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

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>message.h Source File</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:16:37 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>message.h</h1><div class="fragment"><pre>00001 <font class="comment">//</font>
00002 <font class="comment">// message.h</font>
00003 <font class="comment">//</font>
00004 <font class="comment">// Copyright (C) 1996 Limit Point Systems, Inc.</font>
00005 <font class="comment">//</font>
00006 <font class="comment">// Author: Curtis Janssen &lt;cljanss@limitpt.com&gt;</font>
00007 <font class="comment">// Maintainer: LPS</font>
00008 <font class="comment">//</font>
00009 <font class="comment">// This file is part of the SC Toolkit.</font>
00010 <font class="comment">//</font>
00011 <font class="comment">// The SC Toolkit is free software; you can redistribute it and/or modify</font>
00012 <font class="comment">// it under the terms of the GNU Library General Public License as published by</font>
00013 <font class="comment">// the Free Software Foundation; either version 2, or (at your option)</font>
00014 <font class="comment">// any later version.</font>
00015 <font class="comment">//</font>
00016 <font class="comment">// The SC Toolkit is distributed in the hope that it will be useful,</font>
00017 <font class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</font>
00018 <font class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</font>
00019 <font class="comment">// GNU Library General Public License for more details.</font>
00020 <font class="comment">//</font>
00021 <font class="comment">// You should have received a copy of the GNU Library General Public License</font>
00022 <font class="comment">// along with the SC Toolkit; see the file COPYING.LIB.  If not, write to</font>
00023 <font class="comment">// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.</font>
00024 <font class="comment">//</font>
00025 <font class="comment">// The U.S. Government is granted a limited license as per AL 91-7.</font>
00026 <font class="comment">//</font>
00027 
00028 <font class="preprocessor">#ifdef __GNUC__</font>
00029 <font class="preprocessor"></font><font class="preprocessor">#pragma interface</font>
00030 <font class="preprocessor"></font><font class="preprocessor">#endif</font>
00031 <font class="preprocessor"></font>
00032 <font class="preprocessor">#ifndef _util_group_message_h</font>
00033 <font class="preprocessor"></font><font class="preprocessor">#define _util_group_message_h</font>
00034 <font class="preprocessor"></font>
00035 <font class="preprocessor">#include &lt;math.h&gt;</font>
00036 <font class="preprocessor">#include &lt;util/class/class.h&gt;</font>
00037 <font class="preprocessor">#include &lt;util/state/state.h&gt;</font>
00038 <font class="preprocessor">#include &lt;util/keyval/keyval.h&gt;</font>
00039 <font class="preprocessor">#include &lt;util/group/topology.h&gt;</font>
00040 <font class="preprocessor">#include &lt;util/container/avlmap.h&gt;</font>
00041 
00042 <font class="keyword">namespace </font>sc {
00043 
00044 template &lt;class T&gt;
00045 <font class="keyword">class </font>GrpReduce {
00046   <font class="keyword">public</font>:
00047     <font class="keyword">virtual</font> ~GrpReduce()<font class="keyword"> </font>{};
00048     <font class="keyword">virtual</font> <font class="keywordtype">void</font> reduce(T*target, T*data, <font class="keywordtype">int</font> n) = 0;
00049 };
00050 
00051 template &lt;class T&gt;
00052 <font class="keyword">class </font>GrpSumReduce: <font class="keyword">public</font> GrpReduce&lt;T&gt; {
00053   <font class="keyword">public</font>:
00054     <font class="keywordtype">void</font> reduce(T*target, T*data, <font class="keywordtype">int</font> nelement);
00055 };
00056 
00057 template &lt;class T&gt;
00058 <font class="keyword">class </font>GrpMinReduce: <font class="keyword">public</font> GrpReduce&lt;T&gt; {
00059   <font class="keyword">public</font>:
00060     <font class="keywordtype">void</font> reduce(T*target, T*data, <font class="keywordtype">int</font> nelement);
00061 };
00062 
00063 template &lt;class T&gt;
00064 <font class="keyword">class </font>GrpMaxReduce: <font class="keyword">public</font> GrpReduce&lt;T&gt; {
00065   <font class="keyword">public</font>:
00066     <font class="keywordtype">void</font> reduce(T*target, T*data, <font class="keywordtype">int</font> nelement);
00067 };
00068 
00069 template &lt;class T&gt;
00070 <font class="keyword">class </font>GrpArithmeticAndReduce: <font class="keyword">public</font> GrpReduce&lt;T&gt; {
00071   <font class="keyword">public</font>:
00072     <font class="keywordtype">void</font> reduce(T*target, T*data, <font class="keywordtype">int</font> nelement);
00073 };
00074 
00075 template &lt;class T&gt;
00076 <font class="keyword">class </font>GrpArithmeticOrReduce: <font class="keyword">public</font> GrpReduce&lt;T&gt; {
00077   <font class="keyword">public</font>:
00078     <font class="keywordtype">void</font> reduce(T*target, T*data, <font class="keywordtype">int</font> nelement);
00079 };
00080 
00081 template &lt;class T&gt;
00082 <font class="keyword">class </font>GrpArithmeticXOrReduce: <font class="keyword">public</font> GrpReduce&lt;T&gt; {
00083   <font class="keyword">public</font>:
00084     <font class="keywordtype">void</font> reduce(T*target, T*data, <font class="keywordtype">int</font> nelement);
00085 };
00086 
00087 template &lt;class T&gt;
00088 <font class="keyword">class </font>GrpProductReduce: <font class="keyword">public</font> GrpReduce&lt;T&gt; {
00089   <font class="keyword">public</font>:
00090     <font class="keywordtype">void</font> reduce(T*target, T*data, <font class="keywordtype">int</font> nelement);
00091 };
00092 
00093 template &lt;class T&gt;
00094 <font class="keyword">class </font>GrpFunctionReduce: <font class="keyword">public</font> GrpReduce&lt;T&gt; {
00095   <font class="keyword">private</font>:
00096     void (*func_)(T*target,T*data,<font class="keywordtype">int</font> nelement);
00097   <font class="keyword">public</font>:
00098     GrpFunctionReduce(<font class="keywordtype">void</font>(*func)(T*,T*,<font class="keywordtype">int</font>)):func_(func)<font class="keyword"> </font>{}
00099     <font class="keywordtype">void</font> reduce(T*target, T*data, <font class="keywordtype">int</font> nelement);
00100 };
00101 
<a name="l00105"></a><a class="code" href="class_sc__MessageGrp.html">00105</a> <font class="keyword">class </font>MessageGrp: <font class="keyword">public</font> DescribedClass {
00106   <font class="keyword">private</font>:
00107     <font class="comment">// These are initialized by the initialize() member (see below).</font>
00108     <font class="keywordtype">int</font> me_;
00109     <font class="keywordtype">int</font> n_;
00110     <font class="keywordtype">int</font> nclass_;
00111     <font class="keywordtype">int</font> gop_max_;
00112     AVLMap&lt;ClassDescP,int&gt; classdesc_to_index_;
00113     ClassDescP *index_to_classdesc_;
00114   <font class="keyword">protected</font>:
00121     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#b0">initialize</a>(<font class="keywordtype">int</font> me, <font class="keywordtype">int</font> n);
00122 
00123     Ref&lt;MachineTopology&gt; topology_;
00124 
00125     <font class="keywordtype">int</font> debug_;
00126   <font class="keyword">public</font>:
00127     MessageGrp();
00128     MessageGrp(<font class="keyword">const</font> Ref&lt;KeyVal&gt;&amp;);
00129     <font class="keyword">virtual</font> ~MessageGrp();
00130     
<a name="l00132"></a><a class="code" href="class_sc__MessageGrp.html#a3">00132</a>     <font class="keywordtype">int</font> <a class="code" href="class_sc__MessageGrp.html#a3">n</a>()<font class="keyword"> </font>{ <font class="keywordflow">return</font> n_; }
<a name="l00134"></a><a class="code" href="class_sc__MessageGrp.html#a4">00134</a>     <font class="keywordtype">int</font> <a class="code" href="class_sc__MessageGrp.html#a4">me</a>()<font class="keyword"> </font>{ <font class="keywordflow">return</font> me_; }
00135 
00138     <font class="keyword">virtual</font> Ref&lt;MessageGrp&gt; <a class="code" href="class_sc__MessageGrp.html#a5">clone</a>(<font class="keywordtype">void</font>)=0;
00139     
00142     <font class="keyword">static</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#d0">set_default_messagegrp</a>(<font class="keyword">const</font> Ref&lt;MessageGrp&gt;&amp;);
00144     <font class="keyword">static</font> MessageGrp* <a class="code" href="class_sc__MessageGrp.html#d1">get_default_messagegrp</a>();
00145 
00152     <font class="keyword">static</font> MessageGrp* <a class="code" href="class_sc__MessageGrp.html#d2">initial_messagegrp</a>(<font class="keywordtype">int</font> &amp;argc, <font class="keywordtype">char</font>** &amp;argv);
00153 
00156     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">double</font>* data, <font class="keywordtype">int</font> ndata);
00157     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> ndata);
00158     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> ndata);
00159     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte);
00160     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte);
00161     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">signed</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte);
00162     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">short</font>* data, <font class="keywordtype">int</font> ndata);
00163     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">long</font>* data, <font class="keywordtype">int</font> ndata);
00164     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">float</font>* data, <font class="keywordtype">int</font> ndata);
00165     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">double</font> data)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(target,&amp;data,1); }
00166     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> data)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a6">send</a>(target,&amp;data,1); }
00167     <font class="keyword">virtual</font> <font class="keywordtype">void</font> raw_send(<font class="keywordtype">int</font> target, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte) = 0;
00168 
00171     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">double</font>* data, <font class="keywordtype">int</font> ndata);
00172     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> ndata);
00173     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> ndata);
00174     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte);
00175     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte);
00176     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">signed</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte);
00177     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">short</font>* data, <font class="keywordtype">int</font> ndata);
00178     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">long</font>* data, <font class="keywordtype">int</font> ndata);
00179     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">float</font>* data, <font class="keywordtype">int</font> ndata);
00180     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">double</font> data)<font class="keyword"> </font>{<a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(target,type,&amp;data,1);}
00181     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">int</font> data)<font class="keyword"> </font>{<a class="code" href="class_sc__MessageGrp.html#a18">sendt</a>(target,type,&amp;data,1);}
00182     <font class="keyword">virtual</font> <font class="keywordtype">void</font> raw_sendt(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte) = 0;
00183 
00186     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(<font class="keywordtype">int</font> sender, <font class="keywordtype">double</font>* data, <font class="keywordtype">int</font> ndata);
00187     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(<font class="keywordtype">int</font> sender, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> ndata);
00188     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(<font class="keywordtype">int</font> sender, <font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> ndata);
00189     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(<font class="keywordtype">int</font> sender, <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte);
00190     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(<font class="keywordtype">int</font> sender, <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte);
00191     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(<font class="keywordtype">int</font> sender, <font class="keywordtype">signed</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte);
00192     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(<font class="keywordtype">int</font> sender, <font class="keywordtype">short</font>* data, <font class="keywordtype">int</font> ndata);
00193     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(<font class="keywordtype">int</font> sender, <font class="keywordtype">long</font>* data, <font class="keywordtype">int</font> ndata);
00194     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(<font class="keywordtype">int</font> sender, <font class="keywordtype">float</font>* data, <font class="keywordtype">int</font> ndata);
00195     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(<font class="keywordtype">int</font> sender, <font class="keywordtype">double</font>&amp; data)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(sender,&amp;data,1); }
00196     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(<font class="keywordtype">int</font> sender, <font class="keywordtype">int</font>&amp; data)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a30">recv</a>(sender,&amp;data,1); }
00197     <font class="keyword">virtual</font> <font class="keywordtype">void</font> raw_recv(<font class="keywordtype">int</font> sender, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte) = 0;
00198 
00201     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(<font class="keywordtype">int</font> type, <font class="keywordtype">double</font>* data, <font class="keywordtype">int</font> ndata);
00202     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(<font class="keywordtype">int</font> type, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> ndata);
00203     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(<font class="keywordtype">int</font> type, <font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> ndata);
00204     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(<font class="keywordtype">int</font> type, <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte);
00205     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(<font class="keywordtype">int</font> type, <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte);
00206     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(<font class="keywordtype">int</font> type, <font class="keywordtype">signed</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte);
00207     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(<font class="keywordtype">int</font> type, <font class="keywordtype">short</font>* data, <font class="keywordtype">int</font> ndata);
00208     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(<font class="keywordtype">int</font> type, <font class="keywordtype">long</font>* data, <font class="keywordtype">int</font> ndata);
00209     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(<font class="keywordtype">int</font> type, <font class="keywordtype">float</font>* data, <font class="keywordtype">int</font> ndata);
00210     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(<font class="keywordtype">int</font> type, <font class="keywordtype">double</font>&amp; data)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(type,&amp;data,1); }
00211     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(<font class="keywordtype">int</font> type, <font class="keywordtype">int</font>&amp; data)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a42">recvt</a>(type,&amp;data,1); }
00212     <font class="keyword">virtual</font> <font class="keywordtype">void</font> raw_recvt(<font class="keywordtype">int</font> type, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte) = 0;
00213 
00215     <font class="keyword">virtual</font> <font class="keywordtype">int</font> <a class="code" href="class_sc__MessageGrp.html#a54">probet</a>(<font class="keywordtype">int</font> type) = 0;
00216 
00219     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(<font class="keywordtype">double</font>* data, <font class="keywordtype">int</font> ndata, <font class="keywordtype">int</font> from = 0);
00220     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> ndata, <font class="keywordtype">int</font> from = 0);
00221     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(<font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> ndata, <font class="keywordtype">int</font> from = 0);
00222     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(<font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte, <font class="keywordtype">int</font> from = 0);
00223     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte, <font class="keywordtype">int</font> from = 0);
00224     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(<font class="keywordtype">signed</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> nbyte, <font class="keywordtype">int</font> from = 0);
00225     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(<font class="keywordtype">short</font>* data, <font class="keywordtype">int</font> ndata, <font class="keywordtype">int</font> from = 0);
00226     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(<font class="keywordtype">long</font>* data, <font class="keywordtype">int</font> ndata, <font class="keywordtype">int</font> from = 0);
00227     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(<font class="keywordtype">float</font>* data, <font class="keywordtype">int</font> ndata, <font class="keywordtype">int</font> from = 0);
00228     <font class="keyword">virtual</font> <font class="keywordtype">void</font> raw_bcast(<font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte, <font class="keywordtype">int</font> from = 0);
00229     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(<font class="keywordtype">double</font>&amp; data, <font class="keywordtype">int</font> from = 0)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(&amp;data, 1, from); }
00230     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(<font class="keywordtype">int</font>&amp; data, <font class="keywordtype">int</font> from = 0)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a55">bcast</a>(&amp;data, 1, from); }
00231 
00234     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a67">raw_collect</a>(<font class="keyword">const</font> <font class="keywordtype">void</font> *part, <font class="keyword">const</font> <font class="keywordtype">int</font> *lengths,
00235                              <font class="keywordtype">void</font> *whole, <font class="keywordtype">int</font> bytes_per_datum=1);
00236     <font class="keywordtype">void</font> collect(<font class="keyword">const</font> <font class="keywordtype">double</font> *part, <font class="keyword">const</font> <font class="keywordtype">int</font> *lengths, <font class="keywordtype">double</font> *whole);
00237 
00240     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a69">sum</a>(<font class="keywordtype">double</font>* data, <font class="keywordtype">int</font> n, <font class="keywordtype">double</font>* = 0, <font class="keywordtype">int</font> target = -1);
00241     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a69">sum</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> n, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>* = 0, <font class="keywordtype">int</font> target = -1);
00242     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a69">sum</a>(<font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> n, <font class="keywordtype">int</font>* = 0, <font class="keywordtype">int</font> target = -1);
00243     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a69">sum</a>(<font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> n, <font class="keywordtype">char</font>* = 0, <font class="keywordtype">int</font> target = -1);
00244     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a69">sum</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> n,
00245                      <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>* = 0, <font class="keywordtype">int</font> target = -1);
00246     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a69">sum</a>(<font class="keywordtype">signed</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> n,
00247                      <font class="keywordtype">signed</font> <font class="keywordtype">char</font>* = 0, <font class="keywordtype">int</font> target = -1);
00248     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a69">sum</a>(<font class="keywordtype">double</font>&amp; data)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a69">sum</a>(&amp;data, 1); }
00249     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a69">sum</a>(<font class="keywordtype">int</font>&amp; data)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a69">sum</a>(&amp;data, 1); }
00252     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a77">max</a>(<font class="keywordtype">double</font>* data, <font class="keywordtype">int</font> n, <font class="keywordtype">double</font>* = 0, <font class="keywordtype">int</font> target = -1);
00253     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a77">max</a>(<font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> n, <font class="keywordtype">int</font>* = 0, <font class="keywordtype">int</font> target = -1);
00254     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a77">max</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> n, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>* = 0, <font class="keywordtype">int</font> target = -1);
00255     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a77">max</a>(<font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> n, <font class="keywordtype">char</font>* = 0, <font class="keywordtype">int</font> target = -1);
00256     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a77">max</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> n,
00257                      <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>* = 0, <font class="keywordtype">int</font> target = -1);
00258     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a77">max</a>(<font class="keywordtype">signed</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> n,
00259                      <font class="keywordtype">signed</font> <font class="keywordtype">char</font>* = 0, <font class="keywordtype">int</font> target = -1);
00260     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a77">max</a>(<font class="keywordtype">double</font>&amp; data)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a77">max</a>(&amp;data, 1); }
00261     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a77">max</a>(<font class="keywordtype">int</font>&amp; data)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a77">max</a>(&amp;data, 1); }
00264     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a85">min</a>(<font class="keywordtype">double</font>* data, <font class="keywordtype">int</font> n, <font class="keywordtype">double</font>* = 0, <font class="keywordtype">int</font> target = -1);
00265     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a85">min</a>(<font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> n, <font class="keywordtype">int</font>* = 0, <font class="keywordtype">int</font> target = -1);
00266     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a85">min</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>* data, <font class="keywordtype">int</font> n, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>* = 0, <font class="keywordtype">int</font> target = -1);
00267     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a85">min</a>(<font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> n, <font class="keywordtype">char</font>* = 0, <font class="keywordtype">int</font> target = -1);
00268     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a85">min</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> n,
00269                      <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>* = 0, <font class="keywordtype">int</font> target = -1);
00270     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a85">min</a>(<font class="keywordtype">signed</font> <font class="keywordtype">char</font>* data, <font class="keywordtype">int</font> n,
00271                      <font class="keywordtype">signed</font> <font class="keywordtype">char</font>* = 0, <font class="keywordtype">int</font> target = -1);
00272     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a85">min</a>(<font class="keywordtype">double</font>&amp; data)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a85">min</a>(&amp;data, 1); }
00273     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a85">min</a>(<font class="keywordtype">int</font>&amp; data)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a85">min</a>(&amp;data, 1); }
00276     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(<font class="keywordtype">double</font>*, <font class="keywordtype">int</font> n, GrpReduce&lt;double&gt;&amp;,
00277                         <font class="keywordtype">double</font>*scratch = 0, <font class="keywordtype">int</font> target = -1);
00278     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(<font class="keywordtype">int</font>*, <font class="keywordtype">int</font> n, GrpReduce&lt;int&gt;&amp;,
00279                         <font class="keywordtype">int</font>*scratch = 0, <font class="keywordtype">int</font> target = -1);
00280     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>*, <font class="keywordtype">int</font> n, GrpReduce&lt;unsigned int&gt;&amp;,
00281                         <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>*scratch = 0, <font class="keywordtype">int</font> target = -1);
00282     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(<font class="keywordtype">char</font>*, <font class="keywordtype">int</font> n, GrpReduce&lt;char&gt;&amp;,
00283                         <font class="keywordtype">char</font>*scratch = 0, <font class="keywordtype">int</font> target = -1);
00284     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(<font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>*, <font class="keywordtype">int</font> n, GrpReduce&lt;unsigned char&gt;&amp;,
00285                         <font class="keywordtype">unsigned</font> <font class="keywordtype">char</font>*scratch = 0, <font class="keywordtype">int</font> target = -1);
00286     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(<font class="keywordtype">signed</font> <font class="keywordtype">char</font>*, <font class="keywordtype">int</font> n, GrpReduce&lt;signed char&gt;&amp;,
00287                         <font class="keywordtype">signed</font> <font class="keywordtype">char</font>*scratch = 0, <font class="keywordtype">int</font> target = -1);
00288     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(<font class="keywordtype">short</font>*, <font class="keywordtype">int</font> n, GrpReduce&lt;short&gt;&amp;,
00289                         <font class="keywordtype">short</font>*scratch = 0, <font class="keywordtype">int</font> target = -1);
00290     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(<font class="keywordtype">float</font>*, <font class="keywordtype">int</font> n, GrpReduce&lt;float&gt;&amp;,
00291                         <font class="keywordtype">float</font>*scratch = 0, <font class="keywordtype">int</font> target = -1);
00292     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(<font class="keywordtype">long</font>*, <font class="keywordtype">int</font> n, GrpReduce&lt;long&gt;&amp;,
00293                         <font class="keywordtype">long</font>*scratch = 0, <font class="keywordtype">int</font> target = -1);
00294     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(<font class="keywordtype">double</font>&amp; data, GrpReduce&lt;double&gt;&amp; r)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(&amp;data, 1, r); }
00295     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(<font class="keywordtype">int</font>&amp; data, GrpReduce&lt;int&gt;&amp; r)<font class="keyword"> </font>{ <a class="code" href="class_sc__MessageGrp.html#a93">reduce</a>(&amp;data, 1, r); }
00296 
00298     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#a104">sync</a>();
00299 
00305     <font class="keywordtype">int</font> <a class="code" href="class_sc__MessageGrp.html#a105">classdesc_to_index</a>(<font class="keyword">const</font> ClassDesc*);
00306     <font class="keyword">const</font> ClassDesc* index_to_classdesc(<font class="keywordtype">int</font>);
00307     <font class="keywordtype">int</font> nclass()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> nclass_; }
00308 };
00309 
00310 <font class="keyword">struct </font>message_struct {
00311   <font class="keywordtype">void</font> *buf;
00312   <font class="keywordtype">int</font> size;
00313   <font class="keywordtype">int</font> type;
00314   <font class="keyword">struct </font>message_struct *p;
00315   };
00316 <font class="keyword">typedef</font> <font class="keyword">struct </font>message_struct message_t;
00317 
00318 
<a name="l00321"></a><a class="code" href="class_sc__ProcMessageGrp.html">00321</a> <font class="keyword">class </font>ProcMessageGrp: <font class="keyword">public</font> MessageGrp {
00322   <font class="keyword">private</font>:
00323     <font class="comment">// Messages are stored in these linked lists</font>
00324     message_t *sync_messages;
00325     message_t *type_messages;
00326 
00327     <font class="keywordtype">void</font> sendit(message_t *&amp; messages, <font class="keywordtype">int</font> dest, <font class="keywordtype">int</font> msgtype, <font class="keywordtype">void</font>* buf, <font class="keywordtype">int</font> bytes);
00328     <font class="keywordtype">void</font> recvit(message_t *&amp; messages, <font class="keywordtype">int</font> source, <font class="keywordtype">int</font> type, <font class="keywordtype">void</font>* buf, <font class="keywordtype">int</font> bytes,
00329                 <font class="keywordtype">int</font>&amp; last_size, <font class="keywordtype">int</font>&amp; last_type);
00330         
00331   <font class="keyword">public</font>:
00332     ProcMessageGrp();
00333     ProcMessageGrp(<font class="keyword">const</font> Ref&lt;KeyVal&gt;&amp;);
00334     ~ProcMessageGrp();
00335 
00336     Ref&lt;MessageGrp&gt; <a class="code" href="class_sc__ProcMessageGrp.html#a3">clone</a>(<font class="keywordtype">void</font>);
00337     
00338     <font class="keywordtype">void</font> raw_send(<font class="keywordtype">int</font> target, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte);
00339     <font class="keywordtype">void</font> raw_sendt(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte);
00340     <font class="keywordtype">void</font> raw_recv(<font class="keywordtype">int</font> sender, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte);
00341     <font class="keywordtype">void</font> raw_recvt(<font class="keywordtype">int</font> type, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte);
00342     <font class="keywordtype">void</font> raw_bcast(<font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte, <font class="keywordtype">int</font> from);
00343     <font class="keywordtype">int</font> <a class="code" href="class_sc__ProcMessageGrp.html#a9">probet</a>(<font class="keywordtype">int</font> type);
00344     <font class="keywordtype">void</font> <a class="code" href="class_sc__ProcMessageGrp.html#a10">sync</a>();
00345 };
00346 
<a name="l00351"></a><a class="code" href="class_sc__intMessageGrp.html">00351</a> <font class="keyword">class </font>intMessageGrp: <font class="keyword">public</font> MessageGrp {
00352   <font class="keyword">protected</font>:
00353     <font class="keywordtype">int</font> msgtype_nbit; <font class="comment">// the total number of bits available</font>
00354     <font class="keywordtype">int</font> ctl_nbit; <font class="comment">// control information bits</font>
00355     <font class="keywordtype">int</font> seq_nbit; <font class="comment">// sequence information bits</font>
00356     <font class="keywordtype">int</font> typ_nbit; <font class="comment">// type information bits</font>
00357     <font class="keywordtype">int</font> src_nbit; <font class="comment">// source information bits</font>
00358 
00359     <font class="comment">// Masks for the fields in the type.</font>
00360     <font class="keywordtype">int</font> ctl_mask;
00361     <font class="keywordtype">int</font> seq_mask;
00362     <font class="keywordtype">int</font> typ_mask;
00363     <font class="keywordtype">int</font> src_mask;
00364 
00365     <font class="comment">// Shifts to construct a message type.</font>
00366     <font class="keywordtype">int</font> ctl_shift;
00367     <font class="keywordtype">int</font> seq_shift;
00368     <font class="keywordtype">int</font> typ_shift;
00369     <font class="keywordtype">int</font> src_shift;
00370 
00371     <font class="keywordtype">int</font> msgtype_typ(<font class="keywordtype">int</font> msgtype);
00372     <font class="keywordtype">int</font> typ_msgtype(<font class="keywordtype">int</font> usrtype);
00373     <font class="keywordtype">int</font> seq_msgtype(<font class="keywordtype">int</font> source, <font class="keywordtype">int</font> seq);
00374 
00375     <font class="comment">// The next sequence number for each node is stored in these.</font>
00376     <font class="keywordtype">int</font> *source_seq;
00377     <font class="keywordtype">int</font> *target_seq;
00378     
00380     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__intMessageGrp.html#b3">basic_send</a>(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte) = 0;
00382     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__intMessageGrp.html#b4">basic_recv</a>(<font class="keywordtype">int</font> type, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte) = 0;
00384     <font class="keyword">virtual</font> <font class="keywordtype">int</font> <a class="code" href="class_sc__intMessageGrp.html#b5">basic_probe</a>(<font class="keywordtype">int</font> type) = 0;
00385 
00386     intMessageGrp();
00387     intMessageGrp(<font class="keyword">const</font> Ref&lt;KeyVal&gt;&amp;);
00388 
00389     <font class="keywordtype">void</font> <a class="code" href="class_sc__MessageGrp.html#b0">initialize</a>(<font class="keywordtype">int</font> me, <font class="keywordtype">int</font> n, <font class="keywordtype">int</font> nbits);
00390   <font class="keyword">public</font>:
00391     ~intMessageGrp();
00392 
00393     <font class="keywordtype">void</font> raw_send(<font class="keywordtype">int</font> target, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte);
00394     <font class="keywordtype">void</font> raw_recv(<font class="keywordtype">int</font> sender, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte);
00395     <font class="keywordtype">void</font> raw_sendt(<font class="keywordtype">int</font> target, <font class="keywordtype">int</font> type, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte);
00396     <font class="keywordtype">void</font> raw_recvt(<font class="keywordtype">int</font> type, <font class="keywordtype">void</font>* data, <font class="keywordtype">int</font> nbyte);
00397 
00398     <font class="keywordtype">int</font> <a class="code" href="class_sc__intMessageGrp.html#a5">probet</a>(<font class="keywordtype">int</font>);
00399 
00400     <font class="keywordtype">int</font> leftover_ctl_bits();
00401 };
00402 
00403 }
00404 
00405 <font class="preprocessor">#include &lt;util/group/messaget.h&gt;</font>
00406 
00407 <font class="preprocessor">#endif</font>
00408 <font class="preprocessor"></font>
00409 
00410 <font class="comment">// Local Variables:</font>
00411 <font class="comment">// mode: c++</font>
00412 <font class="comment">// c-file-style: "CLJ"</font>
00413 <font class="comment">// End:</font>
</div></pre><hr>
<address>
<small>

Generated at Mon Oct 14 14:16:37 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>