<!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::SCMatrixDiagBlock 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_1SCMatrixDiagBlock.html">SCMatrixDiagBlock</a> </div> </div> <div class="contents"> <h1>sc::SCMatrixDiagBlock Class Reference</h1><!-- doxytag: class="sc::SCMatrixDiagBlock" --><!-- doxytag: inherits="sc::SCMatrixBlock" -->The <a class="el" href="classsc_1_1SCMatrixDiagBlock.html" title="The SCMatrixDiagBlock describes a diagonal piece of a matrix.">SCMatrixDiagBlock</a> describes a diagonal 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::SCMatrixDiagBlock:</div> <div class="dynsection"> <p><center><img src="classsc_1_1SCMatrixDiagBlock.png" usemap="#sc::SCMatrixDiagBlock_map" border="0" alt=""></center> <map name="sc::SCMatrixDiagBlock_map"> <area href="classsc_1_1SCMatrixBlock.html" alt="sc::SCMatrixBlock" shape="rect" coords="0,224,140,248"> <area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="0,168,140,192"> <area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="0,112,140,136"> <area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,140,80"> <area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,140,24"> </map> </div> <p> <a href="classsc_1_1SCMatrixDiagBlock-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="5431f16b3ee7455006478084e2a026c2"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::SCMatrixDiagBlock" ref="5431f16b3ee7455006478084e2a026c2" args="(int istart, int iend, int jstart)" --> </td><td class="memItemRight" valign="bottom"><b>SCMatrixDiagBlock</b> (int istart, int iend, int jstart)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e0ec893b6eb7ade5a18d222645fb2da"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::SCMatrixDiagBlock" ref="7e0ec893b6eb7ade5a18d222645fb2da" args="(int istart, int iend)" --> </td><td class="memItemRight" valign="bottom"><b>SCMatrixDiagBlock</b> (int istart, int iend)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4bda5f28b81b341c5442d44fd5702b22"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::SCMatrixDiagBlock" ref="4bda5f28b81b341c5442d44fd5702b22" args="(StateIn &)" --> </td><td class="memItemRight" valign="bottom"><b>SCMatrixDiagBlock</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_1SCMatrixDiagBlock.html#45f9834faaba6754a575c0be15cfa493">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="#45f9834faaba6754a575c0be15cfa493"></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_1SCMatrixDiagBlock.html#8593147bdfa036e7b3ca89df0f460c9d">deepcopy</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return of copy of this. <a href="#8593147bdfa036e7b3ca89df0f460c9d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c4bb92889f1b8b3537999c92db06629"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::process" ref="6c4bb92889f1b8b3537999c92db06629" 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="58554989a7330cc5e4f0dec6854bea63"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::process" ref="58554989a7330cc5e4f0dec6854bea63" 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="02a7cab826ff999bee21e09190f98b22"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::process" ref="02a7cab826ff999bee21e09190f98b22" 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_1SCMatrixDiagBlock.html#34618ad347864f23c8f3da763afced3c">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="#34618ad347864f23c8f3da763afced3c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3e7aa3297be4d42f00cf5857952cf3c6"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::ndat" ref="3e7aa3297be4d42f00cf5857952cf3c6" 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="b928f3bba3fee28c6b0b1b4f610e57d0"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::istart" ref="b928f3bba3fee28c6b0b1b4f610e57d0" args="" --> int </td><td class="memItemRight" valign="bottom"><b>istart</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="573fdf15286f18f5faf90f2ec8872abb"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::jstart" ref="573fdf15286f18f5faf90f2ec8872abb" args="" --> int </td><td class="memItemRight" valign="bottom"><b>jstart</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0f63a5ebf58418eafeecc2ceeac14472"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::iend" ref="0f63a5ebf58418eafeecc2ceeac14472" args="" --> int </td><td class="memItemRight" valign="bottom"><b>iend</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f0ae3d632a967b5d09f54e6ecd47342d"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::data" ref="f0ae3d632a967b5d09f54e6ecd47342d" 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_1SCMatrixDiagBlock.html" title="The SCMatrixDiagBlock describes a diagonal piece of a matrix.">SCMatrixDiagBlock</a> describes a diagonal piece of a matrix. <p> The following bit of code illustrates the data layout: fill(double **matrix, SCMatrixDiagBlock &b) { int i,j,offset=0; for (i=b.istart,j=b.jstart; i<b.iend; i++,j++,offset++) { matrix[i][j] = b.data[offset]; } } <hr><h2>Member Function Documentation</h2> <a class="anchor" name="34618ad347864f23c8f3da763afced3c"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::dat" ref="34618ad347864f23c8f3da763afced3c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double* sc::SCMatrixDiagBlock::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="8593147bdfa036e7b3ca89df0f460c9d"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::deepcopy" ref="8593147bdfa036e7b3ca89df0f460c9d" 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::SCMatrixDiagBlock::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="45f9834faaba6754a575c0be15cfa493"></a><!-- doxytag: member="sc::SCMatrixDiagBlock::save_data_state" ref="45f9834faaba6754a575c0be15cfa493" args="(StateOut &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sc::SCMatrixDiagBlock::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>