sc::SCMatrixLTriSubBlock Class Reference

    The SCMatrixLTriSubBlock describes a triangular subblock of a

matrix. More...

`#include <block.h>`

Inheritance diagram for sc::SCMatrixLTriSubBlock:
[legend]
Collaboration diagram for sc::SCMatrixLTriSubBlock:
[legend]

## Public Member Functions

| SCMatrixLTriSubBlock (int is, int ie, int js, int je, double *data)
| SCMatrixLTriSubBlock (StateIn &)
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...
void | process (SCElementOp *)
void | process (SCElementOp2 *, SCMatrixBlock *)
void | process (SCElementOp3 *, SCMatrixBlock *, SCMatrixBlock *)
Public Member Functions inherited from sc::SCMatrixBlock
| SCMatrixBlock (StateIn &s)
virtual SCMatrixBlock * | deepcopy () const
| Return of copy of this. More...
virtual double * | dat ()
| Return a pointer to the block's data and the number of elements in the block. More...
virtual int | ndat () const
Public Member Functions inherited from sc::SavableState
SavableState & | operator= (const SavableState &)
void | save_state (StateOut &)
| Save the state of the object as specified by the StateOut object. More...
void | save_object_state (StateOut &)
| This can be used for saving state when the exact type of the object is known for both the save and the restore. More...
virtual void | save_vbase_state (StateOut &)
| Save the virtual bases for the object. More...
Public Member Functions inherited from sc::DescribedClass
| DescribedClass (const DescribedClass &)
DescribedClass & | operator= (const DescribedClass &)
ClassDesc * | class_desc () const throw ()
| This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More...
const char * | class_name () const
| Return the name of the object's exact type.
int | class_version () const
| Return the version of the class.
virtual void | print (std::ostream &=ExEnv::out0()) const
| Print the object.
Public Member Functions inherited from sc::RefCount
int | lock_ptr () const
| Lock this object.
int | unlock_ptr () const
| Unlock this object.
void | use_locks (bool inVal)
| start and stop using locks on this object
refcount_t | nreference () const
| Return the reference count.
refcount_t | reference ()
| Increment the reference count and return the new count.
refcount_t | dereference ()
| Decrement the reference count and return the new count.
int | managed () const
void | unmanage ()
| Turn off the reference counting mechanism for this object. More...
int | managed () const
| Return 1 if the object is managed. Otherwise return 0.
Public Member Functions inherited from sc::Identity
Identifier | identifier ()
| Return the Identifier for this argument. More...

## Public Attributes

int | istart
int | iend
int | jstart
int | jend
double * | data
Public Attributes inherited from sc::SCMatrixBlock
int | blocki
int | blockj

## Additional Inherited Members

Static Public Member Functions inherited from sc::SavableState
static void | save_state (SavableState *s, StateOut &)
static SavableState * | restore_state (StateIn &si)
| Restores objects saved with save_state. More...
static SavableState * | key_restore_state (StateIn &si, const char *keyword)
| Like restore_state, but keyword is used to override values while restoring. More...
static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0)
Protected Member Functions inherited from sc::SavableState
| SavableState (const SavableState &)
| SavableState (StateIn &)
| Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More...

## Detailed Description

    The SCMatrixLTriSubBlock describes a triangular subblock of a

matrix.

The following bit of code illustrates the data layout: fill(double **matrix, SCMatrixLTriSubBlock &b) { int offset=(b.istart*(b.istart+1)>>1) + b.jstart; for (int i=b.start; i<b.end; i++) { for (int j=b.start; j<=i && j<b.jend; j++,offset++) { matrix[i][j] = b.data[offset]; } if (j>i) offset += b.istart; else offset += i + b.jstart - b.jend; } }

## Member Function Documentation

void sc::SCMatrixLTriSubBlock::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.

The documentation for this class was generated from the following file:

- block.h