<!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::SCMatrixRectBlock 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_1SCMatrixRectBlock.html">SCMatrixRectBlock</a> </div> </div> <div class="contents"> <h1>sc::SCMatrixRectBlock Class Reference</h1><!-- doxytag: class="sc::SCMatrixRectBlock" --><!-- doxytag: inherits="sc::SCMatrixBlock" -->The <a class="el" href="classsc_1_1SCMatrixRectBlock.html" title="The SCMatrixRectBlock describes a rectangular piece of a matrix.">SCMatrixRectBlock</a> describes a rectangular 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::SCMatrixRectBlock:</div> <div class="dynsection"> <p><center><img src="classsc_1_1SCMatrixRectBlock.png" usemap="#sc::SCMatrixRectBlock_map" border="0" alt=""></center> <map name="sc::SCMatrixRectBlock_map"> <area href="classsc_1_1SCMatrixBlock.html" alt="sc::SCMatrixBlock" shape="rect" coords="0,224,139,248"> <area href="classsc_1_1SavableState.html" alt="sc::SavableState" shape="rect" coords="0,168,139,192"> <area href="classsc_1_1DescribedClass.html" alt="sc::DescribedClass" shape="rect" coords="0,112,139,136"> <area href="classsc_1_1RefCount.html" alt="sc::RefCount" shape="rect" coords="0,56,139,80"> <area href="classsc_1_1Identity.html" alt="sc::Identity" shape="rect" coords="0,0,139,24"> </map> </div> <p> <a href="classsc_1_1SCMatrixRectBlock-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="0f1b5287c22b7c4fc472a27ee0a1347b"></a><!-- doxytag: member="sc::SCMatrixRectBlock::SCMatrixRectBlock" ref="0f1b5287c22b7c4fc472a27ee0a1347b" args="(int is, int ie, int js, int je)" --> </td><td class="memItemRight" valign="bottom"><b>SCMatrixRectBlock</b> (int is, int ie, int js, int je)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a28f76d0f2e6a63e49372429d9fd833a"></a><!-- doxytag: member="sc::SCMatrixRectBlock::SCMatrixRectBlock" ref="a28f76d0f2e6a63e49372429d9fd833a" args="(StateIn &)" --> </td><td class="memItemRight" valign="bottom"><b>SCMatrixRectBlock</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_1SCMatrixRectBlock.html#5cce1df18c2a42099c67f75ff8c0bac2">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="#5cce1df18c2a42099c67f75ff8c0bac2"></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_1SCMatrixRectBlock.html#272a18ddf9d51bda8fa493374b197b60">deepcopy</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return of copy of this. <a href="#272a18ddf9d51bda8fa493374b197b60"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f993852ef7ba9459df4bff9d001b3470"></a><!-- doxytag: member="sc::SCMatrixRectBlock::process" ref="f993852ef7ba9459df4bff9d001b3470" 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="15a1bdf87570f1db71cef0b4382a57f3"></a><!-- doxytag: member="sc::SCMatrixRectBlock::process" ref="15a1bdf87570f1db71cef0b4382a57f3" 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="701d236189d213bb659d0997dcd17592"></a><!-- doxytag: member="sc::SCMatrixRectBlock::process" ref="701d236189d213bb659d0997dcd17592" 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_1SCMatrixRectBlock.html#dd1c1d5a269ba49709975b8d3f075242">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="#dd1c1d5a269ba49709975b8d3f075242"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4c2ba70bd390adec2cbdc06095369ae1"></a><!-- doxytag: member="sc::SCMatrixRectBlock::ndat" ref="4c2ba70bd390adec2cbdc06095369ae1" 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="f037cffe61ba3d8be2f28c6851a8dba5"></a><!-- doxytag: member="sc::SCMatrixRectBlock::istart" ref="f037cffe61ba3d8be2f28c6851a8dba5" 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="43f8c2cff4ec734496bf786942b7776b"></a><!-- doxytag: member="sc::SCMatrixRectBlock::jstart" ref="43f8c2cff4ec734496bf786942b7776b" 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="0769b03c3f1ed3904943c52e56fbfe42"></a><!-- doxytag: member="sc::SCMatrixRectBlock::iend" ref="0769b03c3f1ed3904943c52e56fbfe42" 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="5cbf8fcac7bc53122c83609d82fca199"></a><!-- doxytag: member="sc::SCMatrixRectBlock::jend" ref="5cbf8fcac7bc53122c83609d82fca199" args="" --> int </td><td class="memItemRight" valign="bottom"><b>jend</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5b5fa694e6c8138ec8ee10602ed0924a"></a><!-- doxytag: member="sc::SCMatrixRectBlock::data" ref="5b5fa694e6c8138ec8ee10602ed0924a" 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_1SCMatrixRectBlock.html" title="The SCMatrixRectBlock describes a rectangular piece of a matrix.">SCMatrixRectBlock</a> describes a rectangular piece of a matrix. <p> The following bit of code illustrates the data layout: fill(double **matrix, SCMatrixRectBlock &b) { int offset=0; for (int i=b.istart; i<b.iend; i++) { for (int j=b.jstart; j<b.jend; j++,offset++) { matrix[i][j] = b.data[offset]; } } } <hr><h2>Member Function Documentation</h2> <a class="anchor" name="dd1c1d5a269ba49709975b8d3f075242"></a><!-- doxytag: member="sc::SCMatrixRectBlock::dat" ref="dd1c1d5a269ba49709975b8d3f075242" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double* sc::SCMatrixRectBlock::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="272a18ddf9d51bda8fa493374b197b60"></a><!-- doxytag: member="sc::SCMatrixRectBlock::deepcopy" ref="272a18ddf9d51bda8fa493374b197b60" 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::SCMatrixRectBlock::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="5cce1df18c2a42099c67f75ff8c0bac2"></a><!-- doxytag: member="sc::SCMatrixRectBlock::save_data_state" ref="5cce1df18c2a42099c67f75ff8c0bac2" args="(StateOut &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sc::SCMatrixRectBlock::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>