sc::SCMatrixLTriSubBlock Class Reference

The SCMatrixLTriSubBlock describes a triangular subblock of a matrix. More...

#include <block.h>

Inheritance diagram for sc::SCMatrixLTriSubBlock:

sc::SCMatrixBlock sc::SavableState sc::DescribedClass sc::RefCount sc::Identity List of all members.

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.


The documentation for this class was generated from the following file:
Generated at Mon Dec 3 23:23:57 2007 for MPQC 2.3.1 using the documentation package Doxygen 1.5.2.