20#ifndef _vctFixedSizeConstMatrixBase_h
21#define _vctFixedSizeConstMatrixBase_h
44 class _elementOperationType>
47 _elementType, _dataPtrType> & matrix1,
49 _elementType, __dataPtrType> & matrix2);
54 class _elementOperationType>
57 _elementType, _dataPtrType> & matrix,
58 const _elementType & scalar);
102 class _elementType,
class _dataPtrType>
116 _rowStride, _colStride, _elementType, _dataPtrType>
ThisType;
222 cmnThrow(std::out_of_range(
"vctFixedSizeMatrix: Invalid index"));
230 cmnThrow(std::out_of_range(
"vctFixedSizeMatrix: Invalid indices"));
271 const nsize_type &
sizes(
void)
const {
272 static nsize_type staticSizes(
ROWS,
COLS);
298 return staticStrides;
329 const_pointer
Pointer(size_type rowIndex, size_type colIndex)
const {
343 return (index <
size());
348 inline bool ValidIndex(size_type rowIndex, size_type colIndex)
const {
349 return ((rowIndex <
rows())
350 && (colIndex <
cols()));
355 return (rowIndex <
rows());
360 return (colIndex <
cols());
370 return (
begin())[index];
378 const_reference
at(size_type rowIndex, size_type colIndex)
const CISST_THROW(std::out_of_range) {
380 return *(
Pointer(rowIndex, colIndex));
387 return at(rowIndex, colIndex);
397 const_reference
Element(size_type rowIndex, size_type colIndex)
const {
398 return *(
Pointer(rowIndex, colIndex));
416 template <vct::
size_type __subRows, vct::
size_type __subCols>
418 Ref(
const size_type startRow = 0,
const size_type startCol = 0) const
CISST_THROW(
std::out_of_range) {
420 result(*
this, startRow, startCol);
431 return vctFixedSizeMatrixLoopEngines::
432 SoMi<typename vctBinaryOperations<value_type>::Addition,
440 return vctFixedSizeMatrixLoopEngines::
441 SoMi<typename vctBinaryOperations<value_type>::Multiplication,
451 return this->
Diagonal().SumOfElements();
457 return vctFixedSizeMatrixLoopEngines::
458 SoMi<typename vctBinaryOperations<value_type>::Addition,
465 inline NormType
Norm(
void)
const {
474 return vctFixedSizeMatrixLoopEngines::
475 SoMi<typename vctBinaryOperations<value_type>::Addition,
493 return vctFixedSizeMatrixLoopEngines::
494 SoMi<typename vctBinaryOperations<value_type>::Maximum,
502 return vctFixedSizeMatrixLoopEngines::
503 SoMi<typename vctBinaryOperations<value_type>::Minimum,
515 return vctFixedSizeMatrixLoopEngines::
516 SoMi<typename vctBinaryOperations<value_type>::Maximum,
526 return vctFixedSizeMatrixLoopEngines::
527 SoMi<typename vctBinaryOperations<value_type>::Minimum,
547 return vctFixedSizeMatrixLoopEngines::
548 SoMi<typename vctBinaryOperations<bool>::And,
556 return vctFixedSizeMatrixLoopEngines::
557 SoMi<typename vctBinaryOperations<bool>::And,
565 return vctFixedSizeMatrixLoopEngines::
566 SoMi<typename vctBinaryOperations<bool>::And,
574 return vctFixedSizeMatrixLoopEngines::
575 SoMi< typename vctBinaryOperations<bool>::And,
582 inline bool All(
void)
const {
583 return vctFixedSizeMatrixLoopEngines::
584 SoMi< typename vctBinaryOperations<bool>::And,
591 inline bool Any(
void)
const {
592 return vctFixedSizeMatrixLoopEngines::
593 SoMi< typename vctBinaryOperations<bool>::Or,
601 return vctFixedSizeMatrixLoopEngines::
602 SoMi< typename vctBinaryOperations<bool>::And,
610 return vctFixedSizeMatrixLoopEngines::
611 SoMi< typename vctBinaryOperations<bool>::Or,
661 return (this->
rows() == this->
cols());
672 template <
size_type __rows,
size_type __cols, str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
680 template<
class __matrixOwnerType>
703 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
705 value_type, __dataPtrType> & otherMatrix)
const {
706 return vctFixedSizeMatrixLoopEngines::
707 SoMiMi<typename vctBinaryOperations<bool>::And,
709 Run(*
this, otherMatrix);
713 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
715 value_type, __dataPtrType> & otherMatrix)
const {
716 return Equal(otherMatrix);
720 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
724 return ((*
this - otherMatrix).
LinfNorm() <= tolerance);
728 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
730 value_type, __dataPtrType> & otherMatrix)
const {
735 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
737 value_type, __dataPtrType> & otherMatrix)
const {
738 return vctFixedSizeMatrixLoopEngines::
739 SoMiMi<typename vctBinaryOperations<bool>::Or,
741 Run(*
this, otherMatrix);
745 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
747 value_type, __dataPtrType> & otherMatrix)
const {
752 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
754 value_type, __dataPtrType> & otherMatrix)
const {
755 return vctFixedSizeMatrixLoopEngines::
756 SoMiMi<typename vctBinaryOperations<bool>::And,
758 Run(*
this, otherMatrix);
762 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
764 value_type, __dataPtrType> & otherMatrix)
const {
765 return vctFixedSizeMatrixLoopEngines::
766 SoMiMi<typename vctBinaryOperations<bool>::And,
768 Run(*
this, otherMatrix);
772 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
774 value_type, __dataPtrType> & otherMatrix)
const {
775 return vctFixedSizeMatrixLoopEngines::
776 SoMiMi<typename vctBinaryOperations<bool>::And,
778 Run(*
this, otherMatrix);
782 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
784 value_type, __dataPtrType> & otherMatrix)
const {
785 return vctFixedSizeMatrixLoopEngines::
786 SoMiMi<typename vctBinaryOperations<bool>::And,
788 Run(*
this, otherMatrix);
808 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
811 value_type, __dataPtrType> & otherMatrix)
const {
814 _rowStride, _colStride, _dataPtrType,
815 __rowStride, __colStride, __dataPtrType,
821 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
824 value_type, __dataPtrType> & otherMatrix)
const {
827 _rowStride, _colStride, _dataPtrType,
828 __rowStride, __colStride, __dataPtrType,
834 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
837 value_type, __dataPtrType> & otherMatrix)
const {
840 _rowStride, _colStride, _dataPtrType,
841 __rowStride, __colStride, __dataPtrType,
847 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
850 value_type, __dataPtrType> & otherMatrix)
const {
853 _rowStride, _colStride, _dataPtrType,
854 __rowStride, __colStride, __dataPtrType,
860 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
863 value_type, __dataPtrType> & otherMatrix)
const {
866 _rowStride, _colStride, _dataPtrType,
867 __rowStride, __colStride, __dataPtrType,
873 template <str
ide_type __rowStr
ide, str
ide_type __colStr
ide,
class __dataPtrType>
876 value_type, __dataPtrType> & otherMatrix)
const {
879 _rowStride, _colStride, _dataPtrType,
880 __rowStride, __colStride, __dataPtrType,
901 return vctFixedSizeMatrixLoopEngines::
902 SoMiSi<typename vctBinaryOperations<bool>::And,
909 return Equal(scalar);
914 return vctFixedSizeMatrixLoopEngines::
915 SoMiSi<typename vctBinaryOperations<bool>::Or,
927 return vctFixedSizeMatrixLoopEngines::
928 SoMiSi<typename vctBinaryOperations<bool>::And,
935 return vctFixedSizeMatrixLoopEngines::
936 SoMiSi<typename vctBinaryOperations<bool>::And,
943 return vctFixedSizeMatrixLoopEngines::
944 SoMiSi<typename vctBinaryOperations<bool>::And,
951 return vctFixedSizeMatrixLoopEngines::
952 SoMiSi<typename vctBinaryOperations<bool>::And,
977 _rowStride, _colStride, _dataPtrType,
986 _rowStride, _colStride, _dataPtrType,
995 _rowStride, _colStride, _dataPtrType,
1004 _rowStride, _colStride, _dataPtrType,
1013 _rowStride, _colStride, _dataPtrType,
1022 _rowStride, _colStride, _dataPtrType,
1078 template <
size_type _subRows,
size_type _subCols>
1101 std::stringstream outputStream;
1103 return outputStream.str();
1108 const size_type myRows =
rows();
1109 const size_type myCols =
cols();
1111 const std::streamsize
width = outputStream.width(12);
1112 const std::streamsize precision = outputStream.precision(6);
1113 bool showpoint = ((outputStream.flags() & std::ios_base::showpoint) != 0);
1114 outputStream << std::setprecision(6) << std::showpoint;
1115 size_type indexRow, indexCol;
1116 for (indexRow = 0; indexRow < myRows; ++indexRow) {
1117 for (indexCol = 0; indexCol < myCols; ++indexCol) {
1118 outputStream << std::setw(12) << this->
Element(indexRow, indexCol);
1119 if (indexCol < (myCols-1)) {
1120 outputStream <<
" ";
1124 if (indexRow != (myRows - 1)) {
1125 outputStream << std::endl;
1129 outputStream << std::setprecision(precision) << std::setw(
width);
1131 outputStream << std::noshowpoint;
1136 void ToStreamRaw(std::ostream & outputStream,
const char delimiter =
' ',
1137 bool headerOnly =
false,
const std::string & headerPrefix =
"")
const
1139 const size_type myRows =
rows();
1140 const size_type myCols =
cols();
1141 size_type indexRow, indexCol;
1144 for (indexRow = 0; indexRow < myRows; ++indexRow) {
1145 for (indexCol = 0; indexCol < myCols; ++indexCol) {
1146 outputStream << headerPrefix <<
"-m" << indexRow <<
"_" << indexCol;
1148 if (indexCol < (myCols - 1)) {
1149 outputStream << delimiter;
1153 if (indexRow < (myRows - 1)) {
1154 outputStream << delimiter;
1158 for (indexRow = 0; indexRow < myRows; ++indexRow) {
1159 for (indexCol = 0; indexCol < myCols; ++indexCol) {
1160 outputStream << this->
Element(indexRow, indexCol);
1162 if (indexCol < (myCols - 1)) {
1163 outputStream << delimiter;
1167 if (indexRow < (myRows - 1)) {
1168 outputStream << delimiter;
1177 const size_type myRows =
rows();
1178 const size_type myCols =
cols();
1179 size_type indexRow, indexCol;
1181 for (indexRow = 0; indexRow < myRows; ++indexRow) {
1182 for (indexCol = 0; indexCol < myCols; ++indexCol) {
1195 class _elementType,
class _dataPtrType>
1197 return matrix.
All();
1203 class _elementType,
class _dataPtrType>
1205 return matrix.
Any();
1211 class _elementType,
class _dataPtrType>
static Type Tolerance(void)
Definition cmnTypeTraits.h:170
Test for equality between input1 and input2.
Definition vctBinaryOperations.h:282
Test if input1 is greater than input2.
Definition vctBinaryOperations.h:363
Test if input1 is greater than or equal to input2.
Definition vctBinaryOperations.h:384
Test if input1 is lesser than input2.
Definition vctBinaryOperations.h:322
Test if input1 is lesser than or equal to input2.
Definition vctBinaryOperations.h:343
Test for non equality between input1 and input2.
Definition vctBinaryOperations.h:302
Definition vctForwardDeclarations.h:145
static bool MatrixCopyCompatible(const _matrix1Type &matrix1, const _matrix2Type &matrix2)
Definition vctFastCopy.h:135
Definition vctFixedSizeConstMatrixBase.h:1080
vctFixedSizeConstMatrixRef< value_type, _subRows, _subCols, ROWSTRIDE, COLSTRIDE > Type
Definition vctFixedSizeConstMatrixBase.h:1083
A template for a fixed size matrix with fixed spacing in memory.
Definition vctFixedSizeConstMatrixBase.h:104
vctFixedSizeMatrixTraits< _elementType, _rows, _cols, _rowStride, _colStride > MatrixTraits
Definition vctFixedSizeConstMatrixBase.h:120
bool HasNaN(void) const
Definition vctFixedSizeConstMatrixBase.h:609
BoolMatrixValueType ElementwiseLesser(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:836
const_pointer Pointer(size_type rowIndex, size_type colIndex) const
Definition vctFixedSizeConstMatrixBase.h:329
const_reference at(size_type rowIndex, size_type colIndex) const CISST_THROW(std
Definition vctFixedSizeConstMatrixBase.h:378
bool operator!=(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:746
bool AlmostEqual(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:729
bool IsNonNegative(void) const
Definition vctFixedSizeConstMatrixBase.h:555
vctFixedSizeVector< _elementType, COLS > RowValueType
Definition vctFixedSizeConstMatrixBase.h:172
value_type MaxElement(void) const
Definition vctFixedSizeConstMatrixBase.h:492
@ DIMENSION
Definition vctFixedSizeConstMatrixBase.h:111
@ DIAGONAL_STRIDE
Definition vctFixedSizeConstMatrixBase.h:143
@ DIAGONAL_LENGTH
Definition vctFixedSizeConstMatrixBase.h:142
bool IsSquare(void) const
Definition vctFixedSizeConstMatrixBase.h:660
bool IsNegative(void) const
Definition vctFixedSizeConstMatrixBase.h:573
bool IsNonPositive(void) const
Definition vctFixedSizeConstMatrixBase.h:564
size_type cols() const
Definition vctFixedSizeConstMatrixBase.h:282
void ToStreamRaw(std::ostream &outputStream, const char delimiter=' ', bool headerOnly=false, const std::string &headerPrefix="") const
Definition vctFixedSizeConstMatrixBase.h:1136
bool operator==(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:714
vctFixedSizeVector< _elementType, ROWS > ColumnValueType
Definition vctFixedSizeConstMatrixBase.h:175
BoolMatrixValueType ElementwiseNotEqual(const value_type &scalar) const
Definition vctFixedSizeConstMatrixBase.h:983
vctFixedSizeConstMatrixRef< _elementType, __subRows, __subCols, _rowStride, _colStride > Ref(const size_type startRow=0, const size_type startCol=0) const CISST_THROW(std
Definition vctFixedSizeConstMatrixBase.h:418
difference_type row_stride() const
Definition vctFixedSizeConstMatrixBase.h:303
void ToStream(std::ostream &outputStream) const
Definition vctFixedSizeConstMatrixBase.h:1107
_dataPtrType DataType
Definition vctFixedSizeConstMatrixBase.h:212
vctFixedSizeVectorRef< _elementType, COLS, COLSTRIDE > RowRefType
Definition vctFixedSizeConstMatrixBase.h:152
bool IsCompact(void) const
Definition vctFixedSizeConstMatrixBase.h:639
bool Lesser(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:753
bool IsFortran(void) const
Definition vctFixedSizeConstMatrixBase.h:649
bool Any(void) const
Definition vctFixedSizeConstMatrixBase.h:591
value_type SumOfElements() const
Definition vctFixedSizeConstMatrixBase.h:430
vctFixedSizeMatrix< bool, ROWS, COLS, COLSTRIDE<=ROWSTRIDE > BoolMatrixValueType
Definition vctFixedSizeConstMatrixBase.h:210
BoolMatrixValueType ElementwiseGreater(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:862
bool IsColMajor(void) const
Definition vctFixedSizeConstMatrixBase.h:625
bool Greater(const value_type &scalar) const
Definition vctFixedSizeConstMatrixBase.h:942
const nstride_type & strides(void) const
Definition vctFixedSizeConstMatrixBase.h:296
size_type rows() const
Definition vctFixedSizeConstMatrixBase.h:277
vctFixedSizeConstMatrixRef< _elementType, _cols, _rows, _colStride, _rowStride > ConstRefTransposeType
Definition vctFixedSizeConstMatrixBase.h:187
const nsize_type & sizes(void) const
Definition vctFixedSizeConstMatrixBase.h:271
bool GreaterOrEqual(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:783
MatrixValueType Negation(void) const
Definition vctFixedSizeMatrix.h:392
vctFixedSizeConstMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride > ConstRefType
Definition vctFixedSizeConstMatrixBase.h:178
value_type MinElement(void) const
Definition vctFixedSizeConstMatrixBase.h:501
MatrixTraits::iterator iterator
Definition vctFixedSizeConstMatrixBase.h:123
MatrixValueType Abs(void) const
Definition vctFixedSizeMatrix.h:381
bool FastCopyCompatible(const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &source) const
Definition vctFixedSizeConstMatrixBase.h:681
vctFixedSizeConstVectorRef< _elementType, DIAGONAL_LENGTH, DIAGONAL_STRIDE > ConstDiagonalRefType
Definition vctFixedSizeConstMatrixBase.h:164
BoolMatrixValueType ElementwiseLesserOrEqual(const value_type &scalar) const
Definition vctFixedSizeConstMatrixBase.h:1001
value_type L1Norm(void) const
Definition vctFixedSizeConstMatrixBase.h:473
bool ValidIndex(size_type rowIndex, size_type colIndex) const
Definition vctFixedSizeConstMatrixBase.h:348
TransposeValueType Transpose() const
Definition vctFixedSizeConstMatrixBase.h:1060
size_type max_size() const
Definition vctFixedSizeConstMatrixBase.h:290
vctFixedSizeConstVectorRef< _elementType, ROWS, ROWSTRIDE > ConstColumnRefType
Definition vctFixedSizeConstMatrixBase.h:156
BoolMatrixValueType ElementwiseGreaterOrEqual(const value_type &scalar) const
Definition vctFixedSizeConstMatrixBase.h:1019
difference_type col_stride() const
Definition vctFixedSizeConstMatrixBase.h:309
vctFixedSizeConstVectorRef< _elementType, COLS, COLSTRIDE > ConstRowRefType
Definition vctFixedSizeConstMatrixBase.h:148
BoolMatrixValueType ElementwiseNotEqual(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:823
MatrixTraits::reverse_iterator reverse_iterator
Definition vctFixedSizeConstMatrixBase.h:129
BoolMatrixValueType ElementwiseGreater(const value_type &scalar) const
Definition vctFixedSizeConstMatrixBase.h:1010
value_type ProductOfElements() const
Definition vctFixedSizeConstMatrixBase.h:439
value_type MinAbsElement(void) const
Definition vctFixedSizeConstMatrixBase.h:525
vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > ThisType
Definition vctFixedSizeConstMatrixBase.h:116
MatrixTraits::const_reverse_iterator const_reverse_iterator
Definition vctFixedSizeConstMatrixBase.h:132
MatrixTraits::const_iterator const_iterator
Definition vctFixedSizeConstMatrixBase.h:126
void SerializeRaw(std::ostream &outputStream) const
Definition vctFixedSizeConstMatrixBase.h:1175
vctFixedSizeMatrixRef< _elementType, _cols, _rows, _colStride, _rowStride > RefTransposeType
Definition vctFixedSizeConstMatrixBase.h:192
const_reverse_iterator rbegin() const
Definition vctFixedSizeConstMatrixBase.h:252
@ ROWSTRIDE
Definition vctFixedSizeConstMatrixBase.h:138
@ COLSTRIDE
Definition vctFixedSizeConstMatrixBase.h:139
const_reference Element(size_type rowIndex, size_type colIndex) const
Definition vctFixedSizeConstMatrixBase.h:397
BoolMatrixValueType ElementwiseLesser(const value_type &scalar) const
Definition vctFixedSizeConstMatrixBase.h:992
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
NormType Norm(void) const
Definition vctFixedSizeConstMatrixBase.h:465
vctFixedSizeMatrixRef< _elementType, _rows, _cols, _rowStride, _colStride > RefType
Definition vctFixedSizeConstMatrixBase.h:181
bool GreaterOrEqual(const value_type &scalar) const
Definition vctFixedSizeConstMatrixBase.h:950
vctFixedSizeVectorRef< _elementType, ROWS, ROWSTRIDE > ColumnRefType
Definition vctFixedSizeConstMatrixBase.h:160
value_type MaxAbsElement(void) const
Definition vctFixedSizeConstMatrixBase.h:514
@ LENGTH
Definition vctFixedSizeConstMatrixBase.h:136
@ ROWS
Definition vctFixedSizeConstMatrixBase.h:135
@ COLS
Definition vctFixedSizeConstMatrixBase.h:135
bool AlmostEqual(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix, value_type tolerance) const
Definition vctFixedSizeConstMatrixBase.h:721
BoolMatrixValueType ElementwiseEqual(const value_type &scalar) const
Definition vctFixedSizeConstMatrixBase.h:974
bool Equal(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:704
bool Equal(const value_type &scalar) const
Definition vctFixedSizeConstMatrixBase.h:900
value_type Trace(void) const
Definition vctFixedSizeConstMatrixBase.h:450
bool IsRowMajor(void) const
Definition vctFixedSizeConstMatrixBase.h:633
bool LesserOrEqual(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:763
ConstColumnRefType Column(size_type index) const
Definition vctFixedSizeConstMatrixBase.h:406
const_reference at(size_type index) const CISST_THROW(std
Definition vctFixedSizeConstMatrixBase.h:368
bool NotEqual(const value_type &scalar) const
Definition vctFixedSizeConstMatrixBase.h:913
bool empty() const
Definition vctFixedSizeConstMatrixBase.h:315
VCT_NARRAY_TRAITS_TYPEDEFS(DIMENSION)
bool ValidIndex(size_type index) const
Definition vctFixedSizeConstMatrixBase.h:342
value_type LinfNorm(void) const
Definition vctFixedSizeConstMatrixBase.h:486
void MinAndMaxElement(value_type &minElement, value_type &maxElement) const
Definition vctFixedSizeConstMatrixBase.h:539
bool IsPositive(void) const
Definition vctFixedSizeConstMatrixBase.h:546
bool All(void) const
Definition vctFixedSizeConstMatrixBase.h:582
size_type size() const
Definition vctFixedSizeConstMatrixBase.h:266
vctFixedSizeMatrix< _elementType, COLS, ROWS, COLSTRIDE<=ROWSTRIDE > TransposeValueType
Definition vctFixedSizeConstMatrixBase.h:198
bool NotEqual(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:736
BoolMatrixValueType ElementwiseGreaterOrEqual(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:875
vctFixedSizeMatrix< _elementType, ROWS, COLS, COLSTRIDE<=ROWSTRIDE > MatrixValueType
Definition vctFixedSizeConstMatrixBase.h:204
bool Greater(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:773
const_pointer Pointer(void) const
Definition vctFixedSizeConstMatrixBase.h:336
ConstRowRefType operator[](size_type index) const
Definition vctFixedSizeConstMatrixBase.h:321
value_type NormSquare(void) const
Definition vctFixedSizeConstMatrixBase.h:456
ConstDiagonalRefType Diagonal(void) const
Definition vctFixedSizeConstMatrixBase.h:410
bool ValidColIndex(size_type colIndex) const
Definition vctFixedSizeConstMatrixBase.h:359
bool IsSquare(size_type size) const
Definition vctFixedSizeConstMatrixBase.h:665
std::string ToString(void) const
Definition vctFixedSizeConstMatrixBase.h:1100
const_reverse_iterator rend() const
Definition vctFixedSizeConstMatrixBase.h:259
MatrixValueType Ceil(void) const
Definition vctFixedSizeMatrix.h:414
const_reference operator()(size_type rowIndex, size_type colIndex) const CISST_THROW(std
Definition vctFixedSizeConstMatrixBase.h:386
void ThrowUnlessValidIndex(size_type rowIndex, size_type colIndex) const CISST_THROW(std
Definition vctFixedSizeConstMatrixBase.h:228
bool FastCopyCompatible(const vctFixedSizeConstMatrixBase< __rows, __cols, __rowStride, __colStride, value_type, __dataPtrType > &source) const
Definition vctFixedSizeConstMatrixBase.h:673
MatrixValueType Floor(void) const
Definition vctFixedSizeMatrix.h:403
bool ValidRowIndex(size_type rowIndex) const
Definition vctFixedSizeConstMatrixBase.h:354
vctFixedSizeVectorRef< _elementType, DIAGONAL_LENGTH, DIAGONAL_STRIDE > DiagonalRefType
Definition vctFixedSizeConstMatrixBase.h:168
ConstRowRefType Row(size_type index) const
Definition vctFixedSizeConstMatrixBase.h:402
bool StorageOrder(void) const
Definition vctFixedSizeConstMatrixBase.h:655
BoolMatrixValueType ElementwiseEqual(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:810
void ThrowUnlessValidIndex(size_type index) const CISST_THROW(std
Definition vctFixedSizeConstMatrixBase.h:220
bool Lesser(const value_type &scalar) const
Definition vctFixedSizeConstMatrixBase.h:926
const_iterator begin() const
Definition vctFixedSizeConstMatrixBase.h:238
const_iterator end() const
Definition vctFixedSizeConstMatrixBase.h:245
bool IsFinite(void) const
Definition vctFixedSizeConstMatrixBase.h:600
bool LesserOrEqual(const value_type &scalar) const
Definition vctFixedSizeConstMatrixBase.h:934
DataType Data
Definition vctFixedSizeConstMatrixBase.h:216
BoolMatrixValueType ElementwiseLesserOrEqual(const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, value_type, __dataPtrType > &otherMatrix) const
Definition vctFixedSizeConstMatrixBase.h:849
static const MatrixValueType & Eye(void)
Definition vctFixedSizeMatrix.h:425
ConstRefTransposeType TransposeRef(void) const
Definition vctFixedSizeConstMatrixRef.h:172
Definition vctForwardDeclarations.h:106
Definition vctForwardDeclarations.h:86
Implementation of a fixed-size matrix using template metaprogramming.
Definition vctFixedSizeMatrix.h:54
static void Run(const _inputMatrixType &inputMatrix, typename _inputMatrixType::value_type &minValue, typename _inputMatrixType::value_type &maxValue)
Definition vctFixedSizeMatrixLoopEngines.h:762
Definition vctForwardDeclarations.h:110
Define common container related types based on the properties of a fixed size container.
Definition vctFixedSizeMatrixTraits.h:47
vctFixedStrideMatrixConstIterator< _elementType, -_colStride, _cols, -_rowStride > const_reverse_iterator
Definition vctFixedSizeMatrixTraits.h:62
@ COLSTRIDE
Definition vctFixedSizeMatrixTraits.h:74
@ ROWSTRIDE
Definition vctFixedSizeMatrixTraits.h:74
vctFixedStrideMatrixIterator< _elementType, _colStride, _cols, _rowStride > iterator
Definition vctFixedSizeMatrixTraits.h:53
@ ROWS
Definition vctFixedSizeMatrixTraits.h:67
@ LENGTH
Definition vctFixedSizeMatrixTraits.h:67
@ COLS
Definition vctFixedSizeMatrixTraits.h:67
vctFixedStrideMatrixConstIterator< _elementType, _colStride, _cols, _rowStride > const_iterator
Definition vctFixedSizeMatrixTraits.h:56
vctFixedStrideMatrixIterator< _elementType, -_colStride, _cols, -_rowStride > reverse_iterator
Definition vctFixedSizeMatrixTraits.h:59
Implementation of a fixed-size vector using template metaprogramming.
Definition vctFixedSizeVector.h:54
Definition vctForwardDeclarations.h:89
Returns the absolute value of the input as an OutputType object.
Definition vctUnaryOperations.h:80
Returns the input as an OutputType object.
Definition vctUnaryOperations.h:65
Definition vctUnaryOperations.h:186
Definition vctUnaryOperations.h:194
Definition vctUnaryOperations.h:170
Definition vctUnaryOperations.h:154
Definition vctUnaryOperations.h:162
Definition vctUnaryOperations.h:178
Definition vctUnaryOperations.h:146
Returns the square of the input as an OutputType object.
Definition vctUnaryOperations.h:119
#define CISST_THROW(exceptionParameter)
Somewhat portable compilation warning message. This works with very recent versions of gcc (4....
Definition cmnPortability.h:559
Declaration of cmnSerializer and functions cmnSerializeRaw.
void cmnSerializeRaw(std::ostream &outputStream, const _elementType &data) CISST_THROW(std
Definition cmnSerializer.h:76
void cmnThrow(const _exceptionType &except, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_ERROR)
Definition cmnThrow.h:76
size_t size_type
Definition vctContainerTraits.h:35
ptrdiff_t stride_type
Definition vctContainerTraits.h:37
bool vctAll(const vctDynamicConstMatrixBase< _matrixOwnerType, _elementType > &matrix)
Definition vctDynamicConstMatrixBase.h:1176
bool vctAny(const vctDynamicConstMatrixBase< _matrixOwnerType, _elementType > &matrix)
Definition vctDynamicConstMatrixBase.h:1182
size_type width() const
Definition vctDynamicConstMatrixBase.h:253
vctFixedSizeMatrix< bool, _rows, _cols > vctFixedSizeMatrixElementwiseCompareMatrix(const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix1, const vctFixedSizeConstMatrixBase< _rows, _cols, __rowStride, __colStride, _elementType, __dataPtrType > &matrix2)
Definition vctFixedSizeMatrix.h:442
std::ostream & operator<<(std::ostream &output, const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix)
Definition vctFixedSizeConstMatrixBase.h:1212
vctFixedSizeMatrix< bool, _rows, _cols > vctFixedSizeMatrixElementwiseCompareScalar(const vctFixedSizeConstMatrixBase< _rows, _cols, _rowStride, _colStride, _elementType, _dataPtrType > &matrix, const _elementType &scalar)
Definition vctFixedSizeMatrix.h:458
Declaration of vctFixedSizeMatrixLoopEngines.
Declaration of vctFixedSizeMatrixTraits.
Declaration of vctFixedSizeVector.
Declaration of vctFixedSizeVectorRef.