<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>MPQC: sc::SCMatrixLTriBlock Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1SCMatrixLTriBlock.html">SCMatrixLTriBlock</a> </div> </div> <div class="contents"> <h1>sc::SCMatrixLTriBlock Class Reference</h1><!-- doxytag: class="sc::SCMatrixLTriBlock" --><!-- doxytag: inherits="sc::SCMatrixBlock" -->The <a class="el" href="classsc_1_1SCMatrixLTriBlock.html" title="The SCMatrixLTriBlock describes a triangular piece of a matrix.">SCMatrixLTriBlock</a> describes a triangular piece of a matrix. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="block_8h_source.html">block.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for sc::SCMatrixLTriBlock:</div> <div class="dynsection"> <p><center><img src="classsc_1_1SCMatrixLTriBlock.png" usemap="#sc::SCMatrixLTriBlock_map" border="0" alt=""></center> <map name="sc::SCMatrixLTriBlock_map"> <area href="classsc_1_1SCMatrixBlock.html" alt="sc::SCMatrixBlock" shape="rect" coords="0,224,136,248"> <area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="0,168,136,192"> <area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="0,112,136,136"> <area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,136,80"> <area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,136,24"> </map> </div> <p> <a href="classsc_1_1SCMatrixLTriBlock-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0bb786eea74f339bc265278c5e52c167"></a><!-- doxytag: member="sc::SCMatrixLTriBlock::SCMatrixLTriBlock" ref="0bb786eea74f339bc265278c5e52c167" args="(int s, int e)" --> </td><td class="memItemRight" valign="bottom"><b>SCMatrixLTriBlock</b> (int s, int e)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8180d996adad828808d439370ade7a75"></a><!-- doxytag: member="sc::SCMatrixLTriBlock::SCMatrixLTriBlock" ref="8180d996adad828808d439370ade7a75" args="(StateIn &)" --> </td><td class="memItemRight" valign="bottom"><b>SCMatrixLTriBlock</b> (<a class="el" href="classsc_1_1StateIn.html">StateIn</a> &)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SCMatrixLTriBlock.html#032f2ed7f6999dab26fd09ed3ef8bc2e">save_data_state</a> (<a class="el" href="classsc_1_1StateOut.html">StateOut</a> &)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> CTOR initializes them. <a href="#032f2ed7f6999dab26fd09ed3ef8bc2e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classsc_1_1SCMatrixBlock.html">SCMatrixBlock</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SCMatrixLTriBlock.html#d8cb47dc684787b525b08b3e5c03f4d0">deepcopy</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return of copy of this. <a href="#d8cb47dc684787b525b08b3e5c03f4d0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68c4ba3355000dafa231fabf5b58a82e"></a><!-- doxytag: member="sc::SCMatrixLTriBlock::process" ref="68c4ba3355000dafa231fabf5b58a82e" args="(SCElementOp *)" --> void </td><td class="memItemRight" valign="bottom"><b>process</b> (<a class="el" href="classsc_1_1SCElementOp.html">SCElementOp</a> *)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7817edb51874e45953f6a585c4daab19"></a><!-- doxytag: member="sc::SCMatrixLTriBlock::process" ref="7817edb51874e45953f6a585c4daab19" args="(SCElementOp2 *, SCMatrixBlock *)" --> void </td><td class="memItemRight" valign="bottom"><b>process</b> (<a class="el" href="classsc_1_1SCElementOp2.html">SCElementOp2</a> *, <a class="el" href="classsc_1_1SCMatrixBlock.html">SCMatrixBlock</a> *)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="069c3aa38d6ea5cc9cd5becacfc4c714"></a><!-- doxytag: member="sc::SCMatrixLTriBlock::process" ref="069c3aa38d6ea5cc9cd5becacfc4c714" args="(SCElementOp3 *, SCMatrixBlock *, SCMatrixBlock *)" --> void </td><td class="memItemRight" valign="bottom"><b>process</b> (<a class="el" href="classsc_1_1SCElementOp3.html">SCElementOp3</a> *, <a class="el" href="classsc_1_1SCMatrixBlock.html">SCMatrixBlock</a> *, <a class="el" href="classsc_1_1SCMatrixBlock.html">SCMatrixBlock</a> *)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">double * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1SCMatrixLTriBlock.html#82c2848b9551e4ce9775708a22c4a6c7">dat</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return a pointer to the block's data and the number of elements in the block. <a href="#82c2848b9551e4ce9775708a22c4a6c7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="77d7ce5381b4f34f6a2efbb580e01515"></a><!-- doxytag: member="sc::SCMatrixLTriBlock::ndat" ref="77d7ce5381b4f34f6a2efbb580e01515" args="() const " --> int </td><td class="memItemRight" valign="bottom"><b>ndat</b> () const </td></tr> <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b7de22fde26e0480e2ceda306c475ffb"></a><!-- doxytag: member="sc::SCMatrixLTriBlock::start" ref="b7de22fde26e0480e2ceda306c475ffb" args="" --> int </td><td class="memItemRight" valign="bottom"><b>start</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f2a1a4f3a49b3186d2b58d465af91068"></a><!-- doxytag: member="sc::SCMatrixLTriBlock::end" ref="f2a1a4f3a49b3186d2b58d465af91068" args="" --> int </td><td class="memItemRight" valign="bottom"><b>end</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c1595503eb816afc7f4596f62da98e93"></a><!-- doxytag: member="sc::SCMatrixLTriBlock::data" ref="c1595503eb816afc7f4596f62da98e93" args="" --> double * </td><td class="memItemRight" valign="bottom"><b>data</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="classsc_1_1SCMatrixLTriBlock.html" title="The SCMatrixLTriBlock describes a triangular piece of a matrix.">SCMatrixLTriBlock</a> describes a triangular piece of a matrix. <p> The following bit of code illustrates the data layout: fill(double **matrix, SCMatrixLTriBlock &b) { int offset=0; for (int i=b.start; i<b.end; i++) { for (int j=b.start; j<=i; j++,offset++) { matrix[i][j] = b.data[offset]; } } } <hr><h2>Member Function Documentation</h2> <a class="anchor" name="82c2848b9551e4ce9775708a22c4a6c7"></a><!-- doxytag: member="sc::SCMatrixLTriBlock::dat" ref="82c2848b9551e4ce9775708a22c4a6c7" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double* sc::SCMatrixLTriBlock::dat </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return a pointer to the block's data and the number of elements in the block. <p> Some blocks cannot provide this information and a runtime error will be generated if these members are called. These routines are only used internally in the matrix library. <p>Reimplemented from <a class="el" href="classsc_1_1SCMatrixBlock.html#c6601cf7d328c55a7302084dd07bcb79">sc::SCMatrixBlock</a>.</p> </div> </div><p> <a class="anchor" name="d8cb47dc684787b525b08b3e5c03f4d0"></a><!-- doxytag: member="sc::SCMatrixLTriBlock::deepcopy" ref="d8cb47dc684787b525b08b3e5c03f4d0" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classsc_1_1SCMatrixBlock.html">SCMatrixBlock</a>* sc::SCMatrixLTriBlock::deepcopy </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return of copy of this. <p> A runtime error will be generated for blocks that cannot do a deepcopy. These routines are only used internally in the matrix library. <p>Reimplemented from <a class="el" href="classsc_1_1SCMatrixBlock.html#2aec95478d8f748d21682f1a234897a0">sc::SCMatrixBlock</a>.</p> </div> </div><p> <a class="anchor" name="032f2ed7f6999dab26fd09ed3ef8bc2e"></a><!-- doxytag: member="sc::SCMatrixLTriBlock::save_data_state" ref="032f2ed7f6999dab26fd09ed3ef8bc2e" args="(StateOut &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sc::SCMatrixLTriBlock::save_data_state </td> <td>(</td> <td class="paramtype"><a class="el" href="classsc_1_1StateOut.html">StateOut</a> & </td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Save the base classes (with save_data_state) and the members in the same order that the <a class="el" href="classsc_1_1StateIn.html" title="Restores objects that derive from SavableState.">StateIn</a> CTOR initializes them. <p> This must be implemented by the derived class if the class has data. <p>Reimplemented from <a class="el" href="classsc_1_1SCMatrixBlock.html#ffdd5a3bf3b700083a02c2c4a95395ac">sc::SCMatrixBlock</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="block_8h_source.html">block.h</a></ul> </div> <hr> <address> <small> Generated at Wed Oct 14 14:12:16 2009 for <a href="http://www.mpqc.org">MPQC</a> 2.3.1 using the documentation package <a href="http://www.doxygen.org">Doxygen</a> 1.5.9. </small> </address> </body> </html>