sc_SCMatrixDiagBlock3
The scmatrixdiagblock describes a diagonal piece of a matrix.
Usage
Inherits sc::SCMatrixBlock.
Public Member Functions
SCMatrixDiagBlock (StateIn
&)
void save_data_state
(StateOut
&)
void process
(SCElementOp2
*,
SCMatrixBlock
*)
void process
(SCElementOp3
*,
SCMatrixBlock
*,
SCMatrixBlock
*)
double *
dat
()
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
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.
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.
int sc::SCMatrixDiagBlock::ndat () const [virtual]
Reimplemented from sc::SCMatrixBlock.
void sc::SCMatrixDiagBlock::process (SCElementOp *) [virtual]
Implements sc::SCMatrixBlock.
void sc::SCMatrixDiagBlock::process (SCElementOp2 *, SCMatrixBlock *) [virtual]
Implements sc::SCMatrixBlock.
void sc::SCMatrixDiagBlock::process (SCElementOp3 *, SCMatrixBlock *, SCMatrixBlock *) [virtual]
Implements sc::SCMatrixBlock.
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.
History
- Debian 12 (Bookworm): the text shown here
- Debian 11 (Bullseye)
- Debian 6.0 (Squeeze)
- Debian 5.0 (Lenny)
- Debian 4.0 (Etch)
- Debian 3.1 (Sarge)