28 #ifndef _math_scmat_block_h 29 #define _math_scmat_block_h 35 #include <util/state/state.h> 63 virtual double *
dat();
64 virtual int ndat()
const;
94 return link != p.link;
96 void operator ++() { link = link->next(); }
97 void operator ++(
int) { link = link->next(); }
385 enum Access { Read, Write, Accum, None };
394 virtual void begin() = 0;
396 virtual int ready() = 0;
398 virtual void next() = 0;
402 Access
access()
const {
return access_; }
455 int current_block()
const {
return iiter_; }
virtual SCMatrixBlock * deepcopy() const
Return of copy of this.
Serializes objects that derive from SavableState.
Definition: stateout.h:61
virtual double * dat()
Return a pointer to the block's data and the number of elements in the block.
The base class for all reference counted objects.
Definition: ref.h:194
The SCMatrixRectBlock describes a rectangular piece of a matrix.
Definition: block.h:187
The SCVectorSimpleBlock describes a piece of a vector.
Definition: block.h:127
A template class that maintains references counts.
Definition: ref.h:332
SCMatrixBlock is the base clase for all types of blocks that comprise matrices and vectors...
Definition: block.h:45
The SCMatrixRectSubBlock describes a rectangular piece of a matrix.
Definition: block.h:223
The SCMatrixDiagSubBlock describes a diagonal subblock of a matrix.
Definition: block.h:355
Restores objects that derive from SavableState.
Definition: statein.h:70
The SCElementOp2 class is very similar to the SCElementOp class except that pairs of blocks are treat...
Definition: elemop.h:125
SCMatrixSubblockIter(Access access)
The access variable should be one of Read, Write, Accum, and None, with the SCMatrixSubblockIter:: sc...
Definition: block.h:391
The SCVectorSimpleSubBlock describes a subblock of a vector.
Definition: block.h:158
void save_data_state(StateOut &s)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
The SCMatrixLTriBlock describes a triangular piece of a matrix.
Definition: block.h:257
Access access() const
Return the type of Access allowed for these blocks.
Definition: block.h:402
Objects of class SCMatrixSubblockIter are used to iterate through the blocks of a matrix...
Definition: block.h:383
The SCElementOp3 class is very similar to the SCElementOp class except that a triplet of blocks is tr...
Definition: elemop.h:147
The SCMatrixLTriSubBlock describes a triangular subblock of a matrix.
Definition: block.h:292
Objects of class SCElementOp are used to perform operations on the elements of matrices.
Definition: elemop.h:60
Base class for objects that can save/restore state.
Definition: state.h:46
The SCMatrixDiagBlock describes a diagonal piece of a matrix.
Definition: block.h:322