cisst-saw
|
A template for a fixed size matrix with fixed spacings in memory. More...
#include <vctFixedSizeMatrixBase.h>
Classes | |
class | Submatrix |
Public Types | |
enum | { ROWS = MatrixTraits::ROWS, COLS = MatrixTraits::COLS, LENGTH = MatrixTraits::LENGTH } |
enum | { ROWSTRIDE = MatrixTraits::ROWSTRIDE, COLSTRIDE = MatrixTraits::COLSTRIDE } |
typedef vctFixedSizeMatrixBase < _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > | ThisType |
typedef vctFixedSizeConstMatrixBase < _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > | BaseType |
typedef vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowStride, _colStride > | MatrixTraits |
typedef MatrixTraits::iterator | iterator |
typedef MatrixTraits::const_iterator | const_iterator |
typedef MatrixTraits::reverse_iterator | reverse_iterator |
typedef MatrixTraits::const_reverse_iterator | const_reverse_iterator |
typedef BaseType::RowRefType | RowRefType |
typedef BaseType::ColumnRefType | ColumnRefType |
typedef BaseType::ConstRowRefType | ConstRowRefType |
typedef BaseType::ConstColumnRefType | ConstColumnRefType |
typedef BaseType::DiagonalRefType | DiagonalRefType |
typedef BaseType::ConstDiagonalRefType | ConstDiagonalRefType |
typedef BaseType::RefTransposeType | RefTransposeType |
typedef BaseType::ConstRefTransposeType | ConstRefTransposeType |
typedef BaseType::RowValueType | RowValueType |
typedef BaseType::ColumnValueType | ColumnValueType |
![]() | |
enum | { DIMENSION = 2 } |
enum | { ROWS = MatrixTraits::ROWS, COLS = MatrixTraits::COLS, LENGTH = MatrixTraits::LENGTH } |
enum | { ROWSTRIDE = MatrixTraits::ROWSTRIDE, COLSTRIDE = MatrixTraits::COLSTRIDE } |
enum | { DIAGONAL_LENGTH = (ROWS <= COLS) ? ROWS : COLS, DIAGONAL_STRIDE = ROWSTRIDE + COLSTRIDE } |
typedef vctFixedSizeConstMatrixBase < _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > | ThisType |
typedef vctFixedSizeMatrixTraits < _elementType, _rows, _cols, _rowStride, _colStride > | MatrixTraits |
typedef MatrixTraits::iterator | iterator |
typedef MatrixTraits::const_iterator | const_iterator |
typedef MatrixTraits::reverse_iterator | reverse_iterator |
typedef MatrixTraits::const_reverse_iterator | const_reverse_iterator |
typedef vctFixedSizeConstVectorRef < _elementType, COLS, COLSTRIDE > | ConstRowRefType |
typedef vctFixedSizeVectorRef < _elementType, COLS, COLSTRIDE > | RowRefType |
typedef vctFixedSizeConstVectorRef < _elementType, ROWS, ROWSTRIDE > | ConstColumnRefType |
typedef vctFixedSizeVectorRef < _elementType, ROWS, ROWSTRIDE > | ColumnRefType |
typedef vctFixedSizeConstVectorRef < _elementType, DIAGONAL_LENGTH, DIAGONAL_STRIDE > | ConstDiagonalRefType |
typedef vctFixedSizeVectorRef < _elementType, DIAGONAL_LENGTH, DIAGONAL_STRIDE > | DiagonalRefType |
typedef vctFixedSizeVector < _elementType, COLS > | RowValueType |
typedef vctFixedSizeVector < _elementType, ROWS > | ColumnValueType |
typedef vctFixedSizeConstMatrixRef < _elementType, _rows, _cols, _rowStride, _colStride > | ConstRefType |
typedef vctFixedSizeMatrixRef < _elementType, _rows, _cols, _rowStride, _colStride > | RefType |
typedef vctFixedSizeConstMatrixRef < _elementType, _cols, _rows, _colStride, _rowStride > | ConstRefTransposeType |
typedef vctFixedSizeMatrixRef < _elementType, _cols, _rows, _colStride, _rowStride > | RefTransposeType |
typedef vctFixedSizeMatrix < _elementType, COLS, ROWS, COLSTRIDE<=ROWSTRIDE > TransposeValueType;typedef vctFixedSizeMatrix < _elementType, ROWS, COLS, COLSTRIDE<=ROWSTRIDE > MatrixValueType;typedef vctFixedSizeMatrix< bool, ROWS, COLS, COLSTRIDE<=ROWSTRIDE > BoolMatrixValueType;typedef _dataPtrType DataType;protected:DataType Data;inline void ThrowUnlessValidIndex(size_type index) const throw(std::out_of_range){if(!ValidIndex(index)){cmnThrow(std::out_of_range("vctFixedSizeMatrix: Invalid index"));}}inline void ThrowUnlessValidIndex(size_type rowIndex, size_type colIndex) const throw(std::out_of_range){if(!ValidIndex(rowIndex, colIndex)){cmnThrow(std::out_of_range("vctFixedSizeMatrix: Invalid indices"));}}public:const_iterator begin() const {return const_iterator(Data, 0);}const_iterator end() const {return const_iterator(Data)+LENGTH;}const_reverse_iterator rbegin() const {return const_reverse_iterator(Pointer(ROWS-1, COLS-1), 0);}const_reverse_iterator rend() const {return const_reverse_iterator(Data-ROWSTRIDE+COLSTRIDE *(COLS-1), 0);}size_type size() const {return LENGTH;}const nsize_type &sizes(void) const {static nsize_type staticSizes(ROWS, COLS);return staticSizes;}size_type rows() const {return ROWS;}size_type cols() const {return COLS;}size_type max_size() const {return LENGTH;}const nstride_type &strides(void) const {static nstride_type staticStrides(ROWSTRIDE, COLSTRIDE);return staticStrides;}difference_type row_stride() const {return ROWSTRIDE;}difference_type col_stride() const {return COLSTRIDE;}bool empty() const {return(LENGTH==0);}ConstRowRefType operator[](size_type index) const {return ConstRowRefType(Data+ROWSTRIDE *index);}const_pointer Pointer(size_type rowIndex, size_type colIndex) const {return Data+ROWSTRIDE *rowIndex+COLSTRIDE *colIndex;}const_pointer Pointer(void) const {return Data;}inline bool ValidIndex(size_type index) const {return(index < size());}inline bool ValidIndex(size_type rowIndex, size_type colIndex) const {return((rowIndex< rows())&&(colIndex < cols()));}inline bool ValidRowIndex(size_type rowIndex) const {return(rowIndex < rows());}inline bool ValidColIndex(size_type colIndex) const {return(colIndex < cols());}const_reference at(size_type index) const throw(std::out_of_range){ThrowUnlessValidIndex(index);return(begin())[index];}const_reference at(size_type rowIndex, size_type colIndex) const throw(std::out_of_range){ThrowUnlessValidIndex(rowIndex, colIndex);return *(Pointer(rowIndex, colIndex));}const_reference operator()(size_type rowIndex, size_type colIndex) const throw(std::out_of_range){return at(rowIndex, colIndex);}const_reference Element(size_type rowIndex, size_type colIndex) const {return *(Pointer(rowIndex, colIndex));}ConstRowRefType Row(size_type index) const {return ConstRowRefType(Data+ROWSTRIDE *index);}ConstColumnRefType Column(size_type index) const {return ConstColumnRefType(Data+COLSTRIDE *index);}ConstDiagonalRefType Diagonal(void) const {return ConstDiagonalRefType(Data);}template < vct::size_type __subRows, vct::size_type __subCols > vctFixedSizeConstMatrixRef < _elementType, __subRows, __subCols, _rowStride, _colStride > Ref(const size_type startRow=0, const size_type startCol=0) const throw(std::out_of_range){vctFixedSizeConstMatrixRef < _elementType, __subRows, __subCols, _rowStride, _colStride > result(*this, startRow, startCol);return result;}inline value_type SumOfElements() const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Addition, typename vctUnaryOperations < value_type >::Identity > ::Run(*this);}inline value_type ProductOfElements() const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Multiplication, typename vctUnaryOperations < value_type >::Identity > ::Run(*this);}inline value_type Trace(void) const {return this->Diagonal().SumOfElements();}inline value_type NormSquare(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Addition, typename vctUnaryOperations < value_type >::Square >::Run(*this);}inline NormType Norm(void) const {return sqrt(NormType(NormSquare()));}inline value_type L1Norm(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Addition, typename vctUnaryOperations < value_type >::AbsValue > ::Run(*this);}inline value_type LinfNorm(void) const {return this-> MaxAbsElement();}inline value_type MaxElement(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Maximum, typename vctUnaryOperations < value_type >::Identity > ::Run(*this);}inline value_type MinElement(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Minimum, typename vctUnaryOperations < value_type >::Identity > ::Run(*this);}inline value_type MaxAbsElement(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Maximum, typename vctUnaryOperations < value_type >::AbsValue > ::Run(*this);}inline value_type MinAbsElement(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < value_type >::Minimum, typename vctUnaryOperations < value_type >::AbsValue > ::Run(*this);}inline void MinAndMaxElement(value_type &minElement, value_type &maxElement) const {vctFixedSizeMatrixLoopEngines::MinAndMax::Run((*this), minElement, maxElement);}inline bool IsPositive(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::And, typename vctUnaryOperations< bool, value_type >::IsPositive > ::Run(*this);}inline bool IsNonNegative(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::And, typename vctUnaryOperations< bool, value_type >::IsNonNegative > ::Run(*this);}inline bool IsNonPositive(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::And, typename vctUnaryOperations< bool, value_type >::IsNonPositive > ::Run(*this);}inline bool IsNegative(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::And, typename vctUnaryOperations< bool, value_type >::IsNegative > ::Run(*this);}inline bool All(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::And, typename vctUnaryOperations< bool, value_type >::IsNonzero >::Run(*this);}inline bool Any(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::Or, typename vctUnaryOperations< bool, value_type >::IsNonzero >::Run(*this);}inline bool IsFinite(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::And, typename vctUnaryOperations< bool, value_type >::IsFinite >::Run(*this);}inline bool HasNaN(void) const {return vctFixedSizeMatrixLoopEngines::SoMi < typename vctBinaryOperations < bool >::Or, typename vctUnaryOperations< bool, value_type >::IsNaN >::Run(*this);}inline bool IsColMajor(void) const {return(row_stride() <=col_stride());}inline bool IsRowMajor(void) const {return(col_stride() <=row_stride());}inline bool IsCompact(void) const {return(((row_stride()==1)&&(col_stride()==static_cast < stride_type >rows())))||((col_stride()==1)&&(row_stride()==static_cast < stride_type >cols()))));}inline bool IsFortran(void) const {return(IsColMajor()&&(row_stride()==1)&&(col_stride()==static_cast < stride_type >rows())));}inline bool StorageOrder(void) const {return this-> | IsRowMajor () |
Public Member Functions | |||
VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType) | |||
iterator | begin () | ||
const_iterator | begin () const | ||
iterator | end () | ||
const_iterator | end () const | ||
reverse_iterator | rbegin () | ||
const_reverse_iterator | rbegin () const | ||
reverse_iterator | rend () | ||
const_reverse_iterator | rend () const | ||
RowRefType | operator[] (size_type index) | ||
ConstRowRefType | operator[] (size_type index) const | ||
pointer | Pointer (size_type rowIndex, size_type colIndex) | ||
pointer | Pointer (void) | ||
const_pointer | Pointer (size_type rowIndex, size_type colIndex) const | ||
const_pointer | Pointer (void) const | ||
reference | at (size_type index) throw (std::out_of_range) | ||
const_reference | at (size_type index) const throw (std::out_of_range) | ||
reference | at (size_type rowIndex, size_type colIndex) throw (std::out_of_range) | ||
const_reference | at (size_type rowIndex, size_type colIndex) const throw (std::out_of_range) | ||
reference | operator() (size_type rowIndex, size_type colIndex) throw (std::out_of_range) | ||
const_reference | operator() (size_type rowIndex, size_type colIndex) const throw (std::out_of_range) | ||
reference | Element (size_type rowIndex, size_type colIndex) | ||
const_reference | Element (size_type rowIndex, size_type colIndex) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
void | RowPermutationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const index_type permutedRowIndexes[]) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
void | RowInversePermutationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const index_type permutedRowIndexes[]) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
void | ColumnPermutationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const index_type permutedColumnIndexes[]) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
void | ColumnInversePermutationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const index_type permutedColumnIndexes[]) | ||
value_type | SetAll (const value_type value) | ||
bool | Zeros (void) | ||
template<stride_type __rowStride, stride_type __colStride, class __elementType , class __dataPtrType > | |||
ThisType & | Assign (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other) | ||
ThisType & | Assign (const value_type element0,...) | ||
ThisType & | Assign (const value_type *elements, bool inputIsRowMajor=true) | ||
template<class __matrixOwnerType > | |||
ThisType & | Assign (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &other) | ||
RefTransposeType | TransposeRef (void) | ||
ConstRefTransposeType | TransposeRef (void) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | AddProductOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
template<stride_type __rowStride1, stride_type __colStride1, class __dataPtrType1 , stride_type __rowStride2, stride_type __colStride2, class __dataPtrType2 > | |||
ThisType & | AddElementwiseProductOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride1, __colStride1, value_type, __dataPtrType1 > &matrix1, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride2, __colStride2, value_type, __dataPtrType2 > &matrix2) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | TransposeOf (const vctFixedSizeConstMatrixBase< _cols, _rows, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
template<size_type __input1Cols, stride_type __input1RowStride, stride_type __input1ColStride, class __input1DataPtrType , stride_type __input2RowStride, stride_type __input2ColStride, class __input2DataPtrType > | |||
void | ProductOf (const vctFixedSizeConstMatrixBase< _rows, __input1Cols, __input1RowStride, __input1ColStride, _elementType, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< __input1Cols, _cols, __input2RowStride, __input2ColStride, _elementType, __input2DataPtrType > &input2Matrix) | ||
template<stride_type __stride1, class __dataPtrType1 , stride_type __stride2, class __dataPtrType2 > | |||
void | OuterProductOf (const vctFixedSizeConstVectorBase< _rows, __stride1, _elementType, __dataPtrType1 > &columnVector, const vctFixedSizeConstVectorBase< _cols, __stride2, _elementType, __dataPtrType2 > &rowVector) | ||
bool | FromStreamRaw (std::istream &inputStream, const char delimiter= ' ') | ||
void | DeSerializeRaw (std::istream &inputStream) | ||
Row, column, and main diagonal references. | |||
RowRefType | Row (size_type index) | ||
ColumnRefType | Column (size_type index) | ||
DiagonalRefType | Diagonal (void) | ||
ConstRowRefType | Row (size_type index) const | ||
ConstColumnRefType | Column (size_type index) const | ||
ConstDiagonalRefType | Diagonal (void) const | ||
template<vct::size_type __subRows, vct::size_type __subCols> | |||
vctFixedSizeMatrixRef < _elementType, __subRows, __subCols, _rowStride, _colStride > | Ref (const size_type startRow=0, const size_type startCol=0) throw (std::out_of_range) | ||
template<vct::size_type __subRows, vct::size_type __subCols> | |||
vctFixedSizeConstMatrixRef < _elementType, __subRows, __subCols, _rowStride, _colStride > | Ref (const size_type startRow=0, const size_type startCol=0) const throw (std::out_of_range) | ||
void | ExchangeRows (const size_type row1Index, const size_type row2Index) | ||
void | ExchangeColumns (const size_type col1Index, const size_type col2Index) | ||
template<size_type __rows, stride_type __rowStride, stride_type __colStride, class __dataPtrType , stride_type __indexStride, class __indexDataPtrType > | |||
void | SelectRowsFrom (const vctFixedSizeConstMatrixBase< __rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const vctFixedSizeConstVectorBase< _rows, __indexStride, index_type, __indexDataPtrType > &rowIndexVector) | ||
template<size_type __cols, stride_type __rowStride, stride_type __colStride, class __dataPtrType , stride_type __indexStride, class __indexDataPtrType > | |||
void | SelectColsFrom (const vctFixedSizeConstMatrixBase< _rows, __cols, __rowStride, __colStride, _elementType, __dataPtrType > &inputMatrix, const vctFixedSizeConstVectorBase< _cols, __indexStride, index_type, __indexDataPtrType > &colIndexVector) | ||
Forced assignment operation between matrices of | |||
different types. On fixed size matrices this method is equivalent to Assign. See notes below!
| |||
template<stride_type __rowStride, stride_type __colStride, class __elementType , class __dataPtrType > | |||
ThisType & | ForceAssign (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, __elementType, __dataPtrType > &other) | ||
template<class __matrixOwnerType > | |||
ThisType & | ForceAssign (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &other) | ||
template<class __matrixOwnerType > | |||
bool | FastCopyOf (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &source, bool performSafetyChecks=vctFastCopy::PerformChecks) throw (std::runtime_error) | ||
template<class __dataPtrType > | |||
bool | FastCopyOf (const vctFixedSizeConstMatrixBase< ROWS, COLS, ROWSTRIDE, COLSTRIDE, value_type, __dataPtrType > &source, bool performSafetyChecks=vctFastCopy::PerformChecks) throw (std::runtime_error) | ||
Binary elementwise operations between two matrices. | |||
Store the result of op(this, otherMatrix) back to this matrix. | |||
template<stride_type __input1RowStride, stride_type __input1ColStride, class __input1DataPtrType , stride_type __input2RowStride, stride_type __input2ColStride, class __input2DataPtrType > | |||
ThisType & | SumOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix) | ||
template<stride_type __input1RowStride, stride_type __input1ColStride, class __input1DataPtrType , stride_type __input2RowStride, stride_type __input2ColStride, class __input2DataPtrType > | |||
ThisType & | DifferenceOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix) | ||
template<stride_type __input1RowStride, stride_type __input1ColStride, class __input1DataPtrType , stride_type __input2RowStride, stride_type __input2ColStride, class __input2DataPtrType > | |||
ThisType & | ElementwiseProductOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix) | ||
template<stride_type __input1RowStride, stride_type __input1ColStride, class __input1DataPtrType , stride_type __input2RowStride, stride_type __input2ColStride, class __input2DataPtrType > | |||
ThisType & | ElementwiseRatioOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix) | ||
template<stride_type __input1RowStride, stride_type __input1ColStride, class __input1DataPtrType , stride_type __input2RowStride, stride_type __input2ColStride, class __input2DataPtrType > | |||
ThisType & | ElementwiseMinOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix) | ||
template<stride_type __input1RowStride, stride_type __input1ColStride, class __input1DataPtrType , stride_type __input2RowStride, stride_type __input2ColStride, class __input2DataPtrType > | |||
ThisType & | ElementwiseMaxOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __input1RowStride, __input1ColStride, value_type, __input1DataPtrType > &input1Matrix, const vctFixedSizeConstMatrixBase< _rows, _cols, __input2RowStride, __input2ColStride, value_type, __input2DataPtrType > &input2Matrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | Add (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | Subtract (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | ElementwiseMultiply (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | ElementwiseDivide (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | ElementwiseMin (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | ElementwiseMax (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | operator+= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | operator-= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
Binary elementwise operations a matrix and a scalar. | |||
Store the result of op(matrix, scalar) to a third matrix. | |||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | SumOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | DifferenceOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | ProductOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | RatioOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type scalar) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | ClippedAboveOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type upperBound) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | ClippedBelowOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix, const value_type lowerBound) | ||
Binary elementwise operations a scalar and a matrix. | |||
Store the result of op(scalar, matrix) to a third matrix. | |||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | SumOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | DifferenceOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | ProductOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | RatioOf (const value_type scalar, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | ClippedAboveOf (const value_type upperBound, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | ClippedBelowOf (const value_type lowerBound, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &matrix) | ||
Binary elementwise operations between a matrix and a scalar. | |||
Store the result of op(this, scalar) back to this matrix. | |||
ThisType & | Add (const value_type scalar) | ||
ThisType & | Subtract (const value_type scalar) | ||
ThisType & | Multiply (const value_type scalar) | ||
ThisType & | Divide (const value_type scalar) | ||
ThisType & | ClipAbove (const value_type upperBound) | ||
ThisType & | ClipBelow (const value_type lowerBound) | ||
ThisType & | operator+= (const value_type scalar) | ||
ThisType & | operator-= (const value_type scalar) | ||
ThisType & | operator*= (const value_type scalar) | ||
ThisType & | operator/= (const value_type scalar) | ||
Unary elementwise operations. | |||
Store the result of op(matrix) to another matrix. | |||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | AbsOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | NegationOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | FloorOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
ThisType & | CeilOf (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) | ||
Store back unary elementwise operations. | |||
Store the result of op(this) to this matrix. | |||
ThisType & | AbsSelf (void) | ||
ThisType & | NegationSelf (void) | ||
ThisType & | FloorSelf (void) | ||
ThisType & | CeilSelf (void) | ||
![]() | |||
VCT_CONTAINER_TRAITS_TYPEDEFS (_elementType) | |||
VCT_NARRAY_TRAITS_TYPEDEFS (DIMENSION) | |||
bool | IsSquare (void) const | ||
bool | IsSquare (size_type size) const | ||
template<size_type __rows, size_type __cols, stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
bool | FastCopyCompatible (const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, value_type, __dataPtrType > &source) const | ||
template<class __matrixOwnerType > | |||
bool | FastCopyCompatible (const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &source) const | ||
ConstRefTransposeType | TransposeRef (void) const | ||
TransposeValueType | Transpose () const | ||
std::string | ToString (void) const | ||
void | ToStream (std::ostream &outputStream) const | ||
void | ToStreamRaw (std::ostream &outputStream, const char delimiter= ' ', bool headerOnly=false, const std::string &headerPrefix="") const | ||
void | SerializeRaw (std::ostream &outputStream) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
bool | Equal (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
bool | operator== (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
bool | AlmostEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix, value_type tolerance) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
bool | AlmostEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
bool | NotEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
bool | operator!= (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
bool | Lesser (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
bool | LesserOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
bool | Greater (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
bool | GreaterOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
BoolMatrixValueType | ElementwiseEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
BoolMatrixValueType | ElementwiseNotEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
BoolMatrixValueType | ElementwiseLesser (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
BoolMatrixValueType | ElementwiseLesserOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
BoolMatrixValueType | ElementwiseGreater (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
template<stride_type __rowStride, stride_type __colStride, class __dataPtrType > | |||
BoolMatrixValueType | ElementwiseGreaterOrEqual (const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const | ||
bool | Equal (const value_type &scalar) const | ||
bool | operator== (const value_type &scalar) const | ||
bool | NotEqual (const value_type &scalar) const | ||
bool | operator!= (const value_type &scalar) const | ||
bool | Lesser (const value_type &scalar) const | ||
bool | LesserOrEqual (const value_type &scalar) const | ||
bool | Greater (const value_type &scalar) const | ||
bool | GreaterOrEqual (const value_type &scalar) const | ||
BoolMatrixValueType | ElementwiseEqual (const value_type &scalar) const | ||
BoolMatrixValueType | ElementwiseNotEqual (const value_type &scalar) const | ||
BoolMatrixValueType | ElementwiseLesser (const value_type &scalar) const | ||
BoolMatrixValueType | ElementwiseLesserOrEqual (const value_type &scalar) const | ||
BoolMatrixValueType | ElementwiseGreater (const value_type &scalar) const | ||
BoolMatrixValueType | ElementwiseGreaterOrEqual (const value_type &scalar) const | ||
MatrixValueType | Abs (void) const | ||
MatrixValueType | Negation (void) const | ||
MatrixValueType | Floor (void) const | ||
MatrixValueType | Ceil (void) const | ||
Additional Inherited Members | |
![]() | |
static const MatrixValueType & | Eye (void) |
A template for a fixed size matrix with fixed spacings in memory.
This class defines a matrix with read/write operations. It extends vctFixedSizeConstMatrixBase with non-const methods. See the base class for more documentation.
typedef vctFixedSizeConstMatrixBase<_rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType> vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::BaseType |
Type of the base class.
typedef BaseType::ColumnRefType vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ColumnRefType |
typedef BaseType::ColumnValueType vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ColumnValueType |
typedef MatrixTraits::const_iterator vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::const_iterator |
typedef MatrixTraits::const_reverse_iterator vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::const_reverse_iterator |
typedef BaseType::ConstColumnRefType vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ConstColumnRefType |
typedef BaseType::ConstDiagonalRefType vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ConstDiagonalRefType |
typedef BaseType::ConstRefTransposeType vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ConstRefTransposeType |
typedef BaseType::ConstRowRefType vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ConstRowRefType |
typedef BaseType::DiagonalRefType vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::DiagonalRefType |
typedef MatrixTraits::iterator vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::iterator |
typedef vctFixedSizeMatrixTraits<_elementType, _rows, _cols, _rowStride, _colStride> vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::MatrixTraits |
typedef BaseType::RefTransposeType vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::RefTransposeType |
typedef MatrixTraits::reverse_iterator vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::reverse_iterator |
typedef BaseType::RowRefType vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::RowRefType |
typedef BaseType::RowValueType vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::RowValueType |
typedef vctFixedSizeMatrixBase<_rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType> vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::ThisType |
anonymous enum |
anonymous enum |
|
inline |
Unary elementwise operations on a matrix. For each element of the matrix "this", performs where
can calculate the absolute value (AbsOf), the opposite (NegationOf) or the transpose (TransposeOf).
otherMatrix | The operand of the unary operation. |
|
inline |
Unary elementwise operations on a matrix. For each element of the matrix "this", performs where
can calculate the absolute value (AbsSelf) or the opposite (NegationSelf).
|
inline |
Store back binary elementwise operations between two matrices. For each element of the matrices, performs where
is either an addition (Add), a subtraction (Subtraction), a multiplication (ElementwiseMultiply) or a division (ElementwiseDivide), a minimization (ElementwiseMin) or a maximisation (ElementwiseMax).
otherMatrix | The second operand of the binary operation (this[i] is the first operand) |
|
inline |
Store back binary elementwise operations between a matrix and a scalar. For each element of the matrix "this", performs where
is either an addition (Add), a subtraction (Subtract), a multiplication (Multiply), a division (Divide), a minimum (ClipAbove) or a maximum (ClipBelow).
scalar | The second operand of the binary operation (this[i] is the first operand. |
|
inline |
|
inline |
|
inline |
Assignment operation between matrices of different types
|
inline |
Assign to this matrix a set of values provided as independent arguments, by using cstdarg macros, that is, an unspecified number of arguments. This function is not using a recursive engine, as it may be hard and not worthwhile to use a recursive engine with the va_arg ``iterator''. This operation assumes that all the arguments are of type value_type, and that their number is equal to the size of the matrix. The arguments are passed by value. The user may need to explicitly cast the parameters to value_type to avoid runtime bugs and errors. The order of the paramaters is row first which allows to keep the code pretty intuitive:
|
inline |
Assign to this matrix values from a C array given as a pointer to value_type. The purpose of this method is to simplify the syntax by not necessitating the creation of an explicit matrix for the given array. However, we only provide this method for an array of value_type. For arrays of other types a matrix still needs to be declared.
elements | a pointer to a C array of elements to be assigned to this matrix. |
inputIsRowMajor | a flag indicating the storage order of the elements in the input array. |
|
inline |
Assign to this matrix values from a dynamic matrix. This method doesn't allow type conversion.
|
inline |
Access an element by index (non-const). Compare with std::vector::at(). This method can be a handy substitute for the overloaded operator () when operator overloading is unavailable or inconvenient.
|
inline |
|
inline |
Access an element by index. Compare with std::vector::at(). This method can be a handy substitute for the overloaded operator () when operator overloading is unavailable or inconvenient.
|
inline |
|
inline |
Returns an iterator on the first element (STL compatibility).
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Create a column reference.
|
inline |
|
inline |
Assign a permutation of the columns of the input matrix to the column of this matrix. Both matrices must have the same size.
inputMatrix | the input matrix for the permutation. |
permutedColumnIndexes | an array of column indices. The assignment performed is: this->Column( permutedColumnIndexes[i] ) <– inputMatrix.Column(i). |
|
inline |
Assign a permutation of the columns of the input matrix to the column of this matrix. Both matrices must have the same size.
inputMatrix | the input matrix for the permutation. |
permutedColumnIndexes | an array of column indices. The assignment performed is: this->Column(i) <– inputMatrix.Column( permutedColumnIndexes[i] ). |
|
inline |
Binary deserialization
|
inline |
Create a reference to the main diagonal
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Access an element by indices (non const). This method allows to access an element without any bounds checking. It doesn't create any temporary row reference as a matrix[][] would do.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns an iterator on the last element (STL compatibility).
|
inline |
|
inline |
Exchange two colums of the matrix
|
inline |
Exchange two rows of the matrix
|
inline |
Fast copy. This method uses memcpy
whenever it is possible to perform a fast copy from another matrix to this matrix.
std::runtime_error
). See cmnThrow for details.false
. If both matrices are compact and use the same storage order, a memcpy
is performed and the method returns true
.memcpy
, i.e. one per row or column and the method returns true
performSafetyChecks
to vctFastCopy::SkipChecks
(boolean defined false
). This should be used only when the programmer knows for sure that the source and destination are compatible (size, storage order and compactness).The basic and safe use of this method for a matrix would be:
If the method is to be called many times (in a loop for example), it is recommended to check that the source and destination are compatible once and then use the option to turn off the different safety checks for each FastCopyOf.
source | Matrix used to set the content of this matrix. |
performSafetyChecks | Flag set to false to avoid safety checks, use with extreme caution. To make your code more readable use vctFastCopy::SkipChecks or vctFastCopy::PerformChecks . |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Read from an unformatted text input (e.g., one created by ToStreamRaw). Returns true if successful.
|
inline |
|
inline |
|
inline |
|
inline |
Access an element by index. See method at().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Reference a row of this matrix by index (non-const).
|
inline |
|
inline |
Compute the outer product of two vectors and store the result to this matrix. The outer product (v1*v2)[i,j] = v1[i] * v2[j]
|
inline |
Returns a non const pointer to an element of the container, specified by its index. Addition to the STL requirements.
|
inline |
Returns a non const pointer to the first element of the container. Addition to the STL requirements.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Product of two matrices. The template parameters insure that the size of the matrices match.
input1Matrix | The left operand of the binary operation. |
input2Matrix | The right operand of the binary operation. |
|
inline |
|
inline |
|
inline |
Returns a reverse iterator on the last element (STL compatibility).
|
inline |
|
inline |
Create a reference to a sub matrix
|
inline |
|
inline |
Returns a reverse iterator on the element before first (STL compatibility).
|
inline |
|
inline |
Create a row reference.
|
inline |
|
inline |
Assign a permutation of the rows of the input matrix to the rows of this matrix. Both matrices must have the same size.
inputMatrix | the input matrix for the permutation. |
permutedRowIndexes | an array of row indices. The assignment performed is: this->Row( permutedRowIndexes[i] ) <– inputMatrix.Row(i). |
|
inline |
Assign a permutation of the rows of the input matrix to the rows of this matrix. Both matrices must have the same size.
inputMatrix | the input matrix for the permutation. |
permutedRowIndexes | an array of row indices. The assignment performed is: this->Row(i) <– inputMatrix.Row( permutedRowIndexes[i] ). |
|
inline |
Select a subset of columns from another matrix
|
inline |
Select a subset of rows from another matrix
|
inline |
Assign the given value to all the elements.
value | the value used to set all the elements of the matrix |
|
inline |
|
inline |
|
inline |
Binary elementwise operations between two matrices. For each element of the matrices, performs where
is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ElementwiseProductOf), a division (ElementwiseRatioOf), a minimum (ElementwiseMinOf) or a maximum (ElementwiseMaxOf).
input1Matrix | The first operand of the binary operation |
input2Matrix | The second operand of the binary operation |
|
inline |
Binary elementwise operations between a matrix and a scalar. For each element of the matrix "this", performs where
is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).
matrix | The first operand of the binary operation. |
scalar | The second operand of the binary operation. |
|
inline |
Binary elementwise operations between a scalar and a matrix. For each element of the matrix "this", performs where
is either an addition (SumOf), a subtraction (DifferenceOf), a multiplication (ProductOf), a division (RatioOf), a minimum (ClippedAboveOf) or a maximum (ClippedBelowOf).
scalar | The first operand of the binary operation. |
matrix | The second operand of the binary operation. |
|
inline |
|
inline |
Return a transposed reference to this matrix. The actual definition of this method follows the declaration of class vctFixedSizeMatrixRef.
|
inline |
vctFixedSizeMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType >::VCT_CONTAINER_TRAITS_TYPEDEFS | ( | _elementType | ) |
|
inline |
Assign zero to all elements. This methods assumes that the element type has a zero and this zero value can be set using memset(0). If the matrix is not compact this method will use SetAll(0) and memset otherwise. This provides a slightly more efficent way to set all elements to zero.