sc::SCMatrixDiagBlock Class Reference

The SCMatrixDiagBlock describes a diagonal piece of a matrix. More...

#include <block.h>

Inheritance diagram for sc::SCMatrixDiagBlock:

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

Public Member Functions

 SCMatrixDiagBlock (int istart, int iend, int jstart)
 SCMatrixDiagBlock (int istart, int iend)
 SCMatrixDiagBlock (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.
SCMatrixBlockdeepcopy () 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 istart
int jstart
int iend
double * data

Detailed Description

The SCMatrixDiagBlock describes a diagonal piece of a matrix.

The following bit of code illustrates the data layout: fill(double **matrix, SCMatrixDiagBlock &b) { int i,j,offset=0; for (i=b.istart,j=b.jstart; i<b.iend; i++,j++,offset++) { matrix[i][j] = b.data[offset]; } }


Member Function Documentation

void sc::SCMatrixDiagBlock::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.

SCMatrixBlock* sc::SCMatrixDiagBlock::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.

double* sc::SCMatrixDiagBlock::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.


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.