.TH "sc::SCMatrixLTriSubBlock" 3 "Sun Oct 4 2020" "Version 2.3.1" "MPQC" \" -*- nroff -*- .ad l .nh .SH NAME sc::SCMatrixLTriSubBlock \- The \fBSCMatrixLTriSubBlock\fP describes a triangular subblock of a matrix\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBsc::SCMatrixBlock\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBSCMatrixLTriSubBlock\fP (int is, int ie, int js, int je, double *data)" .br .ti -1c .RI "\fBSCMatrixLTriSubBlock\fP (\fBStateIn\fP &)" .br .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 "void \fBprocess\fP (\fBSCElementOp\fP *)" .br .ti -1c .RI "void \fBprocess\fP (\fBSCElementOp2\fP *, \fBSCMatrixBlock\fP *)" .br .ti -1c .RI "void \fBprocess\fP (\fBSCElementOp3\fP *, \fBSCMatrixBlock\fP *, \fBSCMatrixBlock\fP *)" .br .in -1c .SS "Public Attributes" .in +1c .ti -1c .RI "int \fBistart\fP" .br .ti -1c .RI "int \fBiend\fP" .br .ti -1c .RI "int \fBjstart\fP" .br .ti -1c .RI "int \fBjend\fP" .br .ti -1c .RI "double * \fBdata\fP" .br .in -1c .SS "Additional Inherited Members" .SH "Detailed Description" .PP The \fBSCMatrixLTriSubBlock\fP describes a triangular subblock of a matrix\&. The following bit of code illustrates the data layout: fill(double **matrix, SCMatrixLTriSubBlock &b) { int offset=(b\&.istart*(b\&.istart+1)>>1) + b\&.jstart; for (int i=b\&.start; ii) offset += b\&.istart; else offset += i + b\&.jstart - b\&.jend; } } .SH "Member Function Documentation" .PP .SS "void sc::SCMatrixLTriSubBlock::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::SCMatrixBlock\fP\&. .SH "Author" .PP Generated automatically by Doxygen for MPQC from the source code\&.