28#ifndef _math_scmat_blkiter_h
29#define _math_scmat_blkiter_h
35#include <math/scmat/block.h>
50class SCMatrixBlockIter {
52 SCMatrixBlockIter() {}
53 virtual ~SCMatrixBlockIter();
59 virtual void set(
double val) = 0;
63 virtual double get() = 0;
65 virtual operator int() = 0;
73class SCMatrixRectBlockIter:
public SCMatrixBlockIter {
81 virtual ~SCMatrixRectBlockIter();
91class SCMatrixRectSubBlockIter:
public SCMatrixBlockIter {
99 virtual ~SCMatrixRectSubBlockIter();
109class SCMatrixLTriBlockIter:
public SCMatrixBlockIter {
117 virtual ~SCMatrixLTriBlockIter();
127class SCMatrixLTriSubBlockIter:
public SCMatrixBlockIter {
135 virtual ~SCMatrixLTriSubBlockIter();
145class SCMatrixDiagBlockIter:
public SCMatrixBlockIter {
152 virtual ~SCMatrixDiagBlockIter();
162class SCMatrixDiagSubBlockIter:
public SCMatrixBlockIter {
169 virtual ~SCMatrixDiagSubBlockIter();
179class SCVectorSimpleBlockIter:
public SCMatrixBlockIter {
186 virtual ~SCVectorSimpleBlockIter();
196class SCVectorSimpleSubBlockIter:
public SCMatrixBlockIter {
203 virtual ~SCVectorSimpleSubBlockIter();
The SCElementOp2 class is very similar to the SCElementOp class except that pairs of blocks are treat...
Definition elemop.h:125
The SCElementOp3 class is very similar to the SCElementOp class except that a triplet of blocks is tr...
Definition elemop.h:147
Objects of class SCElementOp are used to perform operations on the elements of matrices.
Definition elemop.h:60
virtual void set(double val)=0
Set the current element to val.
virtual int j()=0
Returns the column index.
virtual int i()=0
Returns the row index.
virtual void operator++()=0
Move to the next element.
virtual void reset()=0
Start the iteration over.
virtual void accum(double val)
Add val to the current element.
virtual double get()=0
Return the value of the current element.
int i()
Returns the row index.
void operator++()
Move to the next element.
void reset()
Start the iteration over.
void set(double)
Set the current element to val.
double get()
Return the value of the current element.
int j()
Returns the column index.
The SCMatrixDiagBlock describes a diagonal piece of a matrix.
Definition block.h:322
void reset()
Start the iteration over.
void set(double)
Set the current element to val.
int j()
Returns the column index.
void operator++()
Move to the next element.
int i()
Returns the row index.
double get()
Return the value of the current element.
The SCMatrixDiagSubBlock describes a diagonal subblock of a matrix.
Definition block.h:355
void operator++()
Move to the next element.
void reset()
Start the iteration over.
void set(double)
Set the current element to val.
int i()
Returns the row index.
int j()
Returns the column index.
double get()
Return the value of the current element.
The SCMatrixLTriBlock describes a triangular piece of a matrix.
Definition block.h:257
void operator++()
Move to the next element.
double get()
Return the value of the current element.
int i()
Returns the row index.
void set(double)
Set the current element to val.
int j()
Returns the column index.
void reset()
Start the iteration over.
The SCMatrixLTriSubBlock describes a triangular subblock of a matrix.
Definition block.h:292
double get()
Return the value of the current element.
int i()
Returns the row index.
int j()
Returns the column index.
void set(double)
Set the current element to val.
void reset()
Start the iteration over.
void operator++()
Move to the next element.
The SCMatrixRectBlock describes a rectangular piece of a matrix.
Definition block.h:187
void set(double)
Set the current element to val.
int i()
Returns the row index.
int j()
Returns the column index.
double get()
Return the value of the current element.
void operator++()
Move to the next element.
void reset()
Start the iteration over.
The SCMatrixRectSubBlock describes a rectangular piece of a matrix.
Definition block.h:223
int i()
Returns the row index.
void set(double)
Set the current element to val.
double get()
Return the value of the current element.
void reset()
Start the iteration over.
void operator++()
Move to the next element.
int j()
Returns the column index.
The SCVectorSimpleBlock describes a piece of a vector.
Definition block.h:127
int j()
Returns the column index.
double get()
Return the value of the current element.
void set(double)
Set the current element to val.
void reset()
Start the iteration over.
void operator++()
Move to the next element.
int i()
Returns the row index.
The SCVectorSimpleSubBlock describes a subblock of a vector.
Definition block.h:158