# sc::SCMatrixRectSubBlock Class Reference

The SCMatrixRectSubBlock describes a rectangular piece of a matrix. More...

`#include <block.h>`

Inheritance diagram for sc::SCMatrixRectSubBlock:

List of all members.

## Public Member Functions

| SCMatrixRectSubBlock (int is, int ie, int istride, int js, int je, double *data)
| SCMatrixRectSubBlock (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 | jstart
int | iend
int | jend
int | istride
double * | data

## Detailed Description

The SCMatrixRectSubBlock describes a rectangular piece of a matrix.

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

## Member Function Documentation

void sc::SCMatrixRectSubBlock::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:

- block.h