cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Functions
vctFixedSizeMatrix.h File Reference

Declaration of vctFixedSizeMatrix. More...

#include <cisstVector/vctFixedSizeConstMatrixRef.h>
#include <cisstVector/vctFixedSizeMatrixRef.h>

Go to the source code of this file.

Classes

class  vctFixedSizeMatrix< _elementType, _rows, _cols, _rowMajor >
 Implementation of a fixed-size matrix using template metaprogramming. More...
 

Macros

#define _vctFixedSizeMatrix_h
 

Functions

template<vct::size_type _rows, vct::size_type _cols, vct::size_type _input1Cols, vct::stride_type _input1RowStride, vct::stride_type _input1ColStride, class _input1DataPtrType , vct::stride_type _input2RowStride, vct::stride_type _input2ColStride, class _input2DataPtrType , class _elementType >
vctFixedSizeMatrix
< _elementType, _rows, _cols > 
operator* (const vctFixedSizeConstMatrixBase< _rows, _input1Cols, _input1RowStride, _input1ColStride, _elementType, _input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _input1Cols, _cols, _input2RowStride, _input2ColStride, _elementType, _input2DataPtrType > &input2Matrix)
 
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _inputMatrixRowStride, vct::stride_type _inputMatrixColStride, class _inputMAtrixDataPtrType , vct::stride_type _inputVectorStride, class _inputVectorDataPtrType , class _elementType >
vctFixedSizeVector
< _elementType, _rows > 
operator* (const vctFixedSizeConstMatrixBase< _rows, _cols, _inputMatrixRowStride, _inputMatrixColStride, _elementType, _inputMAtrixDataPtrType > &inputMatrix, const vctFixedSizeConstVectorBase< _cols, _inputVectorStride, _elementType, _inputVectorDataPtrType > &inputVector)
 
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _inputVectorStride, class _inputVectorDataPtrType , vct::stride_type _inputMatrixRowStride, vct::stride_type _inputMatrixColStride, class _inputMatrixDataPtrType , class _elementType >
vctFixedSizeVector
< _elementType, _cols > 
operator* (const vctFixedSizeConstVectorBase< _rows, _inputVectorStride, _elementType, _inputVectorDataPtrType > &inputVector, const vctFixedSizeConstMatrixBase< _rows, _cols, _inputMatrixRowStride, _inputMatrixColStride, _elementType, _inputMatrixDataPtrType > &inputMatrix)
 
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _dataPtrType , vct::stride_type __rowStride, vct::stride_type __colStride, class __dataPtrType , class _elementType , class _elementOperationType >
vctFixedSizeMatrix< bool,
_rows, _cols > 
vctFixedSizeMatrixElementwiseCompareMatrix (const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix1, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &matrix2)
 
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _dataPtrType , class _elementType , class _elementOperationType >
vctFixedSizeMatrix< bool,
_rows, _cols > 
vctFixedSizeMatrixElementwiseCompareScalar (const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix, const _elementType &scalar)
 
Elementwise operations between fixed size matrices.
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _input1RowStride, vct::stride_type _input1ColStride, class _input1Data , vct::stride_type _input2RowStride, vct::stride_type _input2ColStride, class _input2Data , class _elementType >
vctFixedSizeMatrix
< _elementType, _rows, _cols > 
operator+ (const vctFixedSizeConstMatrixBase< _rows, _cols, _input1RowStride, _input1ColStride, _elementType, _input1Data > &matrix1, const vctFixedSizeConstMatrixBase< _rows, _cols, _input2RowStride, _input2ColStride, _elementType, _input2Data > &matrix2)
 
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _input1RowStride, vct::stride_type _input1ColStride, class _input1Data , vct::stride_type _input2RowStride, vct::stride_type _input2ColStride, class _input2Data , class _elementType >
vctFixedSizeMatrix
< _elementType, _rows, _cols > 
operator- (const vctFixedSizeConstMatrixBase< _rows, _cols, _input1RowStride, _input1ColStride, _elementType, _input1Data > &matrix1, const vctFixedSizeConstMatrixBase< _rows, _cols, _input2RowStride, _input2ColStride, _elementType, _input2Data > &matrix2)
 
Elementwise operations between a matrix and a scalar.
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix
< _elementType, _rows, _cols > 
operator+ (const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix, const _elementType &scalar)
 
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix
< _elementType, _rows, _cols > 
operator- (const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix, const _elementType &scalar)
 
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix
< _elementType, _rows, _cols > 
operator* (const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix, const _elementType &scalar)
 
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix
< _elementType, _rows, _cols > 
operator/ (const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix, const _elementType &scalar)
 
Elementwise operations between a scalar and a matrix.
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix
< _elementType, _rows, _cols > 
operator+ (const _elementType &scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix)
 
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix
< _elementType, _rows, _cols > 
operator- (const _elementType &scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix)
 
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix
< _elementType, _rows, _cols > 
operator* (const _elementType &scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix)
 
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix
< _elementType, _rows, _cols > 
operator/ (const _elementType &scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix)
 
Elementwise operations on a matrix.
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix
< _elementType, _rows, _cols > 
operator- (const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix)
 

Detailed Description

Declaration of vctFixedSizeMatrix.

Macro Definition Documentation

#define _vctFixedSizeMatrix_h

Function Documentation

template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix<_elementType, _rows, _cols> operator* ( const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &  matrix,
const _elementType &  scalar 
)
inline
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix<_elementType, _rows, _cols> operator* ( const _elementType &  scalar,
const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &  matrix 
)
inline
template<vct::size_type _rows, vct::size_type _cols, vct::size_type _input1Cols, vct::stride_type _input1RowStride, vct::stride_type _input1ColStride, class _input1DataPtrType , vct::stride_type _input2RowStride, vct::stride_type _input2ColStride, class _input2DataPtrType , class _elementType >
vctFixedSizeMatrix<_elementType, _rows, _cols> operator* ( const vctFixedSizeConstMatrixBase< _rows, _input1Cols, _input1RowStride, _input1ColStride, _elementType, _input1DataPtrType > &  input1Matrix,
const vctFixedSizeConstMatrixBase< _input1Cols, _cols, _input2RowStride, _input2ColStride, _elementType, _input2DataPtrType > &  input2Matrix 
)
inline
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _inputMatrixRowStride, vct::stride_type _inputMatrixColStride, class _inputMAtrixDataPtrType , vct::stride_type _inputVectorStride, class _inputVectorDataPtrType , class _elementType >
vctFixedSizeVector<_elementType, _rows> operator* ( const vctFixedSizeConstMatrixBase< _rows, _cols, _inputMatrixRowStride, _inputMatrixColStride, _elementType, _inputMAtrixDataPtrType > &  inputMatrix,
const vctFixedSizeConstVectorBase< _cols, _inputVectorStride, _elementType, _inputVectorDataPtrType > &  inputVector 
)
inline
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _inputVectorStride, class _inputVectorDataPtrType , vct::stride_type _inputMatrixRowStride, vct::stride_type _inputMatrixColStride, class _inputMatrixDataPtrType , class _elementType >
vctFixedSizeVector<_elementType, _cols> operator* ( const vctFixedSizeConstVectorBase< _rows, _inputVectorStride, _elementType, _inputVectorDataPtrType > &  inputVector,
const vctFixedSizeConstMatrixBase< _rows, _cols, _inputMatrixRowStride, _inputMatrixColStride, _elementType, _inputMatrixDataPtrType > &  inputMatrix 
)
inline
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _input1RowStride, vct::stride_type _input1ColStride, class _input1Data , vct::stride_type _input2RowStride, vct::stride_type _input2ColStride, class _input2Data , class _elementType >
vctFixedSizeMatrix<_elementType, _rows, _cols> operator+ ( const vctFixedSizeConstMatrixBase< _rows, _cols, _input1RowStride, _input1ColStride, _elementType, _input1Data > &  matrix1,
const vctFixedSizeConstMatrixBase< _rows, _cols, _input2RowStride, _input2ColStride, _elementType, _input2Data > &  matrix2 
)
inline

Operation between fixed size matrices (same size).

Parameters
matrix1The first operand of the binary operation.
matrix2The second operand of the binary operation.
Returns
The matrix result of $op(matrix1, matrix2)$.
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix<_elementType, _rows, _cols> operator+ ( const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &  matrix,
const _elementType &  scalar 
)
inline

Operation between a matrix and a scalar.

Parameters
matrixThe first operand of the binary operation.
scalarThe second operand of the binary operation.
Returns
The matrix result of $op(matrix, scalar)$.
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix<_elementType, _rows, _cols> operator+ ( const _elementType &  scalar,
const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &  matrix 
)
inline

Operation between a scalar and a matrix.

Parameters
scalarThe first operand of the binary operation.
matrixThe second operand of the binary operation.
Returns
The matrix result of $op(scalar, matrix)$.
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _input1RowStride, vct::stride_type _input1ColStride, class _input1Data , vct::stride_type _input2RowStride, vct::stride_type _input2ColStride, class _input2Data , class _elementType >
vctFixedSizeMatrix<_elementType, _rows, _cols> operator- ( const vctFixedSizeConstMatrixBase< _rows, _cols, _input1RowStride, _input1ColStride, _elementType, _input1Data > &  matrix1,
const vctFixedSizeConstMatrixBase< _rows, _cols, _input2RowStride, _input2ColStride, _elementType, _input2Data > &  matrix2 
)
inline
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix<_elementType, _rows, _cols> operator- ( const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &  matrix,
const _elementType &  scalar 
)
inline
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix<_elementType, _rows, _cols> operator- ( const _elementType &  scalar,
const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &  matrix 
)
inline
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix<_elementType, _rows, _cols> operator- ( const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &  matrix)
inline

Unary operation on a matrix.

Parameters
matrixThe operand of the unary operation
Returns
The matrix result of $op(matrix)$.
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix<_elementType, _rows, _cols> operator/ ( const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &  matrix,
const _elementType &  scalar 
)
inline
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _elementType , class _dataPtrType >
vctFixedSizeMatrix<_elementType, _rows, _cols> operator/ ( const _elementType &  scalar,
const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &  matrix 
)
inline
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _dataPtrType , vct::stride_type __rowStride, vct::stride_type __colStride, class __dataPtrType , class _elementType , class _elementOperationType >
vctFixedSizeMatrix<bool, _rows, _cols> vctFixedSizeMatrixElementwiseCompareMatrix ( const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &  matrix1,
const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &  matrix2 
)
inline
template<vct::size_type _rows, vct::size_type _cols, vct::stride_type _rowStride, vct::stride_type _colStride, class _dataPtrType , class _elementType , class _elementOperationType >
vctFixedSizeMatrix<bool, _rows, _cols> vctFixedSizeMatrixElementwiseCompareScalar ( const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &  matrix,
const _elementType &  scalar 
)
inline