.TH "sc::SCBlockInfo" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::SCBlockInfo \- \fBSCBlockInfo\fP contains blocking information for the \fBSCDimension\fP class\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::SavableState\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBSCBlockInfo\fP (int n, int nblocks=0, const int *blocksizes=0)" .br .RI "Create a \fBSCBlockInfo\fP object\&. " .ti -1c .RI "\fBSCBlockInfo\fP (\fBStateIn\fP &)" .br .ti -1c .RI "\fBSCBlockInfo\fP (const \fBRef\fP< \fBKeyVal\fP > &keyval)" .br .RI "The \fBKeyVal\fP constructor\&. " .ti -1c .RI "void \fBsave_data_state\fP (\fBStateOut\fP &)" .br .RI "Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. " .ti -1c .RI "int \fBequiv\fP (\fBSCBlockInfo\fP *bi)" .br .RI "Return nonzero if this is equivalent to bi\&. " .ti -1c .RI "int \fBnelem\fP () const" .br .RI "Return the total number of elements\&. " .ti -1c .RI "int \fBnblock\fP () const" .br .RI "Return the number of blocks\&. " .ti -1c .RI "int \fBstart\fP (int i) const" .br .RI "Return the starting index for block i\&. " .ti -1c .RI "int \fBsize\fP (int i) const" .br .RI "Return the size of block i\&. " .ti -1c .RI "int \fBfence\fP (int i) const" .br .RI "Return the last index + 1 for block i\&. " .ti -1c .RI "void \fBelem_to_block\fP (int i, int &block, int &offset)" .br .ti -1c .RI "\fBRefSCDimension\fP \fBsubdim\fP (int i)" .br .RI "Retreive subdimension information\&. " .ti -1c .RI "void \fBset_subdim\fP (int i, const \fBRefSCDimension\fP &dim)" .br .RI "Set subdimension information\&. " .ti -1c .RI "void \fBprint\fP (std::ostream &o=\fBExEnv::out0\fP()) const" .br .RI "Print the object to the stream o\&. " .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "void \fBinit_start\fP ()" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "int \fBn_\fP" .br .ti -1c .RI "int \fBnblocks_\fP" .br .ti -1c .RI "int * \fBstart_\fP" .br .ti -1c .RI "int * \fBsize_\fP" .br .ti -1c .RI "\fBRefSCDimension\fP * \fBsubdims_\fP" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP \fBSCBlockInfo\fP contains blocking information for the \fBSCDimension\fP class\&. There are really two ways that it can contain blocking information\&. In the first way, a vector of block offsets and block sizes is stored\&. The second method is only used by those specializations created by the \fBBlockedSCMatrixKit\fP class\&. In this method the blocking information is stored as subdimensions of type \fBSCDimension\fP\&. If both methods are used, they must be used consistently\&. That is, the number, sizes, and order of the blocks must match the number, sizes, and order of the \fBSCDimension\fP objects\&. .br .SH "Constructor & Destructor Documentation" .PP .SS "sc::SCBlockInfo::SCBlockInfo (const \fBRef\fP< \fBKeyVal\fP > & keyval)" .PP The \fBKeyVal\fP constructor\&. .IP "\fB\fCsizes\fP\fP" 1c This is a vector giving the size of each subblock\&. There is no default\&. .PP .IP "\fB\fCsubdims\fP\fP" 1c If this vector is given there is must be entry for each entry in the sizes vector\&. Each entry is an \fBSCDimension\fP object\&. The default is to not store subdimension information\&. .PP .PP .SH "Member Function Documentation" .PP .SS "void sc::SCBlockInfo::save_data_state (\fBStateOut\fP &)\fC [virtual]\fP" .PP Save the base classes (with save_data_state) and the members in the same order that the \fBStateIn\fP CTOR initializes them\&. This must be implemented by the derived class if the class has data\&. .PP Reimplemented from \fBsc::SavableState\fP\&. .SS "void sc::SCBlockInfo::set_subdim (int i, const \fBRefSCDimension\fP & dim)" .PP Set subdimension information\&. The dimension dim and index i must be consistent with the nblocks and blocksizes information given to the constructor\&. .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.