|
Tiny Vector Matrix library using Expression Templates | Sourceforge Project Page |
The namespace for the Tiny Vector Matrix using Expression Templates Libary. More...
Namespaces | |
namespace | element_wise |
Operators inside this namespace does elementwise operations. | |
namespace | loop |
Loop stuff inside here. | |
namespace | meta |
Meta stuff inside here. | |
namespace | util |
Miscellaneous utility functions used. | |
Classes | |
class | AliasProxy |
Assign proxy for alias Matrices and Vectors. More... | |
class | Fcnl_assign |
Binary operator for assign operations. More... | |
class | Fcnl_add_eq |
class | Fcnl_sub_eq |
class | Fcnl_mul_eq |
class | Fcnl_div_eq |
class | Fcnl_mod_eq |
class | Fcnl_xor_eq |
class | Fcnl_and_eq |
class | Fcnl_or_eq |
class | Fcnl_shl_eq |
class | Fcnl_shr_eq |
class | Fcnl_add |
class | Fcnl_sub |
class | Fcnl_mul |
class | Fcnl_div |
class | Fcnl_mod |
class | Fcnl_bitxor |
class | Fcnl_bitand |
class | Fcnl_bitor |
class | Fcnl_shl |
class | Fcnl_shr |
class | Fcnl_greater |
class | Fcnl_less |
class | Fcnl_greater_eq |
class | Fcnl_less_eq |
class | Fcnl_eq |
class | Fcnl_not_eq |
class | Fcnl_and |
class | Fcnl_or |
class | Fcnl_atan2 |
class | Fcnl_fmod |
class | Fcnl_pow |
class | Fcnl_drem |
class | Fcnl_hypot |
class | Fcnl_jn |
class | Fcnl_yn |
class | Fcnl_polar |
Functional for polar. More... | |
struct | Fcnl_polar< T, T > |
class | Fcnl_swap |
Binary operator for swapping values using temporaries. More... | |
class | CommaInitializer |
Initialize classes using a comma separated lists. More... | |
struct | CompileTimeError< true > |
class | matrix_tag |
For use with Extremum to simplify max handling. More... | |
class | vector_tag |
For use with Extremum to simplify max handling. More... | |
class | Extremum |
Generell class for storing extremums determined by min/max. More... | |
class | Extremum< T1, T2, vector_tag > |
class | Extremum< T1, T2, matrix_tag > |
class | Functional |
Base class for all binary und unary functionals. More... | |
class | BinaryFunctional |
Base class for all binary functions. More... | |
class | UnaryFunctional |
Base class for all unary functions. More... | |
class | IoPrintHelper |
Determines the number of digits regarding the sign of the container. More... | |
class | MatrixConstReference |
value iterator for ET More... | |
class | Matrix |
A tiny matrix class. More... | |
class | NumericTraits |
Traits for integral types for operations. More... | |
struct | NumericTraits< char > |
struct | NumericTraits< unsigned char > |
struct | NumericTraits< short int > |
struct | NumericTraits< short unsigned int > |
struct | NumericTraits< int > |
struct | NumericTraits< unsigned int > |
struct | NumericTraits< long > |
struct | NumericTraits< unsigned long > |
struct | NumericTraits< float > |
struct | NumericTraits< double > |
struct | NumericTraits< long double > |
struct | NumericTraits< std::complex< int > > |
struct | NumericTraits< std::complex< unsigned int > > |
struct | NumericTraits< std::complex< long > > |
struct | NumericTraits< std::complex< unsigned long > > |
struct | NumericTraits< std::complex< float > > |
struct | NumericTraits< std::complex< double > > |
struct | NumericTraits< std::complex< long double > > |
class | TvmetBase |
Base class Used for static polymorph call of print_xpr. More... | |
class | IndentLevel |
Prints the level indent. More... | |
struct | dispatch< true > |
struct | dispatch< false > |
class | PrecisionTraits |
Declaring ranks of types to avoid specializing. More... | |
struct | PrecisionTraits< int > |
struct | PrecisionTraits< unsigned int > |
struct | PrecisionTraits< long > |
struct | PrecisionTraits< unsigned long > |
struct | PrecisionTraits< float > |
struct | PrecisionTraits< double > |
struct | PrecisionTraits< long double > |
struct | PrecisionTraits< std::complex< int > > |
struct | PrecisionTraits< std::complex< unsigned int > > |
struct | PrecisionTraits< std::complex< long > > |
struct | PrecisionTraits< std::complex< unsigned long > > |
struct | PrecisionTraits< std::complex< float > > |
struct | PrecisionTraits< std::complex< double > > |
struct | PrecisionTraits< std::complex< long double > > |
class | AutopromoteTraits |
The promoted types traits. More... | |
struct | AutopromoteTraits< bool > |
struct | AutopromoteTraits< char > |
struct | AutopromoteTraits< unsigned char > |
struct | AutopromoteTraits< short int > |
struct | AutopromoteTraits< short unsigned int > |
class | promoteTo |
Promote to T1. More... | |
struct | promoteTo< T1, T2, 0 > |
class | PromoteTraits |
Promote type traits. More... | |
class | Fcnl_conj |
> UnaryFunctionals.h "tvmet/UnaryFunctionals.h" More... | |
struct | Fcnl_conj< std::complex< T > > |
class | VectorConstReference |
Const value iterator for ET. More... | |
class | Vector |
Compile time fixed length vector with evaluation on compile time. More... | |
class | XprBinOp |
Binary operators working on two sub expressions. More... | |
class | XprEval |
evaluate the expression More... | |
class | XprIdentity |
Expression for the identity matrix. More... | |
class | XprLiteral |
Specify literals like scalars into the expression. More... | |
class | XprMatrix |
Represents the expression for vectors at any node in the parse tree. More... | |
class | XprMatrixCol |
Expression on matrix used for access on the column vector. More... | |
class | XprMatrixDiag |
Expression on matrix used for access on the diagonal vector. More... | |
class | XprMatrixRow |
Expression on matrix used for access on the row vector. More... | |
class | XprMatrixTranspose |
Expression for transpose matrix. More... | |
class | XprMMProduct |
Expression for matrix-matrix product. More... | |
class | XprMMProductTransposed |
Expression for transpose(matrix-matrix product). More... | |
class | XprMMtProduct |
Expression for matrix-matrix product. More... | |
class | XprMtMProduct |
Expression for product of transposed(matrix)-matrix product. More... | |
class | XprMtVProduct |
Expression for matrix-transposed vector product using formula
. More... | |
class | XprMVProduct |
Expression for matrix-vector product using formula
. More... | |
class | XprNull |
Null object design pattern. More... | |
class | XprUnOp |
Unary operator working on one subexpression. More... | |
class | XprVector |
Represents the expression for vectors at any node in the parse tree. More... | |
Functions | |
template<class E > | |
AliasProxy< E > | alias (E &expr) |
Simplify syntax for alias Matrices and Vectors, where aliasing left hand values appear in the expression. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprBinOp< Fcnl_pow < T, std::complex< T > >, MatrixConstReference< T, Rows, Cols >, XprLiteral < std::complex< T > > >, Rows, Cols > | pow (const Matrix< T, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
power function on Matrix and std::complex<T>. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprBinOp< Fcnl_pow < std::complex< T > , std::complex< T > >, MatrixConstReference < std::complex< T >, Rows, Cols >, XprLiteral < std::complex< T > > >, Rows, Cols > | pow (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprBinOp< Fcnl_pow < std::complex< T >, T > , MatrixConstReference < std::complex< T >, Rows, Cols >, XprLiteral< T > >, Rows, Cols > | pow (const Matrix< std::complex< T >, Rows, Cols > &lhs, const T &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprBinOp< Fcnl_pow < std::complex< T >, int > , MatrixConstReference < std::complex< T >, Rows, Cols >, XprLiteral< int > >, Rows, Cols > | pow (const Matrix< std::complex< T >, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprBinOp < Fcnl_polar< T, T > , MatrixConstReference< T, Rows, Cols >, XprLiteral< T > >, Rows, Cols > | polar (const Matrix< T, Rows, Cols > &lhs, const T &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E , std::size_t Rows, std::size_t Cols> | |
bool | all_elements (const XprMatrix< E, Rows, Cols > &e) |
check on statements for all elementsThis is for use with boolean operators like | |
template<class E , std::size_t Rows, std::size_t Cols> | |
bool | any_elements (const XprMatrix< E, Rows, Cols > &e) |
check on statements for any elementsThis is for use with boolean operators like | |
template<class E1 , class T2 , class T3 , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprEval< XprMatrix < E1, Rows, Cols > , MatrixConstReference< T2, Rows, Cols > , MatrixConstReference< T3, Rows, Cols > >, Rows, Cols > | eval (const XprMatrix< E1, Rows, Cols > &e1, const Matrix< T2, Rows, Cols > &m2, const Matrix< T3, Rows, Cols > &m3) |
Evals the matrix expressions. | |
template<class E1 , class T2 , class E3 , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprEval< XprMatrix < E1, Rows, Cols > , MatrixConstReference< T2, Rows, Cols >, XprMatrix< E3, Rows, Cols > >, Rows, Cols > | eval (const XprMatrix< E1, Rows, Cols > &e1, const Matrix< T2, Rows, Cols > &m2, const XprMatrix< E3, Rows, Cols > &e3) |
Evals the matrix expressions. | |
template<class E1 , class E2 , class T3 , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprEval< XprMatrix < E1, Rows, Cols >, XprMatrix < E2, Rows, Cols > , MatrixConstReference< T3, Rows, Cols > >, Rows, Cols > | eval (const XprMatrix< E1, Rows, Cols > &e1, const XprMatrix< E2, Rows, Cols > &e2, const Matrix< T3, Rows, Cols > &m3) |
Evals the matrix expressions. | |
template<class E1 , class E2 , class E3 , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprEval< XprMatrix < E1, Rows, Cols >, XprMatrix < E2, Rows, Cols >, XprMatrix < E3, Rows, Cols > >, Rows, Cols > | eval (const XprMatrix< E1, Rows, Cols > &e1, const XprMatrix< E2, Rows, Cols > &e2, const XprMatrix< E3, Rows, Cols > &e3) |
Evals the matrix expressions. | |
template<class E , std::size_t Rows, std::size_t Cols, class T > | |
XprMatrix< XprEval< XprMatrix < E, Rows, Cols >, XprLiteral < std::complex< T > >, XprLiteral< std::complex < T > > >, Rows, Cols > | eval (const XprMatrix< E, Rows, Cols > &e, const std::complex< T > &x2, const std::complex< T > &x3) |
Evals the matrix expressions. | |
template<class E1 , class E3 , std::size_t Rows, std::size_t Cols, class T > | |
XprMatrix< XprEval< XprMatrix < E1, Rows, Cols >, XprLiteral < std::complex< T > >, XprMatrix< E3, Rows, Cols > >, Rows, Cols > | eval (const XprMatrix< E1, Rows, Cols > &e1, const std::complex< T > &x2, const XprMatrix< E3, Rows, Cols > &e3) |
Evals the matrix expressions. | |
template<class E1 , class E2 , std::size_t Rows, std::size_t Cols, class T > | |
XprMatrix< XprEval< XprMatrix < E1, Rows, Cols >, XprMatrix < E2, Rows, Cols >, XprLiteral < std::complex< T > > >, Rows, Cols > | eval (const XprMatrix< E1, Rows, Cols > &e1, const XprMatrix< E2, Rows, Cols > &e2, const std::complex< T > &x3) |
Evals the matrix expressions. | |
TVMET_DECLARE_MACRO (add) TVMET_DECLARE_MACRO(sub) namespace element_wise | |
template<class T1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2> | |
XprMatrix< XprMMProduct < MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > | prod (const Matrix< T1, Rows1, Cols1 > &lhs, const Matrix< T2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Function for the matrix-matrix-product. | |
template<class E1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2> | |
XprMatrix< XprMMProduct < XprMatrix< E1, Rows1, Cols1 > , Rows1, Cols1, MatrixConstReference< T2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > | prod (const XprMatrix< E1, Rows1, Cols1 > &lhs, const Matrix< T2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Evaluate the product of XprMatrix and Matrix. | |
template<class T1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2> | |
XprMatrix< XprMMProduct < MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, XprMatrix< E2, Cols1, Cols2 > , Cols2 >, Rows1, Cols2 > | prod (const Matrix< T1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Evaluate the product of Matrix and XprMatrix. | |
template<class T1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2> | |
XprMatrix < XprMMProductTransposed < MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Cols1, Cols2 >, Cols2 >, Cols2, Rows1 > | trans_prod (const Matrix< T1, Rows1, Cols1 > &lhs, const Matrix< T2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Function for the trans(matrix-matrix-product)Perform on given Matrix M1 and M2:
| |
template<class T1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2> | |
XprMatrix< XprMtMProduct < MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Rows1, Cols2 >, Cols2 >, Cols1, Cols2 > | MtM_prod (const Matrix< T1, Rows1, Cols1 > &lhs, const Matrix< T2, Rows1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Function for the trans(matrix)-matrix-product. | |
template<class T1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Rows2> | |
XprMatrix< XprMMtProduct < MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Rows2, Cols1 >, Cols1 >, Rows1, Rows2 > | MMt_prod (const Matrix< T1, Rows1, Cols1 > &lhs, const Matrix< T2, Rows2, Cols1 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Function for the matrix-trans(matrix)-product. | |
template<class T1 , class T2 , std::size_t Rows, std::size_t Cols> | |
XprVector< XprMVProduct < MatrixConstReference< T1, Rows, Cols >, Rows, Cols, VectorConstReference< T2, Cols > >, Rows > | prod (const Matrix< T1, Rows, Cols > &lhs, const Vector< T2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
Function for the matrix-vector-product. | |
template<class T1 , class E2 , std::size_t Rows, std::size_t Cols> | |
XprVector< XprMVProduct < MatrixConstReference< T1, Rows, Cols >, Rows, Cols, XprVector< E2, Cols > >, Rows > | prod (const Matrix< T1, Rows, Cols > &lhs, const XprVector< E2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
Function for the matrix-vector-product. | |
template<class E1 , class T2 , std::size_t Rows, std::size_t Cols> | |
XprVector< XprMVProduct < XprMatrix< E1, Rows, Cols > , Rows, Cols, VectorConstReference< T2, Cols > >, Rows > | prod (const XprMatrix< E1, Rows, Cols > &lhs, const Vector< T2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T1 , class T2 , std::size_t Rows, std::size_t Cols> | |
XprVector< XprMtVProduct < MatrixConstReference< T1, Rows, Cols >, Rows, Cols, VectorConstReference< T2, Rows > >, Cols > | Mtx_prod (const Matrix< T1, Rows, Cols > &lhs, const Vector< T2, Rows > &rhs) TVMET_CXX_ALWAYS_INLINE |
Function for the trans(matrix)-vector-productPerform on given Matrix M and vector x:
| |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprMatrixTranspose < MatrixConstReference< T, Rows, Cols > >, Cols, Rows > | trans (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
Transpose the matrix. | |
template<class T , std::size_t Sz> | |
NumericTraits< T >::sum_type | trace (const Matrix< T, Sz, Sz > &m) TVMET_CXX_ALWAYS_INLINE |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprVector< XprMatrixRow < MatrixConstReference< T, Rows, Cols >, Rows, Cols > , Cols > | row (const Matrix< T, Rows, Cols > &m, std::size_t no) TVMET_CXX_ALWAYS_INLINE |
Returns a row vector of the given matrix. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprVector< XprMatrixCol < MatrixConstReference< T, Rows, Cols >, Rows, Cols > , Rows > | col (const Matrix< T, Rows, Cols > &m, std::size_t no) TVMET_CXX_ALWAYS_INLINE |
Returns a column vector of the given matrix. | |
template<class T , std::size_t Sz> | |
XprVector< XprMatrixDiag < MatrixConstReference< T, Sz, Sz >, Sz >, Sz > | diag (const Matrix< T, Sz, Sz > &m) TVMET_CXX_ALWAYS_INLINE |
Returns the diagonal vector of the given square matrix. | |
template<class E , std::size_t Rows, std::size_t Cols> | |
Extremum< typename E::value_type, std::size_t, matrix_tag > | maximum (const XprMatrix< E, Rows, Cols > &e) |
Find the maximum of a matrix expression. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
Extremum< T, std::size_t, matrix_tag > | maximum (const Matrix< T, Rows, Cols > &m) TVMET_CXX_ALWAYS_INLINE |
Find the maximum of a matrix. | |
template<class E , std::size_t Rows, std::size_t Cols> | |
Extremum< typename E::value_type, std::size_t, matrix_tag > | minimum (const XprMatrix< E, Rows, Cols > &e) |
Find the minimum of a matrix expression. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
Extremum< T, std::size_t, matrix_tag > | minimum (const Matrix< T, Rows, Cols > &m) TVMET_CXX_ALWAYS_INLINE |
Find the minimum of a matrix. | |
template<class E , std::size_t Rows, std::size_t Cols> | |
E::value_type | max (const XprMatrix< E, Rows, Cols > &e) |
Find the maximum of a matrix expression. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
T | max (const Matrix< T, Rows, Cols > &m) TVMET_CXX_ALWAYS_INLINE |
Find the maximum of a matrix. | |
template<class E , std::size_t Rows, std::size_t Cols> | |
E::value_type | min (const XprMatrix< E, Rows, Cols > &e) |
Find the minimum of a matrix expression. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
T | min (const Matrix< T, Rows, Cols > &m) TVMET_CXX_ALWAYS_INLINE |
Find the minimum of a matrix. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprIdentity< T, Rows, Cols >, Rows, Cols > | identity () TVMET_CXX_ALWAYS_INLINE |
Fill a matrix to an identity matrix. | |
template<class M > | |
XprMatrix< XprIdentity < typename M::value_type, M::Rows, M::Cols >, M::Rows, M::Cols > | identity () TVMET_CXX_ALWAYS_INLINE |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprMatrix < MatrixConstReference< T, Rows, Cols >, Rows, Cols > | cmatrix_ref (const T *mem) TVMET_CXX_ALWAYS_INLINE |
Creates an expression wrapper for a C like matrices. | |
TVMET_IMPLEMENT_MACRO (add) TVMET_IMPLEMENT_MACRO(sub) namespace element_wise | |
template<class T , std::size_t Rows, std::size_t Cols> | |
std::ostream & | operator<< (std::ostream &os, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
Overload operator for i/o. | |
TVMET_DECLARE_MACRO (add_eq,+=) TVMET_DECLARE_MACRO(sub_eq | |
std::size_t Cols2 XprMatrix < XprMMProduct < MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > | operator* (const Matrix< T1, Rows1, Cols1 > &lhs, const Matrix< T2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2> | |
XprMatrix< XprMMProduct < XprMatrix< E1, Rows1, Cols1 > , Rows1, Cols1, MatrixConstReference< T2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > | operator* (const XprMatrix< E1, Rows1, Cols1 > &lhs, const Matrix< T2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Evaluate the product of XprMatrix and Matrix. | |
template<class T1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2> | |
XprMatrix< XprMMProduct < MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, XprMatrix< E2, Cols1, Cols2 > , Cols2 >, Rows1, Cols2 > | operator* (const Matrix< T1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Evaluate the product of Matrix and XprMatrix. | |
template<class T1 , std::size_t Rows, std::size_t Cols, class T2 > | |
XprVector< XprMVProduct < MatrixConstReference< T1, Rows, Cols >, Rows, Cols, VectorConstReference< T2, Cols > >, Rows > | operator* (const Matrix< T1, Rows, Cols > &lhs, const Vector< T2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
multiply a Matrix with a Vector. | |
template<class T1 , class E2 , std::size_t Rows, std::size_t Cols> | |
XprVector< XprMVProduct < MatrixConstReference< T1, Rows, Cols >, Rows, Cols, XprVector< E2, Cols > >, Rows > | operator* (const Matrix< T1, Rows, Cols > &lhs, const XprVector< E2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
Function for the matrix-vector-product. | |
template<class E1 , class T2 , std::size_t Rows, std::size_t Cols> | |
XprVector< XprMVProduct < XprMatrix< E1, Rows, Cols > , Rows, Cols, VectorConstReference< T2, Cols > >, Rows > | operator* (const XprMatrix< E1, Rows, Cols > &lhs, const Vector< T2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the product of an XprMatrix with a Vector. | |
TVMET_IMPLEMENT_MACRO (add_eq,+=) TVMET_IMPLEMENT_MACRO(sub_eq | |
template<class E > | |
std::ostream & | operator<< (std::ostream &os, const TvmetBase< E > &e) |
overloaded ostream operator using static polymorphic. | |
template<class T , std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_pow < T, std::complex< T > >, VectorConstReference< T, Sz >, XprLiteral< std::complex < T > > >, Sz > | pow (const Vector< T, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
power function on Vector and std::complex<T>. | |
template<class T , std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_pow < std::complex< T > , std::complex< T > >, VectorConstReference < std::complex< T >, Sz > , XprLiteral< std::complex< T > > >, Sz > | pow (const Vector< std::complex< T >, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T , std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_pow < std::complex< T >, T > , VectorConstReference < std::complex< T >, Sz > , XprLiteral< T > >, Sz > | pow (const Vector< std::complex< T >, Sz > &lhs, const T &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T , std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_pow < std::complex< T >, int > , VectorConstReference < std::complex< T >, Sz > , XprLiteral< int > >, Sz > | pow (const Vector< std::complex< T >, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T , std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_polar< T, T > , VectorConstReference< T, Sz > , XprLiteral< T > >, Sz > | polar (const Vector< T, Sz > &lhs, const T &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E , std::size_t Sz> | |
bool | all_elements (const XprVector< E, Sz > &e) |
check on statements for all elementsThis is for use with boolean operators like | |
template<class E , std::size_t Sz> | |
bool | any_elements (const XprVector< E, Sz > &e) |
check on statements for any elementsThis is for use with boolean operators like | |
template<class E1 , class T2 , class T3 , std::size_t Sz> | |
XprVector< XprEval< XprVector < E1, Sz > , VectorConstReference< T2, Sz > , VectorConstReference< T3, Sz > >, Sz > | eval (const XprVector< E1, Sz > &e1, const Vector< T2, Sz > &v2, const Vector< T3, Sz > &v3) |
eval(const XprVector<E1, Sz>& e1, const Vector<T2, Sz>& v2, const Vector<T3, Sz>& v3) | |
template<class E1 , class T2 , class E3 , std::size_t Sz> | |
XprVector< XprEval< XprVector < E1, Sz > , VectorConstReference< T2, Sz > , XprVector< E3, Sz > >, Sz > | eval (const XprVector< E1, Sz > &e1, const Vector< T2, Sz > &v2, const XprVector< E3, Sz > &e3) |
eval(const XprVector<E1, Sz>& e1, const Vector<T2, Sz>& v2, const XprVector<E3, Sz>& e3) | |
template<class E1 , class E2 , class T3 , std::size_t Sz> | |
XprVector< XprEval< XprVector < E1, Sz >, XprVector< E2, Sz > , VectorConstReference< T3, Sz > >, Sz > | eval (const XprVector< E1, Sz > &e1, const XprVector< E2, Sz > &e2, const Vector< T3, Sz > &v3) |
eval(const XprVector<E1, Sz>& e1, const XprVector<E2, Sz>& e2, const Vector<T3, Sz>& v3) | |
template<class E1 , class E2 , class E3 , std::size_t Sz> | |
XprVector< XprEval< XprVector < E1, Sz >, XprVector< E2, Sz > , XprVector< E3, Sz > >, Sz > | eval (const XprVector< E1, Sz > &e1, const XprVector< E2, Sz > &e2, const XprVector< E3, Sz > &e3) |
eval(const XprVector<E1, Sz>& e1, const XprVector<E2, Sz>& e2, const XprVector<E3, Sz>& e3) | |
template<class E , std::size_t Sz, class T > | |
XprVector< XprEval< XprVector < E, Sz >, XprLiteral < std::complex< T > >, XprLiteral< std::complex < T > > >, Sz > | eval (const XprVector< E, Sz > &e, std::complex< T > z2, std::complex< T > z3) |
eval(const XprVector<E, Sz>& e, std::complex<T> z2, std::complex<T> z3) | |
template<class E1 , class E3 , std::size_t Sz, class T > | |
XprVector< XprEval< XprVector < E1, Sz >, XprLiteral < std::complex< T > >, XprVector< E3, Sz > >, Sz > | eval (const XprVector< E1, Sz > &e1, std::complex< T > z2, const XprVector< E3, Sz > &e3) |
eval(const XprVector<E1, Sz>& e1, std::complex<T> z2, const XprVector<E3, Sz>& e3) | |
template<class E1 , class E2 , std::size_t Sz, class T > | |
XprVector< XprEval< XprVector < E1, Sz >, XprVector< E2, Sz > , XprLiteral< std::complex< T > > >, Sz > | eval (const XprVector< E1, Sz > &e1, const XprVector< E2, Sz > &e2, std::complex< T > z3) |
eval(const XprVector<E1, Sz>& e1, const XprVector<E2, Sz>& e2, std::complex<T> z3) | |
template<class T , std::size_t Sz> | |
NumericTraits< T >::sum_type | sum (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Compute the sum of the vector. | |
template<class T , std::size_t Sz> | |
NumericTraits< T >::sum_type | product (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Compute the product of the vector elements. | |
template<class T1 , class T2 , std::size_t Sz> | |
PromoteTraits< T1, T2 >::value_type | dot (const Vector< T1, Sz > &lhs, const Vector< T2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the dot/inner productCompute the dot product as:
where lhs is a column vector and rhs is a row vector, both vectors have the same dimension. | |
template<class T1 , class T2 > | |
Vector< typename PromoteTraits < T1, T2 >::value_type, 3 > | cross (const Vector< T1, 3 > &lhs, const Vector< T2, 3 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the cross/outer product. | |
template<class T , std::size_t Sz> | |
NumericTraits< T >::sum_type | norm1 (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
The ![]() | |
template<class T , std::size_t Sz> | |
NumericTraits< T >::sum_type | norm2 (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
The euklidian norm (or ![]() | |
template<class T , std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < T, T >, VectorConstReference < T, Sz >, XprLiteral< T > >, Sz > | normalize (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Normalize the given vector. | |
template<class E , std::size_t Sz> | |
Extremum< typename E::value_type, std::size_t, vector_tag > | maximum (const XprVector< E, Sz > &e) |
Find the maximum of a vector expression. | |
template<class T , std::size_t Sz> | |
Extremum< T, std::size_t, vector_tag > | maximum (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Find the maximum of a vector. | |
template<class E , std::size_t Sz> | |
Extremum< typename E::value_type, std::size_t, vector_tag > | minimum (const XprVector< E, Sz > &e) |
Find the minimum of a vector expression. | |
template<class T , std::size_t Sz> | |
Extremum< T, std::size_t, vector_tag > | minimum (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Find the minimum of a vector. | |
template<class E , std::size_t Sz> | |
E::value_type | max (const XprVector< E, Sz > &e) |
Find the maximum of a vector expression. | |
template<class T , std::size_t Sz> | |
T | max (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Find the maximum of a vector. | |
template<class E , std::size_t Sz> | |
E::value_type | min (const XprVector< E, Sz > &e) |
Find the minimum of a vector expression. | |
template<class T , std::size_t Sz> | |
T | min (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Find the minimum of a vector. | |
template<class T , std::size_t Sz> | |
XprVector < VectorConstReference< T, Sz > , Sz > | cvector_ref (const T *mem) TVMET_CXX_ALWAYS_INLINE |
Creates an expression wrapper for a C like vector arrays. | |
template<class T , std::size_t Sz> | |
std::ostream & | operator<< (std::ostream &os, const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2> | |
XprMatrix< XprMMProduct < XprMatrix< E1, Rows1, Cols1 > , Rows1, Cols1, XprMatrix< E2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > | prod (const XprMatrix< E1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Evaluate the product of two XprMatrix. | |
template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2> | |
XprMatrix < XprMMProductTransposed < XprMatrix< E1, Rows1, Cols1 > , Rows1, Cols1, XprMatrix< E2, Cols1, Cols2 >, Cols2 >, Cols2, Rows1 > | trans_prod (const XprMatrix< E1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Function for the trans(matrix-matrix-product) Perform on given Matrix M1 and M2:
| |
template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2> | |
XprMatrix< XprMtMProduct < XprMatrix< E1, Rows1, Cols1 > , Rows1, Cols1, XprMatrix< E2, Rows1, Cols2 >, Cols2 >, Cols1, Cols2 > | MtM_prod (const XprMatrix< E1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Rows1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Function for the trans(matrix)-matrix-product. | |
template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Rows2> | |
XprMatrix< XprMMtProduct < XprMatrix< E1, Rows1, Cols1 > , Rows1, Cols1, XprMatrix< E2, Rows2, Cols1 >, Cols1 >, Rows1, Rows2 > | MMt_prod (const XprMatrix< E1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Rows2, Cols1 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Function for the matrix-trans(matrix)-product. | |
template<class E1 , std::size_t Rows, std::size_t Cols, class E2 > | |
XprVector< XprMVProduct < XprMatrix< E1, Rows, Cols > , Rows, Cols, XprVector< E2, Cols > >, Rows > | prod (const XprMatrix< E1, Rows, Cols > &lhs, const XprVector< E2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
Evaluate the product of XprMatrix and XprVector. | |
template<class E , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprMatrixTranspose < XprMatrix< E, Rows, Cols > >, Cols, Rows > | trans (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
Transpose an expression matrix. | |
template<class E , std::size_t Sz> | |
NumericTraits< typename E::value_type >::sum_type | trace (const XprMatrix< E, Sz, Sz > &m) TVMET_CXX_ALWAYS_INLINE |
template<class E , std::size_t Rows, std::size_t Cols> | |
XprVector< XprMatrixRow < XprMatrix< E, Rows, Cols > , Rows, Cols >, Cols > | row (const XprMatrix< E, Rows, Cols > &m, std::size_t no) TVMET_CXX_ALWAYS_INLINE |
Returns a row vector of the given matrix. | |
template<class E , std::size_t Rows, std::size_t Cols> | |
XprVector< XprMatrixCol < XprMatrix< E, Rows, Cols > , Rows, Cols >, Rows > | col (const XprMatrix< E, Rows, Cols > &m, std::size_t no) TVMET_CXX_ALWAYS_INLINE |
Returns a column vector of the given matrix. | |
template<class E , std::size_t Sz> | |
XprVector< XprMatrixDiag < XprMatrix< E, Sz, Sz >, Sz > , Sz > | diag (const XprMatrix< E, Sz, Sz > &m) TVMET_CXX_ALWAYS_INLINE |
Returns the diagonal vector of the given square matrix. | |
TVMET_DECLARE_MACRO (add,+) TVMET_DECLARE_MACRO(sub | |
template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2> | |
XprMatrix< XprMMProduct < XprMatrix< E1, Rows1, Cols1 > , Rows1, Cols1, XprMatrix< E2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > | operator* (const XprMatrix< E1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Evaluate the product of two XprMatrix. | |
template<class E1 , std::size_t Rows, std::size_t Cols, class E2 > | |
XprVector< XprMVProduct < XprMatrix< E1, Rows, Cols > , Rows, Cols, XprVector< E2, Cols > >, Rows > | operator* (const XprMatrix< E1, Rows, Cols > &lhs, const XprVector< E2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
Evaluate the product of XprMatrix and XprVector. | |
TVMET_IMPLEMENT_MACRO (add,+) TVMET_IMPLEMENT_MACRO(sub | |
template<class T > | |
T | operator+ (const T &lhs, XprNull) |
template<class T > | |
T | operator- (const T &lhs, XprNull) |
template<class T > | |
T | operator* (const T &lhs, XprNull) |
template<class T > | |
T | operator/ (const T &lhs, XprNull) |
template<class E , std::size_t Sz> | |
NumericTraits< typename E::value_type >::sum_type | sum (const XprVector< E, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Compute the sum of the vector expression. | |
template<class E , std::size_t Sz> | |
NumericTraits< typename E::value_type >::sum_type | product (const XprVector< E, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Compute the product of the vector elements. | |
template<class E1 , class E2 , std::size_t Sz> | |
PromoteTraits< typename E1::value_type, typename E2::value_type >::value_type | dot (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the dot/inner productCompute the dot product as:
where lhs is a column vector and rhs is a row vector, both vectors have the same dimension. | |
template<class T , class E , std::size_t Sz> | |
PromoteTraits< T, typename E::value_type >::value_type | dot (const Vector< T, Sz > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the dot/inner productCompute the dot product as:
where lhs is a column vector and rhs is a row vector, both vectors have the same dimension. | |
template<class E , class T , std::size_t Sz> | |
PromoteTraits< T, typename E::value_type >::value_type | dot (const XprVector< E, Sz > &lhs, const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the dot/inner productCompute the dot product as:
where lhs is a column vector and rhs is a row vector, both vectors have the same dimension. | |
template<class E1 , class E2 > | |
Vector< typename PromoteTraits < typename E1::value_type, typename E2::value_type > ::value_type, 3 > | cross (const XprVector< E1, 3 > &lhs, const XprVector< E2, 3 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the cross/outer product. | |
template<class T , class E > | |
Vector< typename PromoteTraits < T, typename E::value_type > ::value_type, 3 > | cross (const Vector< T, 3 > &lhs, const XprVector< E, 3 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the cross/outer product. | |
template<class E , class T > | |
Vector< typename PromoteTraits < T, typename E::value_type > ::value_type, 3 > | cross (const XprVector< E, 3 > &lhs, const Vector< T, 3 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the cross/outer product. | |
template<class E , std::size_t Sz> | |
NumericTraits< typename E::value_type >::sum_type | norm1 (const XprVector< E, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
The ![]() | |
template<class E , std::size_t Sz> | |
NumericTraits< typename E::value_type >::sum_type | norm2 (const XprVector< E, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
The euklidian norm (or ![]() | |
template<class E , std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < typename E::value_type, typename E::value_type > , XprVector< E, Sz > , XprLiteral< typename E::value_type > >, Sz > | normalize (const XprVector< E, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Normalize the given vector expression. | |
template<class T1 , class E2 > | |
Vector< typename PromoteTraits < T1, typename E2::value_type > ::value_type, 3 > | cross (const Vector< T1, 3 > &lhs, const XprVector< E2, 3 > &rhs) |
TVMET_DECLARE_MACRO (mul,*) namespace element_wise | |
TVMET_IMPLEMENT_MACRO (mul,*) namespace element_wise | |
Variables | |
std::size_t | Rows1 |
std::size_t std::size_t | Cols1 |
The namespace for the Tiny Vector Matrix using Expression Templates Libary.
forward
AliasProxy<E> tvmet::alias | ( | E & | expr | ) |
Simplify syntax for alias Matrices and Vectors, where aliasing left hand values appear in the expression.
typedef tvmet::Matrix<double, 10, 10> matrix_type; matrix_type m; ... alias(m) += trans(m);
Vector< typename PromoteTraits<T1, typename E2::value_type>::value_type, 3> tvmet::cross | ( | const Vector< T1, 3 > & | lhs, |
const XprVector< E2, 3 > & | rhs | ||
) | [inline] |
XprMatrix< XprIdentity< typename M::value_type, M::Rows, M::Cols >, M::Rows, M::Cols > tvmet::identity | ( | ) | [inline] |
std::size_t Cols2 inline XprMatrix< XprMMProduct< MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > tvmet::operator* | ( | const Matrix< T1, Rows1, Cols1 > & | lhs, |
const Matrix< T2, Cols1, Cols2 > & | rhs | ||
) |
References prod().
T tvmet::operator* | ( | const T & | lhs, |
XprNull | |||
) | [inline] |
T tvmet::operator+ | ( | const T & | lhs, |
XprNull | |||
) | [inline] |
T tvmet::operator- | ( | const T & | lhs, |
XprNull | |||
) | [inline] |
T tvmet::operator/ | ( | const T & | lhs, |
XprNull | |||
) | [inline] |
std::size_t Sz std::ostream & tvmet::operator<< | ( | std::ostream & | os, |
const Vector< T, Sz > & | rhs | ||
) | [inline] |
XprVector< XprMVProduct< XprMatrix< E1, Rows, Cols >, Rows, Cols, VectorConstReference< T2, Cols > >, Rows > tvmet::prod | ( | const XprMatrix< E1, Rows, Cols > & | lhs, |
const Vector< T2, Cols > & | rhs | ||
) | [inline] |
References tvmet::Vector< T, Sz >::const_ref().
NumericTraits< T >::sum_type tvmet::trace | ( | const Matrix< T, Sz, Sz > & | m | ) | [inline] |
References tvmet::meta::Matrix< Rows, Cols, M, N >::trace().
NumericTraits< typename E::value_type >::sum_type tvmet::trace | ( | const XprMatrix< E, Sz, Sz > & | m | ) | [inline] |
References tvmet::meta::Matrix< Rows, Cols, M, N >::trace().
tvmet::TVMET_DECLARE_MACRO | ( | add | ) |
Referenced by TVMET_DECLARE_MACRO().
tvmet::TVMET_DECLARE_MACRO | ( | add | , |
+ | |||
) |
tvmet::TVMET_DECLARE_MACRO | ( | add_eq | , |
+ | |||
) |
tvmet::TVMET_DECLARE_MACRO | ( | mul | , |
* | |||
) |
References TVMET_DECLARE_MACRO().
tvmet::TVMET_IMPLEMENT_MACRO | ( | add_eq | , |
+ | |||
) |
tvmet::TVMET_IMPLEMENT_MACRO | ( | add | , |
+ | |||
) |
tvmet::TVMET_IMPLEMENT_MACRO | ( | add | ) |
tvmet::TVMET_IMPLEMENT_MACRO | ( | mul | , |
* | |||
) |
References tvmet::element_wise::TVMET_IMPLEMENT_MACRO().
std::size_t std::size_t tvmet::Cols1 |
Referenced by tvmet::XprMMProductTransposed< E1, Rows1, Cols1, E2, Cols2 >::do_gemm(), tvmet::XprMMProduct< E1, Rows1, Cols1, E2, Cols2 >::do_gemm(), tvmet::XprMMtProduct< E1, Rows1, Cols1, E2, Cols2 >::do_gemmt(), tvmet::XprMtMProduct< E1, Rows1, Cols1, E2, Cols2 >::do_gemtm(), MMt_prod(), MtM_prod(), tvmet::XprMtMProduct< E1, Rows1, Cols1, E2, Cols2 >::operator()(), tvmet::XprMtMProduct< E1, Rows1, Cols1, E2, Cols2 >::print_xpr(), tvmet::XprMMtProduct< E1, Rows1, Cols1, E2, Cols2 >::print_xpr(), tvmet::XprMMProductTransposed< E1, Rows1, Cols1, E2, Cols2 >::print_xpr(), tvmet::XprMMProduct< E1, Rows1, Cols1, E2, Cols2 >::print_xpr(), prod(), tvmet::meta::gemtm< Rows1, Cols1, Cols2, K >::prod(), tvmet::meta::gemmt< Rows1, Cols1, Cols2, K >::prod(), tvmet::meta::gemm< Rows1, Cols1, Cols2, K >::prod(), and trans_prod().
std::size_t tvmet::Rows1 |
Referenced by tvmet::XprMMProductTransposed< E1, Rows1, Cols1, E2, Cols2 >::do_gemm(), tvmet::XprMMProduct< E1, Rows1, Cols1, E2, Cols2 >::do_gemm(), tvmet::XprMMtProduct< E1, Rows1, Cols1, E2, Cols2 >::do_gemmt(), tvmet::XprMtMProduct< E1, Rows1, Cols1, E2, Cols2 >::do_gemtm(), MMt_prod(), MtM_prod(), tvmet::XprMMProductTransposed< E1, Rows1, Cols1, E2, Cols2 >::operator()(), tvmet::XprMMProduct< E1, Rows1, Cols1, E2, Cols2 >::operator()(), tvmet::XprMtMProduct< E1, Rows1, Cols1, E2, Cols2 >::print_xpr(), tvmet::XprMMProductTransposed< E1, Rows1, Cols1, E2, Cols2 >::print_xpr(), tvmet::XprMMProduct< E1, Rows1, Cols1, E2, Cols2 >::print_xpr(), prod(), tvmet::meta::gemtm< Rows1, Cols1, Cols2, K >::prod(), tvmet::meta::gemmt< Rows1, Cols1, Cols2, K >::prod(), tvmet::meta::gemm< Rows1, Cols1, Cols2, K >::prod(), and trans_prod().
Author: |