10#include "DefinitionsMathematics.h"
11#include "FLPointArray.h"
69 template <
typename Ty>
70 class FL_EXPORT CMatrixFor3D;
77 template <
typename Ty>
133 CMatrix(int64_t i64Row, int64_t i64Column, Ty tFillValue);
696 CMatrix<Ty> operator<(
const double& f64Param)
const;
789 friend CMatrix<Ty> operator+(
const int64_t& value,
const CMatrix<Ty>& mat)
791 CMatrix<Ty> matReturn(mat);
796 friend CMatrix<Ty> operator+(
const int32_t& value,
const CMatrix<Ty>& mat)
798 CMatrix<Ty> matReturn(mat);
803 friend CMatrix<Ty> operator-(
const double& value,
const CMatrix<Ty>& mat)
805 CMatrix<Ty> matReturn(mat);
810 friend CMatrix<Ty> operator-(
const float& value,
const CMatrix<Ty>& mat)
812 CMatrix<Ty> matReturn(mat);
817 friend CMatrix<Ty> operator-(
const int64_t& value,
const CMatrix<Ty>& mat)
819 CMatrix<Ty> matReturn(mat);
824 friend CMatrix<Ty> operator-(
const int32_t& value,
const CMatrix<Ty>& mat)
826 CMatrix<Ty> matReturn(mat);
831 friend CMatrix<Ty> operator*(
const double& value,
const CMatrix<Ty>& mat)
833 CMatrix<Ty> matReturn(mat);
838 friend CMatrix<Ty> operator*(
const float& value,
const CMatrix<Ty>& mat)
840 CMatrix<Ty> matReturn(mat);
845 friend CMatrix<Ty> operator*(
const int64_t& value,
const CMatrix<Ty>& mat)
847 CMatrix<Ty> matReturn(mat);
852 friend CMatrix<Ty> operator*(
const int32_t& value,
const CMatrix<Ty>& mat)
854 CMatrix<Ty> matReturn(mat);
859 friend CMatrix<Ty> operator<(
const double& value,
const CMatrix<Ty>& mat)
861 CMatrix<Ty> matReturn(mat > value);
865 friend CMatrix<Ty> operator>(
const double& value,
const CMatrix<Ty>& mat)
867 CMatrix<Ty> matReturn(mat < value);
878 virtual operator Ty* ();
891 virtual Ty* operator() (
const int32_t i32Row,
const int32_t i32Column)
const;
963 virtual const CResult Create(int64_t i64Row, int64_t i64Column,
bool bFillZero =
true);
1070 virtual const CResult Full(int64_t i64Row, int64_t i64Column, Ty tFillValue);
1359 virtual const CResult Set(Ty* pArr2Mat, int64_t i64Row, int64_t i64Column);
1450 virtual Ty*
GetValue(int64_t i64Row, int64_t i64Column)
const;
1471 virtual const CResult GetRange(
CMatrix<Ty>* pMatResult, int64_t i64StartRow = -1, int64_t i64StartColumn = -1, int64_t i64EndRow = -1, int64_t i64EndColumn = -1)
const;
1538 virtual const CResult GetRangeRef(
CMatrix<Ty>* pMatResult, int64_t i64StartRow = -1, int64_t i64StartColumn = -1, int64_t i64EndRow = -1, int64_t i64EndColumn = -1)
const;
2550 virtual const CResult ArgMin(int64_t& i64ResultRow, int64_t& i64ResultColumn)
const;
2603 virtual const CResult ArgMax(int64_t& i64ResultRow, int64_t& i64ResultColumn)
const;
3905 SupportToDuplicateObject(
CMatrix, *
this);
3906 DeclareGetClassType();
3913 Ty** m_pTVectorsYCache;
3914 int64_t m_i64Column;
3916 int64_t m_i64ElementCount;
3917 int64_t m_i64TotalSizeByte;
3918 bool m_bBufferCreated;
3922 template <
typename Ty>
Template type array class.
Definition RangeTree.h:19
Top-level base class of FLImaging.
Definition FLBase.h:36
Template type string class.
Definition INIUtilities.h:20
EInstruction
Instruction.
Definition ProcessingUnitCPU.h:40
Simplified class representing a point.
Definition TPoint.h:37
FLImaging module execution result object.
Definition ResultsDef.h:1514
A base class representing array of figure.
Definition FLPointArray.h:26
A class representing 3x3 matrix.
Definition MatrixFor3D.h:28
A class representing matrix.
Definition Matrix.h:79
virtual const CResult SaveCSV(const Base::CFLString< wchar_t > *pStrFilePath) const
CMatrix< Ty > operator*(const float &f32Param) const
virtual const CMatrix< Ty > & operator/=(const float &f32Param)
virtual const CResult Assign(const CMatrix< float > &matrix)
virtual const CResult Fill(Ty value)
CMatrix< Ty > operator+(const double &f64Param) const
virtual const CResult Sqrt()
virtual const CResult Set(Ty *pArr2Mat, int64_t i64Row, int64_t i64Column)
virtual const CResult Log10()
virtual const CResult OnesLike(const CMatrix< double > &matShape)
static const CResult Where(const CMatrix< Ty > &matCondition, const CMatrix< Ty > &matTrue, Ty tFalse, CMatrix< Ty > *pMatResult)
virtual const CResult Std(CMatrix< Ty > &matResult, EMatrixAxis eAxis) const
CMatrix< Ty > operator-(const CMatrix< Ty > &cMat) const
CMatrix(int64_t i64Row, int64_t i64Column, Ty tFillValue)
CMatrix(const CMatrix< Ty > &matrix)
CMatrix< Ty > operator>(const CMatrix< Ty > &matOperand) const
virtual const CResult Arcsin()
virtual const CResult Min(CMatrix< Ty > *pMatResult, EMatrixAxis eAxis) const
virtual const CResult Save(const Base::CFLString< wchar_t > &strFilePath) const
CMatrix< Ty > operator&&(const CMatrix< Ty > &matOperand) const
virtual CMatrix< Ty > I() const
virtual const CResult PseudoInverse()
virtual double Prod() const
virtual const CMatrix< Ty > & operator=(const CMatrix< double > *pMatrix)
virtual const CMatrix< Ty > & operator-=(const float &f32Param)
virtual const CResult Subtract(const CMatrix< Ty > &matrix)
virtual const CResult Abs()
virtual const CResult SetOperationAccuracy(EAccuracy eOperationAccuracy)
virtual const CMatrix< Ty > & operator+=(const int32_t &i32Param)
virtual const CResult GetRange(CMatrix< Ty > *pMatResult, int64_t i64StartRow=-1, int64_t i64StartColumn=-1, int64_t i64EndRow=-1, int64_t i64EndColumn=-1) const
virtual const CResult Assign(const Base::CFLArray< Base::CFLArray< Ty > > &fla2Matrix)
virtual const CResult CrossProduct(const CMatrix< Ty > *pMatrixSource2, CMatrix< Ty > *pMatrixDestination) const
virtual const CResult ArgMax(Base::CFLArray< int64_t > &flaResultIndex, EMatrixAxis eAxis) const
static const CResult Where(const CMatrix< Ty > &matCondition, const CMatrix< Ty > &matTrue, const CMatrix< Ty > &matFalse, CMatrix< Ty > &matResult)
virtual const CResult LU(CMatrix< Ty > *pMatrixL, CMatrix< Ty > *pMatrixU) const
virtual bool IsReferenceEnabled() const
virtual const CMatrix< Ty > & operator/=(const int64_t &i64Param)
virtual const CResult Prod(Base::CFLArray< double > *pFlaResult, EMatrixAxis eAxis) const
CMatrix< Ty > operator-(const double &f64Param) const
CMatrix< Ty > operator+(const float &f32Param) const
virtual const CResult GetRange(Base::CFLArray< Ty > *pMatResult, int64_t i64StartRow=-1, int64_t i64StartColumn=-1, int64_t i64EndRow=-1, int64_t i64EndColumn=-1) const
virtual const CResult Add(const CMatrix< Ty > &matrix)
virtual const CResult Log2()
virtual const CResult Min(CMatrix< Ty > &matResult, EMatrixAxis eAxis) const
virtual const CResult HStack(const CMatrix< Ty > &matInput, CMatrix< Ty > *pMatResult=nullptr)
virtual const CResult Multiply(const CMatrix< Ty > *pMatrix, CMatrix< Ty > *pTargetMatrix) const
virtual const CResult LinSpace(Ty tRangeStart, Ty tRangeEnd)
static const CResult Where(const CMatrix< Ty > &matCondition, Ty tTrue, const CMatrix< Ty > &matFalse, CMatrix< Ty > *pMatResult)
virtual const CResult Assign(const CMatrix< float > *pMatrix)
virtual const CResult ZerosLike(const CMatrix< float > &matShape)
CMatrix< Ty > operator!=(const double &f64Param) const
virtual const CResult MulTransposed(const CMatrix< Ty > *pMatrixSource, CMatrix< Ty > *pMatrixDestination, int32_t i32Order, CMatrix< Ty > *pMatDelta=nullptr, double f64Scale=1.) const
virtual const CResult Transpose(CMatrix< Ty > *pTargetMatrix) const
static const CResult Where(const CMatrix< Ty > *pMatCondition, const CMatrix< Ty > *pMatTrue, Ty tFalse, CMatrix< Ty > *pMatResult)
virtual const CResult Log1p()
CMatrix< Ty > operator-(const int64_t &i64Param) const
virtual const CResult SVD(CMatrix< Ty > *pMatrixU, CMatrix< Ty > *pMatrixSig, CMatrix< Ty > *pMatrixVT) const
virtual const CResult FullLike(const CMatrix< double > &matShape, Ty tFillValue)
virtual const CResult Assign(const Base::CFLArray< Base::CFLArray< Ty > > *pFla2Matrix)
static const CResult Where(const CMatrix< Ty > *pMatCondition, const CMatrix< Ty > *pMatTrue, Ty tFalse, CMatrix< Ty > &matResult)
virtual const CResult ZerosLike(const CMatrix< float > *pMatShape)
virtual const CResult Arccos()
virtual const CResult MultiplyElementwise(const CMatrix< Ty > *pMatrix, CMatrix< Ty > *pTargetMatrix) const
virtual const CResult Floor()
virtual const CResult Sin()
virtual const CResult Swap(CMatrix< Ty > *pMatRight)
virtual Ty * GetValue(int64_t i64Row, int64_t i64Column) const
virtual const CResult Multiply(const int64_t &i64Scalar)
virtual const CResult Round()
virtual int64_t GetRowSizeByte() const
virtual const CResult Assign(const CMatrix< double > *pMatrix)
virtual const CResult Arctan2(const CMatrix< Ty > &matrixX)
CMatrix< Ty > operator%(const CMatrix< Ty > &matOperand) const
virtual const Ty * operator[](int32_t i32Index) const
virtual Ty * operator[](int32_t i32Index)
virtual const CMatrix< Ty > & operator-=(const int32_t &i32Param)
CMatrix< Ty > operator*(const CMatrix< Ty > &cMat) const
virtual const CMatrix< Ty > & operator=(const CMatrix< float > *pMatrix)
virtual const CResult Dot(const CMatrix< Ty > *pMatInput, CMatrix< Ty > *pMatResult) const
virtual const CResult LoadCSV(const Base::CFLString< wchar_t > &strFilePath)
virtual CMatrix< Ty > U() const
virtual const CResult Ones(int64_t i64Row, int64_t i64Column)
virtual const CResult Reshape(int64_t i64Row, int64_t i64Column=-1)
static const CResult GetSimilarity(const Base::CFLArray< Ty > &flaSrcX, const Base::CFLArray< Ty > &flaSrcY, const Base::CFLArray< Ty > &flaDstX, const Base::CFLArray< Ty > &flaDstY, CMatrix< Ty > *pMatResult)
virtual const CResult ArgMax(Base::CFLArray< int64_t > *pFlaResultIndex, EMatrixAxis eAxis) const
virtual const CMatrix< Ty > & operator=(const CMatrix< float > &matrix)
virtual const CResult Create(const CMatrix< double > &matShape, Ty tFillValue=0)
static const CResult Where(const CMatrix< Ty > *pMatCondition, Ty tTrue, Ty tFalse, CMatrix< Ty > *pMatResult)
virtual const CResult Zeros(int64_t i64Row, int64_t i64Column)
static const CResult GetSimilarity(const CFLPointArray *pFlpaSrcPoints, const CFLPointArray *pFlpaDstPoints, CMatrix< Ty > *pMatResult)
virtual const CResult LUP(CMatrix< Ty > *pMatrixP, CMatrix< Ty > *pMatrixL, CMatrix< Ty > *pMatrixU) const
virtual const CMatrix< Ty > & operator/=(const CMatrix< Ty > &cMat)
virtual const Ty * operator[](int64_t i64Index) const
static const CResult GetSimilarity(const CFLPointArray &flpaSrcPoints, const CFLPointArray &flpaDstPoints, CMatrix< Ty > *pMatResult)
virtual const CResult SetDiagonal(Ty tVal)
virtual const CResult MultiplyElementwise(const CMatrix< Ty > &matrix)
virtual const CResult ReduceMin(const EMatrixReduceType eReduceType, CMatrix< Ty > *pMatResult) const
virtual const CResult FillZero()
virtual const CResult Degrees()
virtual const CResult ReduceMean(const EMatrixReduceType eReduceType, CMatrix< Ty > *pMatResult) const
static const CResult Where(const CMatrix< Ty > *pMatCondition, const CMatrix< Ty > *pMatTrue, const CMatrix< Ty > *pMatFalse, CMatrix< Ty > &matResult)
CMatrix< Ty > operator/(const double &f64Param) const
virtual const CResult Arctan2(const CMatrix< Ty > *pMatrixX)
CMatrix< Ty > operator%(const double &f64Param) const
virtual const CMatrix< Ty > & operator+=(const int64_t &i64Param)
virtual const CResult Multiply(const CMatrix< Ty > *pMatrix)
virtual const CResult Diff(CMatrix< Ty > *pMatResult, EMatrixAxis eAxis=EMatrixAxis_Column, int64_t i64Depth=1) const
virtual const CResult MultiplyElementwise(const CMatrix< Ty > *pMatrix)
virtual const CResult Unique(CMatrix< Ty > *pMatResult, EMatrixAxis eAxis) const
virtual const CResult Multiply(const CMatrix< Ty > &matrix)
virtual const CResult ZerosLike(const CMatrix< double > &matShape)
virtual const CResult MultiplyElementwise(const CMatrix< Ty > &matrix, CMatrix< Ty > *pTargetMatrix) const
CMatrix< Ty > operator+(const int32_t &i32Param) const
static const CResult Where(const CMatrix< Ty > *pMatCondition, Ty tTrue, const CMatrix< Ty > *pMatFalse, CMatrix< Ty > *pMatResult)
CMatrix< Ty > operator/(const CMatrix< Ty > &cMat) const
virtual const CMatrix< Ty > & operator=(const CMatrix< double > &matrix)
CMatrix< Ty > operator+(const int64_t &i64Param) const
virtual const CResult Subtract(const CMatrix< Ty > *pMatrix, CMatrix< Ty > *pTargetMatrix) const
virtual int64_t GetElementCount() const
virtual const CMatrix< Ty > & operator%=(const double &f64Param)
virtual const CResult OnesLike(const CMatrix< float > *pMatShape)
virtual const CResult Load(const Base::CFLString< wchar_t > *pStrFilePath)
virtual const CResult FullLike(const CMatrix< float > &matShape, Ty tFillValue)
virtual const CResult SetDiagonal(Ty tVal, CMatrix< Ty > *pTargetMatrix) const
virtual const CResult PseudoInverse(CMatrix< Ty > *pTargetMatrix) const
virtual const CResult VStack(const CMatrix< Ty > &matInput, CMatrix< Ty > *pMatResult=nullptr)
virtual Ty ** GetYCache() const
static const CResult Where(const CMatrix< Ty > *pMatCondition, const CMatrix< Ty > *pMatTrue, const CMatrix< Ty > *pMatFalse, CMatrix< Ty > *pMatResult)
virtual const CMatrix< Ty > & operator-=(const CMatrix< Ty > &cMat)
virtual const CMatrix< Ty > & operator*=(const int64_t &i64Param)
static const CResult Where(const CMatrix< Ty > &matCondition, Ty tTrue, Ty tFalse, CMatrix< Ty > *pMatResult)
virtual const CResult ArgSort(CMatrix< Ty > *pMatResultIndex=nullptr, EMatrixSortOrder eOrder=EMatrixSortOrder_Ascending, EMatrixAxis eAxis=EMatrixAxis_Column)
virtual const CResult QR(CMatrix< Ty > *pMatrixQ, CMatrix< Ty > *pMatrixR) const
virtual const CResult Add(const CMatrix< Ty > *pMatrix)
virtual const CResult ArgMax(int64_t &i64ResultRow, int64_t &i64ResultColumn) const
CMatrix< Ty > operator/(const int64_t &i64Param) const
virtual const CResult Subtract(const CMatrix< Ty > *pMatrix)
virtual const CResult HStack(const CMatrix< Ty > *pMatInput, CMatrix< Ty > *pMatResult=nullptr)
CMatrix< Ty > operator-(const int32_t &i32Param) const
virtual const CResult Full(int64_t i64Row, int64_t i64Column, Ty tFillValue)
CMatrix(const CMatrix< Ty > *pMatrix)
virtual const CResult Create(const CMatrix< double > *pMatShape, Ty tFillValue=0)
virtual const CResult Transpose()
virtual const CResult Swap(CMatrix< Ty > &matRight)
static const CResult Where(const CMatrix< Ty > &matCondition, const CMatrix< Ty > &matTrue, const CMatrix< Ty > &matFalse, CMatrix< Ty > *pMatResult)
virtual Ty * GetBuffer() const
virtual const CResult Mean(CMatrix< Ty > *pMatResult, EMatrixAxis eAxis) const
static const CResult Solve(CMatrix< Ty > *pMatA, CMatrix< Ty > *pMatB, CMatrix< Ty > *pMatRes)
virtual const CMatrix< Ty > & operator*=(const CMatrix< Ty > &cMat)
virtual const CResult Std(CMatrix< Ty > *pMatResult, EMatrixAxis eAxis) const
virtual const CResult Multiply(const double &f64Scalar)
virtual const CMatrix< Ty > & operator*=(const double &f64Param)
virtual CMatrix< Ty > T() const
virtual const CResult FillRandom(Ty tRangeMin, Ty tRangeMax)
virtual const CMatrix< Ty > & operator+=(const CMatrix< Ty > &cMat)
static const CResult GetSimilarity(const Base::CFLArray< Ty > *pFlaSrcX, const Base::CFLArray< Ty > *pFlaSrcY, const Base::CFLArray< Ty > *pFlaDstX, const Base::CFLArray< Ty > *pFlaDstY, CMatrix< Ty > *pMatResult)
virtual const CResult Dot(const CMatrix< Ty > *pMatInput)
virtual const CResult ArgMin(Base::CFLArray< int64_t > &flaResultIndex, EMatrixAxis eAxis) const
virtual const CResult LoadCSV(const Base::CFLString< wchar_t > *pStrFilePath)
CMatrix< Ty > operator*(const double &f64Param) const
static const CResult Where(const CMatrix< Ty > &matCondition, Ty tTrue, Ty tFalse, CMatrix< Ty > &matResult)
virtual const CResult Any(EMatrixAxis eAxis, CMatrix< Ty > *pMatResult) const
virtual const CResult GetRange(Base::CFLArray< Base::CFLArray< Ty > > *pMatResult, int64_t i64StartRow=-1, int64_t i64StartColumn=-1, int64_t i64EndRow=-1, int64_t i64EndColumn=-1) const
virtual const CResult Create(const CMatrix< float > &matShape, Ty tFillValue=0)
virtual const CResult Sum(CMatrix< Ty > &matResult, EMatrixAxis eAxis) const
virtual const CResult Log()
virtual const CResult SetValue(int64_t i64Row, int64_t i64Column, Ty value)
virtual const CResult GetRangeRef(CMatrix< Ty > *pMatResult, int64_t i64StartRow=-1, int64_t i64StartColumn=-1, int64_t i64EndRow=-1, int64_t i64EndColumn=-1) const
virtual const CMatrix< Ty > & operator*=(const int32_t &i32Param)
virtual const CMatrix< Ty > & operator+=(const float &f32Param)
virtual const CResult Max(CMatrix< Ty > &matResult, EMatrixAxis eAxis) const
virtual const CResult OnesLike(const CMatrix< double > *pMatShape)
virtual const CResult Any(EMatrixAxis eAxis, CMatrix< Ty > &matResult) const
virtual int64_t GetColumn() const
virtual const CResult SaveCSV(const Base::CFLString< wchar_t > &strFilePath) const
virtual const CResult CrossProduct(const CMatrix< Ty > &matrixSource2, CMatrix< Ty > *pMatrixDestination) const
virtual const CResult Radians()
virtual const CResult FillLinear(Ty tRangeStart, Ty tRangeEnd)
virtual bool IsValid() const override
static const CResult SolveLU(CMatrix< Ty > *pMatL, CMatrix< Ty > *pMatU, CMatrix< Ty > *pMatB, CMatrix< Ty > *pMatRes)
virtual const CResult Unique(CMatrix< Ty > &matResult) const
virtual const CResult OnesLike(const CMatrix< float > &matShape)
virtual const CMatrix< Ty > & operator*=(const float &f32Param)
static const CResult GetSimilarity(const Base::CFLArray< Base::TPoint< Ty > > &flaSrcPoints, const Base::CFLArray< Base::TPoint< Ty > > &flaDstPoints, CMatrix< Ty > *pMatResult)
virtual const CResult Subtract(const CMatrix< Ty > &matrix, CMatrix< Ty > *pTargetMatrix) const
virtual const CResult Invert(CMatrix< Ty > *pTargetMatrix) const
virtual const CResult Clip(Ty tMin, Ty tMax)
static const CResult Where(const CMatrix< Ty > *pMatCondition, Ty tTrue, const CMatrix< Ty > *pMatFalse, CMatrix< Ty > &matResult)
static const CResult Where(const CMatrix< Ty > &matCondition, const CMatrix< Ty > &matTrue, Ty tFalse, CMatrix< Ty > &matResult)
virtual const CResult Assign(const CMatrix< double > &matrix)
virtual const CResult ArgMin(int64_t &i64ResultRow, int64_t &i64ResultColumn) const
virtual const CResult Multiply(const int32_t &i32Scalar)
virtual const CResult Cos()
virtual const CResult Create(int64_t i64Row, int64_t i64Column, bool bFillZero=true)
virtual const CResult Unit()
virtual double Determinant() const
static const CResult ConjugateGradient(const CMatrix< Ty > *pMatA, const CMatrix< Ty > *pMatB, CMatrix< Ty > *pMatRes, bool bSparseMatrix=false, double f64Tolerance=1e-5, int64_t i64MaxIteratorCount=10000)
CMatrix< Ty > operator/(const int32_t &i32Param) const
virtual const CResult Invert()
CMatrix< Ty > operator/(const float &f32Param) const
virtual const CResult Multiply(const CMatrix< Ty > &matrix, CMatrix< Ty > *pTargetMatrix) const
virtual EAccuracy GetOperationAccuracy()
virtual int64_t GetTotalSizeByte() const
virtual int64_t GetRow() const
virtual CMatrix< Ty > P() const
virtual const CResult ZerosLike(const CMatrix< double > *pMatShape)
virtual const CResult Sum(CMatrix< Ty > *pMatResult, EMatrixAxis eAxis) const
virtual const CResult Diff(CMatrix< Ty > &matResult, EMatrixAxis eAxis=EMatrixAxis_Column, int64_t i64Depth=1) const
virtual const CMatrix< Ty > & operator=(const Base::CFLArray< Base::CFLArray< Ty > > &fla2Matrix)
virtual const CResult Multiply(const float &f32Scalar)
static const CResult Where(const CMatrix< Ty > *pMatCondition, Ty tTrue, Ty tFalse, CMatrix< Ty > &matResult)
virtual const CMatrix< Ty > & operator-=(const int64_t &i64Param)
virtual const CResult Save(const Base::CFLString< wchar_t > *pStrFilePath) const
virtual const CResult Tan()
virtual bool operator!=(const CMatrix< Ty > &cMat) const
virtual EMatrixTemplateType GetTemplateType() const
virtual const CMatrix< Ty > & operator+=(const double &f64Param)
CMatrix< Ty > operator==(const double &f64Param) const
virtual const CResult Add(const CMatrix< Ty > &matrix, CMatrix< Ty > *pTargetMatrix) const
CMatrix< Ty > operator*(const int64_t &i64Param) const
virtual const CResult ReduceMax(const EMatrixReduceType eReduceType, CMatrix< Ty > *pMatResult) const
static const CResult GetSimilarity(const Base::CFLArray< Base::TPoint< Ty > > *pFlaSrcPoints, const Base::CFLArray< Base::TPoint< Ty > > *pFlaDstPoints, CMatrix< Ty > *pMatResult)
virtual const CResult Ceil()
virtual bool operator==(const CMatrix< Ty > &cMat) const
virtual const CResult Unique(CMatrix< Ty > &matResult, EMatrixAxis eAxis) const
static const CResult Where(const CMatrix< Ty > &matCondition, Ty tTrue, const CMatrix< Ty > &matFalse, CMatrix< Ty > &matResult)
virtual bool CheckRange(Ty tMin, Ty tMax) const
CMatrix(int64_t i64Row, int64_t i64Column)
virtual const CResult ArgMin(Base::CFLArray< int64_t > *pFlaResultIndex, EMatrixAxis eAxis) const
virtual const CResult VStack(const CMatrix< Ty > *pMatInput, CMatrix< Ty > *pMatResult=nullptr)
virtual const CResult Unit(CMatrix< Ty > *pTargetMatrix) const
virtual const CResult Prod(Base::CFLArray< double > &flaResult, EMatrixAxis eAxis) const
virtual int64_t GetColumnSizeByte() const
virtual const CResult Add(const CMatrix< Ty > *pMatrix, CMatrix< Ty > *pTargetMatrix) const
virtual const CResult FullLike(const CMatrix< double > *pMatShape, Ty tFillValue)
CMatrix< Ty > operator-(const float &f32Param) const
CMatrix< Ty > operator+(const CMatrix< Ty > &cMat) const
virtual const CResult Unique(CMatrix< Ty > *pMatResult) const
virtual const CResult Create(const CMatrix< float > *pMatShape, Ty tFillValue=0)
virtual const CMatrix< Ty > & operator/=(const double &f64Param)
virtual const CMatrix< Ty > & operator-=(const double &f64Param)
virtual const CMatrix< Ty > & operator/=(const int32_t &i32Param)
virtual const CResult Mean(CMatrix< Ty > &matResult, EMatrixAxis eAxis) const
virtual const CResult Max(CMatrix< Ty > *pMatResult, EMatrixAxis eAxis) const
virtual Ty * operator[](int64_t i64Index)
virtual const CResult ReduceSum(const EMatrixReduceType eReduceType, CMatrix< Ty > *pMatResult) const
virtual Ty GetNorm(const Ty tP=2) const
virtual const CResult Load(const Base::CFLString< wchar_t > &strFilePath)
virtual const CResult FullLike(const CMatrix< float > *pMatShape, Ty tFillValue)
static const CResult SolveLUP(CMatrix< Ty > *pMatP, CMatrix< Ty > *pMatL, CMatrix< Ty > *pMatU, CMatrix< Ty > *pMatB, CMatrix< Ty > *pMatRes)
CMatrix< Ty > operator*(const int32_t &i32Param) const
virtual const CResult Hessenberg(CMatrix< Ty > *pMatrixH, CMatrix< Ty > *pMatrixP=nullptr) const
virtual const CResult Assign(Ty *pArr2Mat, int64_t i64Row, int64_t i64Column)
EMatrixTemplateType
matrix data datatype type
Definition Matrix.h:28
@ EMatrixTemplateType_Double
Definition Matrix.h:39
@ EMatrixTemplateType_Float
Definition Matrix.h:33
EAccuracy
Accuracy.
Definition DefinitionsMathematics.h:144
EMatrixReduceType
matrix dimension reduction direction type
Definition Matrix.h:51
@ EMatrixReduceType_Both
Definition Matrix.h:56
@ EMatrixReduceType_Column
Definition Matrix.h:66
@ EMatrixReduceType_Row
Definition Matrix.h:61
EMatrixAxis
Definition DefinitionsMathematics.h:407
EMatrixSortOrder
Definition DefinitionsMathematics.h:429