#include <block.h>
Inheritance diagram for SCMatrixRectBlock
Public Methods | |
SCMatrixRectBlock (int is, int ie, int js, int je) | |
SCMatrixRectBlock (StateIn &) | |
virtual | ~SCMatrixRectBlock () |
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. More... | |
SCMatrixBlock* | deepcopy () const |
Return of copy of this. More... | |
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. More... | |
int | ndat () const |
Public Attributes | |
int | istart |
int | jstart |
int | iend |
int | jend |
double* | data |
The following bit of code illustrates the data layout: fill(double **matrix, SCMatrixRectBlock &b) { int offset=0; 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]; } } }
|
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 SCMatrixBlock. |
|
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 SCMatrixBlock. |
|
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 SCMatrixBlock. |