Tiny Vector Matrix library using Expression Templates | Sourceforge Project Page |
#include <tvmet/loop/Gemm.h>
using formula
template<class T, std::size_t Rows1, std::size_t Cols1, std::size_t Cols2> inline void prod(const Matrix<T, Rows1, Cols1>& lhs, const Matrix<T, Cols1, Cols2>& rhs, Matrix<T, Rows1, Cols2>& dest) { for (std::size_t i = 0; i != Rows1; ++i) { for (std::size_t j = 0; j != Cols2; ++j) { dest(i, j) = tvmet::loop::gemm<Rows1, Cols1, Cols2>().prod(lhs, rhs, i, j); } } }
Public Member Functions | |
gemm () | |
Static Public Member Functions | |
template<class E1, class E2> | |
static PromoteTraits< typename E1::value_type, typename E2::value_type >::value_type | prod (const E1 &lhs, const E2 &rhs, std::size_t i, std::size_t j) |
Private Types | |
enum | { count = Cols1, N = (count+7)/8 } |
Private Member Functions | |
gemm (const gemm &) | |
gemm & | operator= (const gemm &) |
anonymous enum [private] |
tvmet::loop::gemm< Rows1, Cols1, Cols2 >::gemm | ( | const gemm< Rows1, Cols1, Cols2 > & | ) | [private] |
tvmet::loop::gemm< Rows1, Cols1, Cols2 >::gemm | ( | ) | [inline] |
gemm& tvmet::loop::gemm< Rows1, Cols1, Cols2 >::operator= | ( | const gemm< Rows1, Cols1, Cols2 > & | ) | [private] |
static PromoteTraits< typename E1::value_type, typename E2::value_type >::value_type tvmet::loop::gemm< Rows1, Cols1, Cols2 >::prod | ( | const E1 & | lhs, | |
const E2 & | rhs, | |||
std::size_t | i, | |||
std::size_t | j | |||
) | [inline, static] |
Author: |