NAME
sc::SCMatrixLTriSubBlock -
The SCMatrixLTriSubBlock describes a triangular subblock of a matrix.
SYNOPSIS
#include <block.h>
Inherits sc::SCMatrixBlock.
Public Member Functions
SCMatrixLTriSubBlock (int is, int ie, int js, int je, double *data)
SCMatrixLTriSubBlock (StateIn &)
void save_data_state (StateOut &)
Save the base classes (with save_data_state) and the members in the
same order that the StateIn CTOR initializes them.
void process (SCElementOp *)
void process (SCElementOp2 *, SCMatrixBlock *)
void process (SCElementOp3 *, SCMatrixBlock *, SCMatrixBlock *)
Public Attributes
int istart
int iend
int jstart
int jend
double * data
Detailed Description
The SCMatrixLTriSubBlock 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;
i<b.end; i++) { for (int j=b.start; j<=i && j<b.jend; j++,offset++) {
matrix[i][j] = b.data[offset]; } if (j>i) offset += b.istart; else
offset += i + b.jstart - b.jend; } }
Member Function Documentation
void sc::SCMatrixLTriSubBlock::save_data_state (StateOut &) [virtual]
Save the base classes (with save_data_state) and the members in the
same order that the StateIn CTOR initializes them. This must be
implemented by the derived class if the class has data.
Reimplemented from sc::SCMatrixBlock.
Author
Generated automatically by Doxygen for MPQC from the source code.