MatrixExpression.h File Reference

Go to the source code of this file.

Classes

class  CubbyFlow::MatrixExpression< T, E >
 Base class for matrix expression. More...
 
class  CubbyFlow::MatrixConstant< T >
 Constant matrix expression. More...
 
class  CubbyFlow::MatrixIdentity< T >
 Identity matrix expression. More...
 
class  CubbyFlow::MatrixUnaryOp< T, E, Op >
 Matrix expression for unary operation. More...
 
class  CubbyFlow::MatrixDiagonal< T, E >
 Diagonal matrix expression. More...
 
class  CubbyFlow::MatrixTriangular< T, E >
 Triangular matrix expression. More...
 
class  CubbyFlow::MatrixBinaryOp< T, E1, E2, Op >
 Matrix expression for binary operation. More...
 
class  CubbyFlow::MatrixScalarBinaryOp< T, E, Op >
 Matrix expression for matrix-scalar binary operation. More...
 
class  CubbyFlow::MatrixVectorMul< T, ME, VE >
 Vector expression for matrix-vector multiplication. More...
 
class  CubbyFlow::MatrixMul< T, E1, E2 >
 Matrix expression for matrix-matrix multiplication. More...
 

Namespaces

 CubbyFlow
 

Typedefs

template<typename T , typename E , typename U >
using CubbyFlow::MatrixTypeCast = MatrixUnaryOp< T, E, TypeCast< U, T > >
 Matrix expression for type casting. More...
 
template<typename T , typename E1 , typename E2 >
using CubbyFlow::MatrixAdd = MatrixBinaryOp< T, E1, E2, std::plus< T > >
 Matrix-matrix addition expression. More...
 
template<typename T , typename E >
using CubbyFlow::MatrixScalarAdd = MatrixScalarBinaryOp< T, E, std::plus< T > >
 Matrix-scalar addition expression. More...
 
template<typename T , typename E1 , typename E2 >
using CubbyFlow::MatrixSub = MatrixBinaryOp< T, E1, E2, std::minus< T > >
 Matrix-matrix subtraction expression. More...
 
template<typename T , typename E >
using CubbyFlow::MatrixScalarSub = MatrixScalarBinaryOp< T, E, std::minus< T > >
 Matrix-scalar subtraction expression. More...
 
template<typename T , typename E >
using CubbyFlow::MatrixScalarRSub = MatrixScalarBinaryOp< T, E, RMinus< T > >
 Matrix-matrix subtraction expression with inversed order. More...
 
template<typename T , typename E >
using CubbyFlow::MatrixScalarMul = MatrixScalarBinaryOp< T, E, std::multiplies< T > >
 Matrix-scalar multiplication expression. More...
 
template<typename T , typename E >
using CubbyFlow::MatrixScalarDiv = MatrixScalarBinaryOp< T, E, std::divides< T > >
 Matrix-scalar division expression. More...
 
template<typename T , typename E >
using CubbyFlow::MatrixScalarRDiv = MatrixScalarBinaryOp< T, E, RDivides< T > >
 Matrix-scalar division expression with inversed order. More...
 

Functions

template<typename T , typename E >
MatrixScalarMul< T, E > CubbyFlow::operator- (const MatrixExpression< T, E > &a)
 Returns a matrix with opposite sign. More...
 
template<typename T , typename E1 , typename E2 >
MatrixAdd< T, E1, E2 > CubbyFlow::operator+ (const MatrixExpression< T, E1 > &a, const MatrixExpression< T, E2 > &b)
 Returns a + b (element-size). More...
 
template<typename T , typename E >
MatrixScalarAdd< T, E > CubbyFlow::operator+ (const MatrixExpression< T, E > &a, T b)
 Returns a + b', where every element of matrix b' is b. More...
 
template<typename T , typename E >
MatrixScalarAdd< T, E > CubbyFlow::operator+ (T a, const MatrixExpression< T, E > &b)
 Returns a' + b, where every element of matrix a' is a. More...
 
template<typename T , typename E1 , typename E2 >
MatrixSub< T, E1, E2 > CubbyFlow::operator- (const MatrixExpression< T, E1 > &a, const MatrixExpression< T, E2 > &b)
 Returns a - b (element-size). More...
 
template<typename T , typename E >
MatrixScalarSub< T, E > CubbyFlow::operator- (const MatrixExpression< T, E > &a, T b)
 Returns a - b', where every element of matrix b' is b. More...
 
template<typename T , typename E >
MatrixScalarRSub< T, E > CubbyFlow::operator- (T a, const MatrixExpression< T, E > &b)
 Returns a' - b, where every element of matrix a' is a. More...
 
template<typename T , typename E >
MatrixScalarMul< T, E > CubbyFlow::operator* (const MatrixExpression< T, E > &a, T b)
 Returns a * b', where every element of matrix b' is b. More...
 
template<typename T , typename E >
MatrixScalarMul< T, E > CubbyFlow::operator* (T a, const MatrixExpression< T, E > &b)
 Returns a' * b, where every element of matrix a' is a. More...
 
template<typename T , typename ME , typename VE >
MatrixVectorMul< T, ME, VE > CubbyFlow::operator* (const MatrixExpression< T, ME > &a, const VectorExpression< T, VE > &b)
 Returns a * b. More...
 
template<typename T , typename E1 , typename E2 >
MatrixMul< T, E1, E2 > CubbyFlow::operator* (const MatrixExpression< T, E1 > &a, const MatrixExpression< T, E2 > &b)
 Returns a * b. More...
 
template<typename T , typename E >
MatrixScalarDiv< T, E > CubbyFlow::operator/ (const MatrixExpression< T, E > &a, T b)
 Returns a' / b, where every element of matrix a' is a. More...
 
template<typename T , typename E >
MatrixScalarRDiv< T, E > CubbyFlow::operator/ (T a, const MatrixExpression< T, E > &b)
 Returns a / b', where every element of matrix b' is b. More...