# sc::SCMatrixLTriBlock Class Reference

The SCMatrixLTriBlock describes a triangular piece of a matrix. More...

`#include <block.h>`

Inheritance diagram for sc::SCMatrixLTriBlock:

List of all members.

## 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

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.

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.

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.

The documentation for this class was generated from the following file:

- block.h