Sophie

Sophie

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

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>elemop.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>elemop.h</h1><div class="fragment"><pre>00001 <font class="comment">//</font>
00002 <font class="comment">// elemop.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">#ifndef _math_scmat_elemop_h</font>
00029 <font class="preprocessor"></font><font class="preprocessor">#define _math_scmat_elemop_h</font>
00030 <font class="preprocessor"></font>
00031 <font class="preprocessor">#ifdef __GNUC__</font>
00032 <font class="preprocessor"></font><font class="preprocessor">#pragma interface</font>
00033 <font class="preprocessor"></font><font class="preprocessor">#endif</font>
00034 <font class="preprocessor"></font>
00035 <font class="preprocessor">#include &lt;util/state/state.h&gt;</font>
00036 <font class="preprocessor">#include &lt;util/group/message.h&gt;</font>
00037 
00038 <font class="keyword">namespace </font>sc {
00039 
00040 <font class="keyword">class </font>SCMatrixBlock;
00041 <font class="keyword">class </font>SCMatrixBlockIter;
00042 <font class="keyword">class </font>SCMatrixRectBlock;
00043 <font class="keyword">class </font>SCMatrixLTriBlock;
00044 <font class="keyword">class </font>SCMatrixDiagBlock;
00045 <font class="keyword">class </font>SCVectorSimpleBlock;
00046 <font class="keyword">class </font>SCMatrixRectSubBlock;
00047 <font class="keyword">class </font>SCMatrixLTriSubBlock;
00048 <font class="keyword">class </font>SCMatrixDiagSubBlock;
00049 <font class="keyword">class </font>SCVectorSimpleSubBlock;
00050 
00051 <font class="keyword">class </font>SCMatrix;
00052 <font class="keyword">class </font>SymmSCMatrix;
00053 <font class="keyword">class </font>DiagSCMatrix;
00054 <font class="keyword">class </font>SCVector;
00055 
<a name="l00060"></a><a class="code" href="class_sc__SCElementOp.html">00060</a> <font class="keyword">class </font>SCElementOp: <font class="keyword">public</font> SavableState {
00061   <font class="keyword">public</font>:
00062     SCElementOp();
00063     SCElementOp(StateIn&amp;s): <a class="code" href="class_sc__SavableState.html#b2">SavableState</a>(s)<font class="keyword"> </font>{}
00064     <font class="keyword">virtual</font> ~SCElementOp();
00072     <font class="keyword">virtual</font> <font class="keywordtype">int</font> <a class="code" href="class_sc__SCElementOp.html#a3">has_collect</a>();
00073     <font class="keyword">virtual</font> <font class="keywordtype">void</font> defer_collect(<font class="keywordtype">int</font>);
00074     <font class="keyword">virtual</font> <font class="keywordtype">void</font> collect(<font class="keyword">const</font> Ref&lt;MessageGrp&gt;&amp;);
00078     <font class="keyword">virtual</font> <font class="keywordtype">int</font> <a class="code" href="class_sc__SCElementOp.html#a6">has_side_effects</a>();
00079 
00082     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__SCElementOp.html#a7">process</a>(SCMatrixBlockIter&amp;) = 0;
00083 
00088     <font class="keywordtype">void</font> <a class="code" href="class_sc__SCElementOp.html#a8">process_base</a>(SCMatrixBlock*block);
00089 
00094     <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__SCElementOp.html#a9">process_spec_rect</a>(SCMatrixRectBlock*);
00095     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_ltri(SCMatrixLTriBlock*);
00096     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_diag(SCMatrixDiagBlock*);
00097     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_vsimp(SCVectorSimpleBlock*);
00098     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_rectsub(SCMatrixRectSubBlock*);
00099     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_ltrisub(SCMatrixLTriSubBlock*);
00100     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_diagsub(SCMatrixDiagSubBlock*);
00101     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_vsimpsub(SCVectorSimpleSubBlock*);
00102 };
00103 
<a name="l00108"></a><a class="code" href="class_sc__SCElementOp2.html">00108</a> <font class="keyword">class </font>SCElementOp2: <font class="keyword">public</font> SavableState {
00109   <font class="keyword">public</font>:
00110     SCElementOp2();
00111     SCElementOp2(StateIn&amp;s): <a class="code" href="class_sc__SavableState.html#b2">SavableState</a>(s)<font class="keyword"> </font>{}
00112     <font class="keyword">virtual</font> ~SCElementOp2();
00113     <font class="keyword">virtual</font> <font class="keywordtype">int</font> has_collect();
00114     <font class="keyword">virtual</font> <font class="keywordtype">void</font> defer_collect(<font class="keywordtype">int</font>);
00115     <font class="keyword">virtual</font> <font class="keywordtype">int</font> has_side_effects();
00116     <font class="keyword">virtual</font> <font class="keywordtype">int</font> has_side_effects_in_arg();
00117     <font class="keyword">virtual</font> <font class="keywordtype">void</font> collect(<font class="keyword">const</font> Ref&lt;MessageGrp&gt;&amp;);
00118     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;,SCMatrixBlockIter&amp;) = 0;
00119     <font class="keywordtype">void</font> process_base(SCMatrixBlock*,SCMatrixBlock*);
00120     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_rect(SCMatrixRectBlock*,SCMatrixRectBlock*);
00121     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_ltri(SCMatrixLTriBlock*,SCMatrixLTriBlock*);
00122     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_diag(SCMatrixDiagBlock*,SCMatrixDiagBlock*);
00123     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_vsimp(SCVectorSimpleBlock*,SCVectorSimpleBlock*);
00124 };
00125 
<a name="l00130"></a><a class="code" href="class_sc__SCElementOp3.html">00130</a> <font class="keyword">class </font>SCElementOp3: <font class="keyword">public</font> SavableState {
00131   <font class="keyword">public</font>:
00132     SCElementOp3();
00133     SCElementOp3(StateIn&amp;s): <a class="code" href="class_sc__SavableState.html#b2">SavableState</a>(s)<font class="keyword"> </font>{}
00134     <font class="keyword">virtual</font> ~SCElementOp3();
00135     <font class="keyword">virtual</font> <font class="keywordtype">int</font> has_collect();
00136     <font class="keyword">virtual</font> <font class="keywordtype">void</font> defer_collect(<font class="keywordtype">int</font>);
00137     <font class="keyword">virtual</font> <font class="keywordtype">int</font> has_side_effects();
00138     <font class="keyword">virtual</font> <font class="keywordtype">int</font> has_side_effects_in_arg1();
00139     <font class="keyword">virtual</font> <font class="keywordtype">int</font> has_side_effects_in_arg2();
00140     <font class="keyword">virtual</font> <font class="keywordtype">void</font> collect(<font class="keyword">const</font> Ref&lt;MessageGrp&gt;&amp;);
00141     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;,
00142                          SCMatrixBlockIter&amp;,
00143                          SCMatrixBlockIter&amp;) = 0;
00144     <font class="keywordtype">void</font> process_base(SCMatrixBlock*,SCMatrixBlock*,SCMatrixBlock*);
00145     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_rect(SCMatrixRectBlock*,
00146                                    SCMatrixRectBlock*,
00147                                    SCMatrixRectBlock*);
00148     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_ltri(SCMatrixLTriBlock*,
00149                                    SCMatrixLTriBlock*,
00150                                    SCMatrixLTriBlock*);
00151     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_diag(SCMatrixDiagBlock*,
00152                                    SCMatrixDiagBlock*,
00153                                    SCMatrixDiagBlock*);
00154     <font class="keyword">virtual</font> <font class="keywordtype">void</font> process_spec_vsimp(SCVectorSimpleBlock*,
00155                                     SCVectorSimpleBlock*,
00156                                     SCVectorSimpleBlock*);
00157 };
00158 
00159 <font class="keyword">class </font>SCElementScalarProduct: <font class="keyword">public</font> SCElementOp2 {
00160   <font class="keyword">private</font>:
00161     <font class="keywordtype">int</font> deferred_;
00162     <font class="keywordtype">double</font> product;
00163   <font class="keyword">public</font>:
00164     SCElementScalarProduct();
00165     SCElementScalarProduct(StateIn&amp;);
00166     ~SCElementScalarProduct();
00167     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00168     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;,SCMatrixBlockIter&amp;);
00169     <font class="keywordtype">int</font> has_collect();
00170     <font class="keywordtype">void</font> defer_collect(<font class="keywordtype">int</font>);
00171     <font class="keywordtype">void</font> collect(<font class="keyword">const</font> Ref&lt;MessageGrp&gt;&amp;);
00172     <font class="keywordtype">double</font> result();
00173     <font class="keywordtype">void</font> init()<font class="keyword"> </font>{ product = 0.0; }
00174 };
00175 
00176 
00177 <font class="keyword">class </font>SCDestructiveElementProduct: <font class="keyword">public</font> SCElementOp2 {
00178   <font class="keyword">public</font>:
00179     SCDestructiveElementProduct();
00180     SCDestructiveElementProduct(StateIn&amp;);
00181     ~SCDestructiveElementProduct();
00182     <font class="keywordtype">int</font> has_side_effects();
00183     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00184     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;,SCMatrixBlockIter&amp;);
00185 };
00186 
00187 <font class="keyword">class </font>SCElementScale: <font class="keyword">public</font> SCElementOp {
00188   <font class="keyword">private</font>:
00189     <font class="keywordtype">double</font> scale;
00190   <font class="keyword">public</font>:
00191     SCElementScale(<font class="keywordtype">double</font> a);
00192     SCElementScale(StateIn&amp;);
00193     ~SCElementScale();
00194     <font class="keywordtype">int</font> has_side_effects();
00195     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00196     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00197 };
00198 
00199 <font class="keyword">class </font>SCElementRandomize: <font class="keyword">public</font> SCElementOp {
00200   <font class="keyword">private</font>:
00201     <font class="keywordtype">double</font> assign;
00202   <font class="keyword">public</font>:
00203     SCElementRandomize();
00204     SCElementRandomize(StateIn&amp;);
00205     ~SCElementRandomize();
00206     <font class="keywordtype">int</font> has_side_effects();
00207     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00208     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00209 };
00210 
00211 <font class="keyword">class </font>SCElementAssign: <font class="keyword">public</font> SCElementOp {
00212   <font class="keyword">private</font>:
00213     <font class="keywordtype">double</font> assign;
00214   <font class="keyword">public</font>:
00215     SCElementAssign(<font class="keywordtype">double</font> a);
00216     SCElementAssign(StateIn&amp;);
00217     ~SCElementAssign();
00218     <font class="keywordtype">int</font> has_side_effects();
00219     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00220     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00221 };
00222 
00223 <font class="keyword">class </font>SCElementSquareRoot: <font class="keyword">public</font> SCElementOp {
00224   <font class="keyword">public</font>:
00225     SCElementSquareRoot();
00226     SCElementSquareRoot(<font class="keywordtype">double</font> a);
00227     SCElementSquareRoot(StateIn&amp;);
00228     ~SCElementSquareRoot();
00229     <font class="keywordtype">int</font> has_side_effects();
00230     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00231     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00232 };
00233 
00234 <font class="keyword">class </font>SCElementInvert: <font class="keyword">public</font> SCElementOp {
00235   <font class="keyword">private</font>:
00236     <font class="keywordtype">double</font> threshold_;
00237     <font class="keywordtype">int</font> nbelowthreshold_;
00238     <font class="keywordtype">int</font> deferred_;
00239   <font class="keyword">public</font>:
00240     SCElementInvert(<font class="keywordtype">double</font> threshold = 0.0);
00241     SCElementInvert(StateIn&amp;);
00242     ~SCElementInvert();
00243     <font class="keywordtype">int</font> has_side_effects();
00244     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00245     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00246     <font class="keywordtype">int</font> has_collect();
00247     <font class="keywordtype">void</font> defer_collect(<font class="keywordtype">int</font>);
00248     <font class="keywordtype">void</font> collect(<font class="keyword">const</font> Ref&lt;MessageGrp&gt;&amp;);
00249     <font class="keywordtype">int</font> result()<font class="keyword"> </font>{ <font class="keywordflow">return</font> nbelowthreshold_; }
00250 };
00251 
00252 
00253 <font class="keyword">class </font>SCElementScaleDiagonal: <font class="keyword">public</font> SCElementOp {
00254   <font class="keyword">private</font>:
00255     <font class="keywordtype">double</font> scale_diagonal;
00256   <font class="keyword">public</font>:
00257     SCElementScaleDiagonal(<font class="keywordtype">double</font> a);
00258     SCElementScaleDiagonal(StateIn&amp;);
00259     ~SCElementScaleDiagonal();
00260     <font class="keywordtype">int</font> has_side_effects();
00261     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00262     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00263 };
00264 
00265 <font class="keyword">class </font>SCElementShiftDiagonal: <font class="keyword">public</font> SCElementOp {
00266   <font class="keyword">private</font>:
00267     <font class="keywordtype">double</font> shift_diagonal;
00268   <font class="keyword">public</font>:
00269     SCElementShiftDiagonal(<font class="keywordtype">double</font> a);
00270     SCElementShiftDiagonal(StateIn&amp;);
00271     ~SCElementShiftDiagonal();
00272     <font class="keywordtype">int</font> has_side_effects();
00273     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00274     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00275 };
00276 
00277 <font class="keyword">class </font>SCElementMaxAbs: <font class="keyword">public</font> SCElementOp {
00278   <font class="keyword">private</font>:
00279     <font class="keywordtype">int</font> deferred_;
00280     <font class="keywordtype">double</font> r;
00281   <font class="keyword">public</font>:
00282     SCElementMaxAbs();
00283     SCElementMaxAbs(StateIn&amp;);
00284     ~SCElementMaxAbs();
00285     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00286     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00287     <font class="keywordtype">int</font> has_collect();
00288     <font class="keywordtype">void</font> defer_collect(<font class="keywordtype">int</font>);
00289     <font class="keywordtype">void</font> collect(<font class="keyword">const</font> Ref&lt;MessageGrp&gt;&amp;);
00290     <font class="keywordtype">double</font> result();
00291 };
00292 
00293 
00294 <font class="keyword">class </font>SCElementMinAbs: <font class="keyword">public</font> SCElementOp {
00295   <font class="keyword">private</font>:
00296     <font class="keywordtype">int</font> deferred_;
00297     <font class="keywordtype">double</font> r;
00298   <font class="keyword">public</font>:
00299     <font class="comment">// rinit must be greater than the magnitude of the smallest element</font>
00300     SCElementMinAbs(<font class="keywordtype">double</font> rinit);
00301     SCElementMinAbs(StateIn&amp;);
00302     ~SCElementMinAbs();
00303     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00304     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00305     <font class="keywordtype">int</font> has_collect();
00306     <font class="keywordtype">void</font> defer_collect(<font class="keywordtype">int</font>);
00307     <font class="keywordtype">void</font> collect(<font class="keyword">const</font> Ref&lt;MessageGrp&gt;&amp;);
00308     <font class="keywordtype">double</font> result();
00309 };
00310 
00311 
00312 <font class="keyword">class </font>SCElementSumAbs: <font class="keyword">public</font> SCElementOp {
00313   <font class="keyword">private</font>:
00314     <font class="keywordtype">int</font> deferred_;
00315     <font class="keywordtype">double</font> r;
00316   <font class="keyword">public</font>:
00317     SCElementSumAbs();
00318     SCElementSumAbs(StateIn&amp;);
00319     ~SCElementSumAbs();
00320     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00321     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00322     <font class="keywordtype">int</font> has_collect();
00323     <font class="keywordtype">void</font> defer_collect(<font class="keywordtype">int</font>);
00324     <font class="keywordtype">void</font> collect(<font class="keyword">const</font> Ref&lt;MessageGrp&gt;&amp;);
00325     <font class="keywordtype">double</font> result();
00326     <font class="keywordtype">void</font> init()<font class="keyword"> </font>{ r = 0.0; }
00327 };
00328 
00329 
00330 <font class="keyword">class </font>SCElementDot: <font class="keyword">public</font> SCElementOp {
00331   <font class="keyword">private</font>:
00332     <font class="keywordtype">double</font>** avects;
00333     <font class="keywordtype">double</font>** bvects;
00334     <font class="keywordtype">int</font> length;
00335   <font class="keyword">public</font>:
00336     SCElementDot(StateIn&amp;);
00337     <font class="keywordtype">void</font> save_data_state(StateOut&amp;);
00338     SCElementDot(<font class="keywordtype">double</font>**a, <font class="keywordtype">double</font>**b, <font class="keywordtype">int</font> length);
00339     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00340     <font class="keywordtype">int</font> has_side_effects();
00341 };
00342 
00343 <font class="keyword">class </font>SCElementAccumulateSCMatrix: <font class="keyword">public</font> SCElementOp {
00344   <font class="keyword">private</font>:
00345     SCMatrix *m;
00346   <font class="keyword">public</font>:
00347     SCElementAccumulateSCMatrix(SCMatrix *);
00348     <font class="keywordtype">int</font> has_side_effects();
00349     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00350 };
00351 
00352 <font class="keyword">class </font>SCElementAccumulateSymmSCMatrix: <font class="keyword">public</font> SCElementOp {
00353   <font class="keyword">private</font>:
00354     SymmSCMatrix *m;
00355   <font class="keyword">public</font>:
00356     SCElementAccumulateSymmSCMatrix(SymmSCMatrix *);
00357     <font class="keywordtype">int</font> has_side_effects();
00358     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00359 };
00360 
00361 <font class="keyword">class </font>SCElementAccumulateDiagSCMatrix: <font class="keyword">public</font> SCElementOp {
00362   <font class="keyword">private</font>:
00363     DiagSCMatrix *m;
00364   <font class="keyword">public</font>:
00365     SCElementAccumulateDiagSCMatrix(DiagSCMatrix *);
00366     <font class="keywordtype">int</font> has_side_effects();
00367     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00368 };
00369 
00370 <font class="keyword">class </font>SCElementAccumulateSCVector: <font class="keyword">public</font> SCElementOp {
00371   <font class="keyword">private</font>:
00372     SCVector *m;
00373   <font class="keyword">public</font>:
00374     SCElementAccumulateSCVector(SCVector *);
00375     <font class="keywordtype">int</font> has_side_effects();
00376     <font class="keywordtype">void</font> process(SCMatrixBlockIter&amp;);
00377 };
00378 
00379 }
00380 
00381 <font class="preprocessor">#endif</font>
00382 <font class="preprocessor"></font>
00383 <font class="comment">// Local Variables:</font>
00384 <font class="comment">// mode: c++</font>
00385 <font class="comment">// c-file-style: "CLJ"</font>
00386 <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>