cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Member Functions | List of all members
vctDynamicMatrixLoopEngines::MioMiMi< _ioElementOperationType, _matrixElementOperationType > Class Template Reference

Implement operation of the form $m_{io} = op_{io}(m_{io}, op_{mm}(m_{i1}, m_{i2}))$ for fixed size matrices. More...

#include <vctDynamicMatrixLoopEngines.h>

Static Public Member Functions

template<class _ioMatrixType , class _input1MatrixType , class _input2MatrixType >
static void Run (_ioMatrixType &ioMatrix, const _input1MatrixType &input1Matrix, const _input2MatrixType &input2Matrix)
 

Detailed Description

template<class _ioElementOperationType, class _matrixElementOperationType>
class vctDynamicMatrixLoopEngines::MioMiMi< _ioElementOperationType, _matrixElementOperationType >

Implement operation of the form $m_{io} = op_{io}(m_{io}, op_{mm}(m_{i1}, m_{i2}))$ for fixed size matrices.

This class uses template specialization to perform store-back matrix-matrix-matrix operations

\[ m_{io} = \mathrm{op_{io}}(m_{io}, \mathrm{op_{mm}}(m_{i1}, m_{i2})) \]

where $m_{io}$ is an input-output (store-back) matrix; $m_{i1}$ and $m_{i2}$ are input matrices. A typical example is: $m_{io} += m_{i1} \cdot m_{i2}$. The matrices have a fixed size, determined at compilation time; $op_{,m}$ is an element wise operation between the elements of $m_{i1}$ and $m_{i2}$; $op_{io}$ is an operation between the output of $op_{mm}$ and the elements of $m_{io}$.

Parameters
_ioOperationTypeThe type of the store-back operation.
_matrixElementOperationTypeThe type of the element wise operation between scalar and input matrix.
See Also
vctFixedSizeMatrixRecursiveEngines

Member Function Documentation

template<class _ioElementOperationType , class _matrixElementOperationType >
template<class _ioMatrixType , class _input1MatrixType , class _input2MatrixType >
static void vctDynamicMatrixLoopEngines::MioMiMi< _ioElementOperationType, _matrixElementOperationType >::Run ( _ioMatrixType &  ioMatrix,
const _input1MatrixType &  input1Matrix,
const _input2MatrixType &  input2Matrix 
)
inlinestatic

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