#include <block.h>
Inheritance diagram for SCMatrixDiagBlock


Public Methods | |
| SCMatrixDiagBlock (int istart, int iend, int jstart) | |
| SCMatrixDiagBlock (int istart, int iend) | |
| SCMatrixDiagBlock (StateIn &) | |
| virtual | ~SCMatrixDiagBlock () | 
| 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 | 
| double* | data | 
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]; } }
      
  | 
  
| 
 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.  |