SYNOPSIS
#include <block.h>
Inherits sc::SCMatrixBlock.
Public Member Functions
SCMatrixLTriBlock (int s, int e)
SCMatrixLTriBlock (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.
SCMatrixBlock * deepcopy () const
Return of copy of this.
void process (SCElementOp *)
void process (SCElementOp2 *, SCMatrixBlock *)
void process (SCElementOp3 *, SCMatrixBlock *, SCMatrixBlock *)
double * dat ()
Return a pointer to the block's data and the number of elements in the block.
int ndat () const
Public Attributes
int start
int end
double * data
Detailed Description
The SCMatrixLTriBlock describes a triangular piece of a matrix.
The following bit of code illustrates the data layout: fill(double **matrix, SCMatrixLTriBlock &b) { int offset=0; for (int i=b.start; i<b.end; i++) { for (int j=b.start; j<=i; j++,offset++) { matrix[i][j] = b.data[offset]; } } }
Member Function Documentation
double* sc::SCMatrixLTriBlock::dat () [virtual]
Return a pointer to the block's data and the number of elements in the block. 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.
Reimplemented from sc::SCMatrixBlock.
SCMatrixBlock* sc::SCMatrixLTriBlock::deepcopy () const [virtual]
Return of copy of this. A runtime error will be generated for blocks that cannot do a deepcopy. These routines are only used internally in the matrix library.
Reimplemented from sc::SCMatrixBlock.
void sc::SCMatrixLTriBlock::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.