Search Results
CubbyFlow::MatrixMul< T, Rows, Cols, M1, M2 > Class Template Reference
#include <Core/Matrix/MatrixExpression.hpp>
Inheritance diagram for CubbyFlow::MatrixMul< T, Rows, Cols, M1, M2 >:

Public Member Functions | |
constexpr MatrixMul (const M1 &mat1, const M2 &mat2) | |
constexpr size_t GetRows () const | |
constexpr size_t GetCols () const | |
T operator() (size_t i, size_t j) const | |
![]() | |
constexpr size_t GetRows () const | |
Returns the number of rows. More... | |
constexpr size_t GetCols () const | |
Returns the number of columns. More... | |
T Eval (size_t i, size_t j) const | |
Returns the evaluated value for (i, j). More... | |
Matrix< T, Rows, Cols > Eval () const | |
bool IsSimilar (const MatrixExpression< T, R, C, E > &m, double tol=std::numeric_limits< double >::epsilon()) const | |
constexpr bool IsSquare () const | |
Returns true if this matrix is a square matrix. More... | |
ValueType Sum () const | |
ValueType Avg () const | |
ValueType Min () const | |
ValueType Max () const | |
ValueType AbsMin () const | |
ValueType AbsMax () const | |
ValueType Trace () const | |
ValueType Determinant () const | |
std::enable_if_t<(Rows > 4 &&Cols > 4)||IsMatrixSizeDynamic< Rows, Cols >), U > Determinant (const MatrixExpression &m) | |
size_t DominantAxis () const | |
size_t SubdominantAxis () const | |
ValueType Norm () const | |
ValueType NormSquared () const | |
ValueType FrobeniusNorm () const | |
ValueType Length () const | |
ValueType LengthSquared () const | |
ValueType DistanceTo (const MatrixExpression< T, R, C, E > &other) const | |
Returns the distance to the other vector. More... | |
T DistanceTo (const MatrixExpression< T, R, C, E > &other) const | |
ValueType DistanceSquaredTo (const MatrixExpression< T, R, C, E > &other) const | |
Returns the squared distance to the other vector. More... | |
T DistanceSquaredTo (const MatrixExpression< T, R, C, E > &other) const | |
MatrixScalarElemWiseBinaryOp< T, Rows, Cols, const MatrixMul< T, Rows, Cols, M1, M2 > &, std::divides< T > > Normalized () const | |
MatrixDiagonal< T, Rows, Cols, const MatrixMul< T, Rows, Cols, M1, M2 > &> Diagonal () const | |
Returns diagonal part of this matrix. More... | |
MatrixOffDiagonal< T, Rows, Cols, const MatrixMul< T, Rows, Cols, M1, M2 > &> OffDiagonal () const | |
Returns off-diagonal part of this matrix. More... | |
MatrixTri< T, Rows, Cols, const MatrixMul< T, Rows, Cols, M1, M2 > &> StrictLowerTri () const | |
Returns strictly lower triangle part of this matrix. More... | |
MatrixTri< T, Rows, Cols, const MatrixMul< T, Rows, Cols, M1, M2 > &> StrictUpperTri () const | |
Returns strictly upper triangle part of this matrix. More... | |
MatrixTri< T, Rows, Cols, const MatrixMul< T, Rows, Cols, M1, M2 > &> LowerTri () const | |
Returns lower triangle part of this matrix (including the diagonal). More... | |
MatrixTri< T, Rows, Cols, const MatrixMul< T, Rows, Cols, M1, M2 > &> UpperTri () const | |
Returns upper triangle part of this matrix (including the diagonal). More... | |
MatrixTranspose< T, Rows, Cols, const MatrixMul< T, Rows, Cols, M1, M2 > &> Transposed () const | |
Matrix< T, Rows, Cols > Inverse () const | |
Returns inverse matrix. More... | |
void Inverse (const MatrixExpression< T, Rows, Cols, MatrixMul< T, Rows, Cols, M1, M2 > > &m, std::enable_if_t<(Rows > 4 &&Cols > 4)||IsMatrixSizeDynamic< Rows, Cols >(), M > &result) | |
MatrixUnaryOp< U, Rows, Cols, const MatrixMul< T, Rows, Cols, M1, M2 > &, TypeCast< T, U > > CastTo () const | |
MatrixTypeCast< T, Rows, Cols, U, const D &> CastTo () const | |
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||Cols==1) &&(IsMatrixSizeDynamic< R, C >)||C==1), U > Dot (const MatrixExpression< T, R, C, E > &expression) const | |
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||(Rows==2 &&Cols==1)) &&(IsMatrixSizeDynamic< R, C >)||(R==2 &&C==1)), U > Cross (const MatrixExpression< T, R, C, E > &expression) const | |
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||(Rows==3 &&Cols==1)) &&(IsMatrixSizeDynamic< R, C >)||(R==3 &&C==1)), Matrix< U, 3, 1 > > Cross (const MatrixExpression< T, R, C, E > &expression) const | |
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||((Rows==2||Rows==3) &&Cols==1)) &&(IsMatrixSizeDynamic< R, C >)||((R==2||R==3) &&C==1)), Matrix< U, Rows, 1 > > Reflected (const MatrixExpression< T, R, C, E > &normal) const | |
Returns the reflection vector to the surface with given surface normal. More... | |
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||((Rows==2||Rows==3) &&Cols==1)) &&(IsMatrixSizeDynamic< R, C >)||((R==2||R==3) &&C==1)), Matrix< U, Rows, 1 > > Projected (const MatrixExpression< T, R, C, E > &normal) const | |
Returns the projected vector to the surface with given surface normal. More... | |
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||(Rows==2 &&Cols==1)), Matrix< U, 2, 1 > > Tangential () const | |
Returns the tangential vector for this vector. More... | |
std::enable_if_t<(IsMatrixSizeDynamic< Rows, Cols >)||(Rows==3 &&Cols==1)), std::tuple< Matrix< U, 3, 1 >, Matrix< U, 3, 1 > > > Tangentials () const | |
Returns the tangential vectors for this vector. More... | |
MatrixMul< T, Rows, Cols, M1, M2 > & GetDerived () | |
Returns actual implementation (the subclass). More... | |
const MatrixMul< T, Rows, Cols, M1, M2 > & GetDerived () const | |
Returns actual implementation (the subclass). More... | |
Additional Inherited Members | |
![]() | |
using ValueType = T | |
![]() | |
MatrixExpression ()=default | |
![]() | |
static constexpr T Determinant (const MatrixExpression< T, 1, 1, MatrixMul< T, Rows, Cols, M1, M2 > > &m) | |
static constexpr T Determinant (const MatrixExpression< T, 2, 2, MatrixMul< T, Rows, Cols, M1, M2 > > &m) | |
static constexpr T Determinant (const MatrixExpression< T, 3, 3, MatrixMul< T, Rows, Cols, M1, M2 > > &m) | |
static constexpr T Determinant (const MatrixExpression< T, 4, 4, MatrixMul< T, Rows, Cols, M1, M2 > > &m) | |
static std::enable_if_t<(Rows > 4 &&Cols > 4)||IsMatrixSizeDynamic< Rows, Cols >), U > Determinant (const MatrixExpression< T, Rows, Cols, MatrixMul< T, Rows, Cols, M1, M2 > > &m) | |
static void Inverse (const MatrixExpression< T, 1, 1, MatrixMul< T, Rows, Cols, M1, M2 > > &m, Matrix< T, Rows, Cols > &result) | |
static void Inverse (const MatrixExpression< T, 2, 2, MatrixMul< T, Rows, Cols, M1, M2 > > &m, Matrix< T, Rows, Cols > &result) | |
static void Inverse (const MatrixExpression< T, 3, 3, MatrixMul< T, Rows, Cols, M1, M2 > > &m, Matrix< T, Rows, Cols > &result) | |
static void Inverse (const MatrixExpression< T, 4, 4, MatrixMul< T, Rows, Cols, M1, M2 > > &m, Matrix< T, Rows, Cols > &result) | |
static void Inverse (const MatrixExpression &m, std::enable_if_t<(Rows > 4 &&Cols > 4)||IsMatrixSizeDynamic< Rows, Cols >(), M > &result) | |
Constructor & Destructor Documentation
◆ MatrixMul()
template<typename T , size_t Rows, size_t Cols, typename M1 , typename M2 >
|
inline |
Member Function Documentation
◆ GetCols()
template<typename T , size_t Rows, size_t Cols, typename M1 , typename M2 >
constexpr size_t CubbyFlow::MatrixMul< T, Rows, Cols, M1, M2 >::GetCols | ( | ) | const |
◆ GetRows()
template<typename T , size_t Rows, size_t Cols, typename M1 , typename M2 >
constexpr size_t CubbyFlow::MatrixMul< T, Rows, Cols, M1, M2 >::GetRows | ( | ) | const |
◆ operator()()
template<typename T , size_t Rows, size_t Cols, typename M1 , typename M2 >
T CubbyFlow::MatrixMul< T, Rows, Cols, M1, M2 >::operator() | ( | size_t | i, |
size_t | j | ||
) | const |
The documentation for this class was generated from the following files:
- Core/Matrix/MatrixExpression.hpp
- Core/Matrix/MatrixExpression-Impl.hpp