Sophie

Sophie

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

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>dist.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:36 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>dist.h</h1><div class="fragment"><pre>00001 <font class="comment">//</font>
00002 <font class="comment">// dist.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 _math_scmat_dist_h</font>
00033 <font class="preprocessor"></font><font class="preprocessor">#define _math_scmat_dist_h</font>
00034 <font class="preprocessor"></font>
00035 <font class="preprocessor">#include &lt;util/group/message.h&gt;</font>
00036 <font class="preprocessor">#include &lt;util/group/mstate.h&gt;</font>
00037 
00038 <font class="preprocessor">#include &lt;math/scmat/block.h&gt;</font>
00039 <font class="preprocessor">#include &lt;math/scmat/matrix.h&gt;</font>
00040 <font class="preprocessor">#include &lt;math/scmat/abstract.h&gt;</font>
00041 
00042 <font class="keyword">namespace </font>sc {
00043 
<a name="l00046"></a><a class="code" href="class_sc__DistSCMatrixKit.html">00046</a> <font class="keyword">class </font>DistSCMatrixKit: <font class="keyword">public</font> SCMatrixKit {
00047   <font class="keyword">public</font>:
00048     DistSCMatrixKit(<font class="keyword">const</font> Ref&lt;MessageGrp&gt; &amp;grp = 0);
00049     DistSCMatrixKit(<font class="keyword">const</font> Ref&lt;KeyVal&gt;&amp;);
00050     ~DistSCMatrixKit();
00051     SCMatrix* <a class="code" href="class_sc__DistSCMatrixKit.html#a3">matrix</a>(<font class="keyword">const</font> RefSCDimension&amp;,<font class="keyword">const</font> RefSCDimension&amp;);
00052     SymmSCMatrix* symmmatrix(<font class="keyword">const</font> RefSCDimension&amp;);
00053     DiagSCMatrix* diagmatrix(<font class="keyword">const</font> RefSCDimension&amp;);
00054     SCVector* vector(<font class="keyword">const</font> RefSCDimension&amp;);
00055 };
00056 
00057 
00058 <font class="keyword">class </font>DistSCVector: <font class="keyword">public</font> SCVector {
00059     <font class="keyword">friend</font> <font class="keyword">class </font>DistSCMatrix;
00060     <font class="keyword">friend</font> <font class="keyword">class </font>DistSymmSCMatrix;
00061     <font class="keyword">friend</font> <font class="keyword">class </font>DistDiagSCMatrix;
00062   <font class="keyword">protected</font>:
00063     Ref&lt;SCMatrixBlockList&gt; blocklist;
00064 
00065     <font class="keywordtype">void</font> init_blocklist();
00066     <font class="keywordtype">double</font> *find_element(<font class="keywordtype">int</font> i) <font class="keyword">const</font>;
00067     <font class="keywordtype">int</font> element_to_node(<font class="keywordtype">int</font> i) <font class="keyword">const</font>;
00068     <font class="keywordtype">int</font> block_to_node(<font class="keywordtype">int</font>) <font class="keyword">const</font>;
00069     Ref&lt;SCMatrixBlock&gt; block_to_block(<font class="keywordtype">int</font>) <font class="keyword">const</font>;
00070     <font class="keywordtype">void</font> error(<font class="keyword">const</font> <font class="keywordtype">char</font> *);
00071   <font class="keyword">public</font>:
00072     DistSCVector(<font class="keyword">const</font> RefSCDimension&amp;, DistSCMatrixKit*);
00073     ~DistSCVector();
00074     <font class="keywordtype">void</font> assign_p(<font class="keyword">const</font> <font class="keywordtype">double</font>*);
00075     <font class="keywordtype">void</font> assign_v(SCVector*a);
00076     <font class="keywordtype">void</font> convert(<font class="keywordtype">double</font>* v) <font class="keyword">const</font>;
00077     <font class="keywordtype">void</font> convert(SCVector *);
00078 
00079     <font class="keywordtype">void</font> set_element(<font class="keywordtype">int</font>,<font class="keywordtype">double</font>);
00080     <font class="keywordtype">void</font> accumulate_element(<font class="keywordtype">int</font>,<font class="keywordtype">double</font>);
00081     <font class="keywordtype">double</font> get_element(<font class="keywordtype">int</font>) <font class="keyword">const</font>;
00082     <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> SCVector*);
00083     <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> SCMatrix*m);
00084     <font class="keywordtype">double</font> scalar_product(SCVector*);
00085     <font class="keywordtype">void</font> accumulate_product_rv(SCMatrix *, SCVector *);
00086     <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref&lt;SCElementOp&gt;&amp;);
00087     <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref&lt;SCElementOp2&gt;&amp;,
00088                     SCVector*);
00089     <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref&lt;SCElementOp3&gt;&amp;,
00090                     SCVector*,SCVector*);
00091     <font class="keywordtype">void</font> vprint(<font class="keyword">const</font> <font class="keywordtype">char</font>* title=0,
00092                 std::ostream&amp; out=ExEnv::out0(), <font class="keywordtype">int</font> =10) <font class="keyword">const</font>;
00093 
00094     Ref&lt;SCMatrixSubblockIter&gt; local_blocks(SCMatrixSubblockIter::Access);
00095     Ref&lt;SCMatrixSubblockIter&gt; all_blocks(SCMatrixSubblockIter::Access);
00096 
00097     Ref&lt;DistSCMatrixKit&gt; skit();
00098 };
00099 
00100 <font class="keyword">class </font>DistSCMatrix: <font class="keyword">public</font> SCMatrix {
00101     <font class="keyword">friend</font> <font class="keyword">class </font>DistSymmSCMatrix;
00102     <font class="keyword">friend</font> <font class="keyword">class </font>DistDiagSCMatrix;
00103     <font class="keyword">friend</font> <font class="keyword">class </font>DistSCVector;
00104   <font class="keyword">protected</font>:
00105     Ref&lt;SCMatrixBlockList&gt; blocklist;
00106 
00107     <font class="keywordtype">int</font> vecoff;
00108     <font class="keywordtype">int</font> nvec;
00109     <font class="keywordtype">double</font> **vec;
00110   <font class="keyword">protected</font>:
00111     <font class="comment">// utility functions</font>
00112     <font class="keywordtype">void</font> init_blocklist();
00113     <font class="keywordtype">void</font> error(<font class="keyword">const</font> <font class="keywordtype">char</font> *);
00114     <font class="keywordtype">double</font> *find_element(<font class="keywordtype">int</font> i, <font class="keywordtype">int</font> j) <font class="keyword">const</font>;
00115     <font class="keywordtype">int</font> element_to_node(<font class="keywordtype">int</font> i, <font class="keywordtype">int</font> j) <font class="keyword">const</font>;
00116     <font class="keywordtype">int</font> block_to_node(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>) <font class="keyword">const</font>;
00117     Ref&lt;SCMatrixBlock&gt; block_to_block(<font class="keywordtype">int</font>, <font class="keywordtype">int</font>) <font class="keyword">const</font>;
00118     Ref&lt;SCBlockInfo&gt; rowblocks()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> d1-&gt;blocks(); }
00119     Ref&lt;SCBlockInfo&gt; colblocks()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> d2-&gt;blocks(); }
00120     
00121     <font class="keyword">enum</font> VecOp {CopyFromVec, CopyToVec, AccumFromVec, AccumToVec};
00122     <font class="keyword">enum</font> Form { Row, Col } form;
00123     <font class="keywordtype">void</font> create_vecform(Form, <font class="keywordtype">int</font> nvec = -1);
00124     <font class="keywordtype">void</font> delete_vecform();
00125     <font class="keywordtype">void</font> vecform_op(VecOp op, <font class="keywordtype">int</font> *ivec = 0);
00126     <font class="keywordtype">void</font> vecform_zero();
00127   <font class="keyword">public</font>:
00128     DistSCMatrix(<font class="keyword">const</font> RefSCDimension&amp;, <font class="keyword">const</font> RefSCDimension&amp;,
00129                  DistSCMatrixKit*);
00130     ~DistSCMatrix();
00131 
00132     <font class="comment">// implementations and overrides of virtual functions</font>
00133     <font class="keywordtype">double</font> get_element(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>) <font class="keyword">const</font>;
00134     <font class="keywordtype">void</font> set_element(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">double</font>);
00135     <font class="keywordtype">void</font> accumulate_element(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">double</font>);
00136     SCMatrix * get_subblock(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>);
00137     <font class="keywordtype">void</font> assign_subblock(SCMatrix*, <font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>=0,<font class="keywordtype">int</font>=0);
00138     <font class="keywordtype">void</font> accumulate_subblock(SCMatrix*, <font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>=0,<font class="keywordtype">int</font>=0);
00139     SCVector * get_row(<font class="keywordtype">int</font> i);
00140     SCVector * get_column(<font class="keywordtype">int</font> i);
00141     <font class="keywordtype">void</font> assign_row(SCVector *v, <font class="keywordtype">int</font> i);
00142     <font class="keywordtype">void</font> assign_column(SCVector *v, <font class="keywordtype">int</font> i);
00143     <font class="keywordtype">void</font> accumulate_row(SCVector *v, <font class="keywordtype">int</font> i);
00144     <font class="keywordtype">void</font> accumulate_column(SCVector *v, <font class="keywordtype">int</font> i);
00145 
00146     <font class="keywordtype">void</font> accumulate_outer_product(SCVector*,SCVector*);
00147     <font class="keywordtype">void</font> accumulate_product_rr(SCMatrix*,SCMatrix*);
00148     <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> SCMatrix*);
00149     <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> SymmSCMatrix*);
00150     <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> DiagSCMatrix*);
00151     <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> SCVector*);
00152     <font class="keywordtype">void</font> transpose_this();
00153     <font class="keywordtype">double</font> invert_this();
00154     <font class="keywordtype">double</font> solve_this(SCVector*);
00155     <font class="keywordtype">double</font> determ_this();
00156     <font class="keywordtype">double</font> trace();
00157     <font class="keywordtype">void</font> gen_invert_this();
00158     <font class="keywordtype">void</font> schmidt_orthog(SymmSCMatrix*,<font class="keywordtype">int</font>);
00159     <font class="keywordtype">int</font> schmidt_orthog_tol(SymmSCMatrix*, <font class="keywordtype">double</font> tol, <font class="keywordtype">double</font> *res=0);
00160     <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref&lt;SCElementOp&gt;&amp;);
00161     <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref&lt;SCElementOp2&gt;&amp;,
00162                     SCMatrix*);
00163     <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref&lt;SCElementOp3&gt;&amp;,
00164                     SCMatrix*,SCMatrix*);
00165     <font class="keywordtype">void</font> vprint(<font class="keyword">const</font> <font class="keywordtype">char</font>* title=0,
00166                 std::ostream&amp; out=ExEnv::out0(), <font class="keywordtype">int</font> =10);
00167     <font class="keywordtype">void</font> vprint(<font class="keyword">const</font> <font class="keywordtype">char</font>* title=0,
00168                 std::ostream&amp; out=ExEnv::out0(), <font class="keywordtype">int</font> =10) <font class="keyword">const</font>;
00169 
00170     Ref&lt;SCMatrixSubblockIter&gt; local_blocks(SCMatrixSubblockIter::Access);
00171     Ref&lt;SCMatrixSubblockIter&gt; all_blocks(SCMatrixSubblockIter::Access);
00172 
00173     Ref&lt;DistSCMatrixKit&gt; skit();
00174 };
00175 
00176 <font class="keyword">class </font>DistSymmSCMatrix: <font class="keyword">public</font> SymmSCMatrix {
00177     <font class="keyword">friend</font> <font class="keyword">class </font>DistSCMatrix;
00178     <font class="keyword">friend</font> <font class="keyword">class </font>DistDiagSCMatrix;
00179     <font class="keyword">friend</font> <font class="keyword">class </font>DistSCVector;
00180   <font class="keyword">protected</font>:
00181     Ref&lt;SCMatrixBlockList&gt; blocklist;
00182   <font class="keyword">protected</font>:
00183     <font class="comment">// utility functions</font>
00184     <font class="keywordtype">void</font> init_blocklist();
00185     <font class="keywordtype">double</font> *find_element(<font class="keywordtype">int</font> i, <font class="keywordtype">int</font> j) <font class="keyword">const</font>;
00186     <font class="keywordtype">int</font> element_to_node(<font class="keywordtype">int</font> i, <font class="keywordtype">int</font> j) <font class="keyword">const</font>;
00187     <font class="keywordtype">int</font> block_to_node(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>) <font class="keyword">const</font>;
00188     Ref&lt;SCMatrixBlock&gt; block_to_block(<font class="keywordtype">int</font>, <font class="keywordtype">int</font>) <font class="keyword">const</font>;
00189 
00190     <font class="keywordtype">void</font> error(<font class="keyword">const</font> <font class="keywordtype">char</font> *msg);
00191   <font class="keyword">public</font>:
00192     DistSymmSCMatrix(<font class="keyword">const</font> RefSCDimension&amp;, DistSCMatrixKit*);
00193     ~DistSymmSCMatrix();
00194 
00195     <font class="comment">// implementations and overrides of virtual functions</font>
00196     <font class="keywordtype">double</font> get_element(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>) <font class="keyword">const</font>;
00197     <font class="keywordtype">void</font> set_element(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">double</font>);
00198     <font class="keywordtype">void</font> accumulate_element(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">double</font>);
00199 
00200     SCMatrix * get_subblock(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>);
00201     SymmSCMatrix * get_subblock(<font class="keywordtype">int</font>,<font class="keywordtype">int</font>);
00202     <font class="keywordtype">void</font> assign_subblock(SCMatrix*, <font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>);
00203     <font class="keywordtype">void</font> assign_subblock(SymmSCMatrix*, <font class="keywordtype">int</font>,<font class="keywordtype">int</font>);
00204     <font class="keywordtype">void</font> accumulate_subblock(SCMatrix*, <font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>,<font class="keywordtype">int</font>);
00205     <font class="keywordtype">void</font> accumulate_subblock(SymmSCMatrix*, <font class="keywordtype">int</font>,<font class="keywordtype">int</font>);
00206     SCVector * get_row(<font class="keywordtype">int</font> i);
00207     <font class="keywordtype">void</font> assign_row(SCVector *v, <font class="keywordtype">int</font> i);
00208     <font class="keywordtype">void</font> accumulate_row(SCVector *v, <font class="keywordtype">int</font> i);
00209 
00210     <font class="keywordtype">void</font> accumulate_product_rr(SCMatrix*,SCMatrix*);
00211     <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> SymmSCMatrix*);
00212     <font class="keywordtype">double</font> invert_this();
00213     <font class="keywordtype">double</font> solve_this(SCVector*);
00214     <font class="keywordtype">double</font> trace();
00215     <font class="keywordtype">double</font> determ_this();
00216     <font class="keywordtype">void</font> gen_invert_this();
00217 
00218     <font class="keywordtype">void</font> diagonalize(DiagSCMatrix*,SCMatrix*);
00219     <font class="keywordtype">void</font> accumulate_symmetric_sum(SCMatrix*);
00220     <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref&lt;SCElementOp&gt;&amp;);
00221     <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref&lt;SCElementOp2&gt;&amp;,
00222                     SymmSCMatrix*);
00223     <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref&lt;SCElementOp3&gt;&amp;,
00224                     SymmSCMatrix*,SymmSCMatrix*);
00225 
00226     <font class="keyword">virtual</font> <font class="keywordtype">void</font> convert_accumulate(SymmSCMatrix*);
00227 
00228     Ref&lt;SCMatrixSubblockIter&gt; local_blocks(SCMatrixSubblockIter::Access);
00229     Ref&lt;SCMatrixSubblockIter&gt; all_blocks(SCMatrixSubblockIter::Access);
00230 
00231     Ref&lt;DistSCMatrixKit&gt; skit();
00232 };
00233 
00234 <font class="keyword">class </font>DistDiagSCMatrix: <font class="keyword">public</font> DiagSCMatrix {
00235     <font class="keyword">friend</font> <font class="keyword">class </font>DistSCMatrix;
00236     <font class="keyword">friend</font> <font class="keyword">class </font>DistSymmSCMatrix;
00237     <font class="keyword">friend</font> <font class="keyword">class </font>DistSCVector;
00238   <font class="keyword">protected</font>:
00239     Ref&lt;SCMatrixBlockList&gt; blocklist;
00240 
00241     <font class="keywordtype">void</font> init_blocklist();
00242     <font class="keywordtype">double</font> *find_element(<font class="keywordtype">int</font> i) <font class="keyword">const</font>;
00243     <font class="keywordtype">int</font> element_to_node(<font class="keywordtype">int</font> i) <font class="keyword">const</font>;
00244     <font class="keywordtype">int</font> block_to_node(<font class="keywordtype">int</font>) <font class="keyword">const</font>;
00245     Ref&lt;SCMatrixBlock&gt; block_to_block(<font class="keywordtype">int</font>) <font class="keyword">const</font>;
00246     <font class="keywordtype">void</font> error(<font class="keyword">const</font> <font class="keywordtype">char</font> *msg);
00247   <font class="keyword">public</font>:
00248     DistDiagSCMatrix(<font class="keyword">const</font> RefSCDimension&amp;, DistSCMatrixKit*);
00249     ~DistDiagSCMatrix();
00250 
00251     <font class="comment">// implementations and overrides of virtual functions</font>
00252     <font class="keywordtype">double</font> get_element(<font class="keywordtype">int</font>) <font class="keyword">const</font>;
00253     <font class="keywordtype">void</font> set_element(<font class="keywordtype">int</font>,<font class="keywordtype">double</font>);
00254     <font class="keywordtype">void</font> accumulate_element(<font class="keywordtype">int</font>,<font class="keywordtype">double</font>);
00255     <font class="keywordtype">void</font> accumulate(<font class="keyword">const</font> DiagSCMatrix*);
00256     <font class="keywordtype">double</font> invert_this();
00257     <font class="keywordtype">double</font> determ_this();
00258     <font class="keywordtype">double</font> trace();
00259     <font class="keywordtype">void</font> gen_invert_this();
00260 
00261     <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref&lt;SCElementOp&gt;&amp;);
00262     <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref&lt;SCElementOp2&gt;&amp;,
00263                     DiagSCMatrix*);
00264     <font class="keywordtype">void</font> element_op(<font class="keyword">const</font> Ref&lt;SCElementOp3&gt;&amp;,
00265                     DiagSCMatrix*,DiagSCMatrix*);
00266 
00267     Ref&lt;SCMatrixSubblockIter&gt; local_blocks(SCMatrixSubblockIter::Access);
00268     Ref&lt;SCMatrixSubblockIter&gt; all_blocks(SCMatrixSubblockIter::Access);
00269 
00270     Ref&lt;DistSCMatrixKit&gt; skit();
00271 };
00272 
00273 <font class="keyword">class </font>DistSCMatrixListSubblockIter: <font class="keyword">public</font> SCMatrixListSubblockIter {
00274   <font class="keyword">protected</font>:
00275     Ref&lt;MessageGrp&gt; grp_;
00276     StateSend out_;
00277     StateRecv in_;
00278     <font class="keywordtype">int</font> step_;
00279     Ref&lt;SCMatrixBlockList&gt; locallist_;
00280 
00281     <font class="keywordtype">void</font> maybe_advance_list();
00282     <font class="keywordtype">void</font> advance_list();
00283   <font class="keyword">public</font>:
00284     DistSCMatrixListSubblockIter(Access,
00285                                  <font class="keyword">const</font> Ref&lt;SCMatrixBlockList&gt; &amp;locallist,
00286                                  <font class="keyword">const</font> Ref&lt;MessageGrp&gt; &amp;grp);
00287     <font class="keywordtype">void</font> begin();
00288     <font class="keywordtype">void</font> next();
00289     ~DistSCMatrixListSubblockIter();
00290 };
00291 
00292 }
00293 
00294 <font class="preprocessor">#endif</font>
00295 <font class="preprocessor"></font>
00296 <font class="comment">// Local Variables:</font>
00297 <font class="comment">// mode: c++</font>
00298 <font class="comment">// c-file-style: "CLJ"</font>
00299 <font class="comment">// End:</font>
</div></pre><hr>
<address>
<small>

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