cisst-saw
Loading...
Searching...
No Matches
vctFixedSizeMatrix.h File Reference

Declaration of vctFixedSizeMatrix. More...

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

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)
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)

Detailed Description

Declaration of vctFixedSizeMatrix.

Macro Definition Documentation

◆ _vctFixedSizeMatrix_h

#define _vctFixedSizeMatrix_h

Function Documentation

◆ operator*() [1/5]

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

◆ operator*() [2/5]

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

◆ operator*() [3/5]

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

◆ operator*() [4/5]

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

◆ operator*() [5/5]

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

◆ operator+() [1/3]

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)\).

◆ operator+() [2/3]

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)\).

◆ operator+() [3/3]

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)\).

◆ operator-() [1/4]

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

◆ operator-() [2/4]

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

◆ operator-() [3/4]

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)\).

◆ operator-() [4/4]

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

◆ operator/() [1/2]

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

◆ operator/() [2/2]

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

◆ vctFixedSizeMatrixElementwiseCompareMatrix()

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

◆ vctFixedSizeMatrixElementwiseCompareScalar()

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