Matrix-Impl.hpp File Reference
#include <Core/Utils/Functors.hpp>
#include <numeric>

Go to the source code of this file.

Classes

struct  CubbyFlow::Internal::DotProduct< M1, M2, J >
 
struct  CubbyFlow::Internal::DotProduct< M1, M2, 0 >
 
struct  CubbyFlow::Internal::Reduce< T, Rows, Cols, ReduceOperation, UnaryOperation, I >
 
struct  CubbyFlow::Internal::Reduce< T, Rows, Cols, ReduceOperation, UnaryOperation, 0 >
 
struct  CubbyFlow::Internal::FoldWithAnd< T, Rows, Cols, BinaryOperation, I >
 
struct  CubbyFlow::Internal::FoldWithAnd< T, Rows, Cols, BinaryOperation, 0 >
 

Namespaces

 CubbyFlow
 
 CubbyFlow::Internal
 

Functions

template<typename T , size_t R1, size_t C1, size_t R2, size_t C2, typename M2 >
void CubbyFlow::operator+= (Matrix< T, R1, C1 > &a, const MatrixExpression< T, R2, C2, M2 > &b)
 
template<typename T , size_t Rows, size_t Cols>
void CubbyFlow::operator+= (Matrix< T, Rows, Cols > &a, const T &b)
 
template<typename T , size_t R1, size_t C1, size_t R2, size_t C2, typename M2 >
void CubbyFlow::operator-= (Matrix< T, R1, C1 > &a, const MatrixExpression< T, R2, C2, M2 > &b)
 
template<typename T , size_t Rows, size_t Cols>
void CubbyFlow::operator-= (Matrix< T, Rows, Cols > &a, const T &b)
 
template<typename T , size_t R1, size_t C1, size_t R2, size_t C2, typename M2 >
void CubbyFlow::operator*= (Matrix< T, R1, C1 > &a, const MatrixExpression< T, R2, C2, M2 > &b)
 
template<typename T , size_t R1, size_t C1, size_t R2, size_t C2, typename M2 >
void CubbyFlow::ElemIMul (Matrix< T, R1, C1 > &a, const MatrixExpression< T, R2, C2, M2 > &b)
 
template<typename T , size_t Rows, size_t Cols>
void CubbyFlow::operator*= (Matrix< T, Rows, Cols > &a, const T &b)
 
template<typename T , size_t R1, size_t C1, size_t R2, size_t C2, typename M2 >
void CubbyFlow::ElemIDiv (Matrix< T, R1, C1 > &a, const MatrixExpression< T, R2, C2, M2 > &b)
 
template<typename T , size_t Rows, size_t Cols>
void CubbyFlow::operator/= (Matrix< T, Rows, Cols > &a, const T &b)
 
template<typename T , size_t Rows, size_t Cols, typename M1 , typename M2 >
constexpr std::enable_if_t< IsMatrixSizeStatic< Rows, Cols >), bool > CubbyFlow::operator== (const MatrixExpression< T, Rows, Cols, M1 > &a, const MatrixExpression< T, Rows, Cols, M2 > &b)
 
template<typename T , size_t R1, size_t C1, size_t R2, size_t C2, typename M1 , typename M2 >
bool CubbyFlow::operator== (const MatrixExpression< T, R1, C1, M1 > &a, const MatrixExpression< T, R2, C2, M2 > &b)
 
template<typename T , size_t R1, size_t C1, size_t R2, size_t C2, typename M1 , typename M2 >
bool CubbyFlow::operator!= (const MatrixExpression< T, R1, C1, M1 > &a, const MatrixExpression< T, R2, C2, M2 > &b)
 
template<typename T , size_t Rows, size_t Cols, typename M1 , typename BinaryOperation >
constexpr std::enable_if_t< TraitIsMatrixSizeStatic< Rows, Cols >::value, T > CubbyFlow::Accumulate (const MatrixExpression< T, Rows, Cols, M1 > &a, const T &init, BinaryOperation op)
 
template<typename T , size_t Rows, size_t Cols, typename M1 >
constexpr std::enable_if_t< TraitIsMatrixSizeStatic< Rows, Cols >::value, T > CubbyFlow::Accumulate (const MatrixExpression< T, Rows, Cols, M1 > &a, const T &init)
 
template<typename T , size_t Rows, size_t Cols, typename M1 >
constexpr std::enable_if_t< TraitIsMatrixSizeStatic< Rows, Cols >::value, T > CubbyFlow::Accumulate (const MatrixExpression< T, Rows, Cols, M1 > &a)
 
template<typename T , size_t Rows, size_t Cols, typename M1 , typename BinaryOperation >
constexpr std::enable_if_t< TraitIsMatrixSizeDynamic< Rows, Cols >::value, T > CubbyFlow::Accumulate (const MatrixExpression< T, Rows, Cols, M1 > &a, const T &init, BinaryOperation op)
 
template<typename T , size_t Rows, size_t Cols, typename M1 >
constexpr std::enable_if_t< TraitIsMatrixSizeDynamic< Rows, Cols >::value, T > CubbyFlow::Accumulate (const MatrixExpression< T, Rows, Cols, M1 > &a, const T &init)
 
template<typename T , size_t Rows, size_t Cols, typename M1 >
constexpr std::enable_if_t< TraitIsMatrixSizeDynamic< Rows, Cols >::value, T > CubbyFlow::Accumulate (const MatrixExpression< T, Rows, Cols, M1 > &a)
 
template<typename T , size_t Rows, size_t Cols, typename M1 >
constexpr T CubbyFlow::Product (const MatrixExpression< T, Rows, Cols, M1 > &a, const T &init)
 
template<typename T , size_t Rows, size_t Cols, typename M1 , typename M2 , typename M3 , typename M4 >
std::enable_if_t< IsMatrixSizeStatic< Rows, Cols >), Matrix< T, Rows, Cols > > CubbyFlow::MonotonicCatmullRom (const MatrixExpression< T, Rows, Cols, M1 > &f0, const MatrixExpression< T, Rows, Cols, M2 > &f1, const MatrixExpression< T, Rows, Cols, M3 > &f2, const MatrixExpression< T, Rows, Cols, M4 > &f3, T f)