cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
nmrInverseFixedSizeData< _size, _storageOrder > Class Template Reference

Data for Inverse problem (Fixed size). More...

#include <nmrInverse.h>

Classes

class  Friend
 

Public Types

enum  { MAX_SIZE_1 = (_size > 1) ? _size : 1 }
 
enum  { NB = 64 }
 
enum  { LWORK = _size * NB }
 
typedef vct::size_type size_type
 
typedef vctFixedSizeMatrix
< CISSTNETLIB_DOUBLE, _size,
_size, _storageOrder > 
MatrixTypeA
 
typedef vctFixedSizeVector
< CISSTNETLIB_INTEGER,
MAX_SIZE_1
VectorTypePivotIndices
 
typedef vctFixedSizeVector
< CISSTNETLIB_DOUBLE, LWORK
VectorTypeWorkspace
 

Public Member Functions

 nmrInverseFixedSizeData ()
 

Protected Attributes

VectorTypePivotIndices PivotIndicesMember
 
VectorTypeWorkspace WorkspaceMember
 

Friends

class Friend
 

Detailed Description

template<vct::size_type _size, bool _storageOrder>
class nmrInverseFixedSizeData< _size, _storageOrder >

Data for Inverse problem (Fixed size).

This class is similar to nmrInverseDynamicData except that it is dedicated to fixed size containers. While nmrInverseDynamicData is designed to be modified dynamically, nmrInverseFixedSizeData is fully defined at compilation time using template parameters. The required parameters are the dimensions of the input matrix:

Note
An object of type nmrInverseFixedSizeData contains the memory required for the pivot indices and the workspace, i.e. its actual size will be equal to the memory required to store these vectors.
There is no dynamic memory allocation (no new) and the memory can not be used by reference. To use memory by reference, one must use nmrInverseDynamicData with vctDynamicMatrixRef and vctDynamicVectorRef (these dynamic references can actually be used to overlay a fixed size container).

Member Typedef Documentation

template<vct::size_type _size, bool _storageOrder>
typedef vctFixedSizeMatrix<CISSTNETLIB_DOUBLE, _size, _size, _storageOrder> nmrInverseFixedSizeData< _size, _storageOrder >::MatrixTypeA

Type of the input matrix A (size computed from the data template parameters).

template<vct::size_type _size, bool _storageOrder>
typedef vct::size_type nmrInverseFixedSizeData< _size, _storageOrder >::size_type
template<vct::size_type _size, bool _storageOrder>
typedef vctFixedSizeVector<CISSTNETLIB_INTEGER, MAX_SIZE_1> nmrInverseFixedSizeData< _size, _storageOrder >::VectorTypePivotIndices

Type of the output vector PivotIndices (size computed from the template parameters).

template<vct::size_type _size, bool _storageOrder>
typedef vctFixedSizeVector<CISSTNETLIB_DOUBLE, LWORK> nmrInverseFixedSizeData< _size, _storageOrder >::VectorTypeWorkspace

Type used to create the workspace (size computed from the template parameters).

Member Enumeration Documentation

template<vct::size_type _size, bool _storageOrder>
anonymous enum
Enumerator
MAX_SIZE_1 
template<vct::size_type _size, bool _storageOrder>
anonymous enum
Enumerator
NB 
template<vct::size_type _size, bool _storageOrder>
anonymous enum
Enumerator
LWORK 

Constructor & Destructor Documentation

template<vct::size_type _size, bool _storageOrder>
nmrInverseFixedSizeData< _size, _storageOrder >::nmrInverseFixedSizeData ( )
inline

Default constructor. Does nothing since the allocation is performed on the stack.

Friends And Related Function Documentation

template<vct::size_type _size, bool _storageOrder>
friend class Friend
friend

Member Data Documentation

template<vct::size_type _size, bool _storageOrder>
VectorTypePivotIndices nmrInverseFixedSizeData< _size, _storageOrder >::PivotIndicesMember
protected

Data member used to store the vector pivotIndices.

template<vct::size_type _size, bool _storageOrder>
VectorTypeWorkspace nmrInverseFixedSizeData< _size, _storageOrder >::WorkspaceMember
protected

Data member used to store the workspace vector.


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