SourceForge Logo Tiny Vector Matrix library using Expression Templates Sourceforge Project Page

tvmet::meta::gemtv< Rows, Cols, I > Class Template Reference

#include <tvmet/meta/Gemtv.h>

List of all members.


Detailed Description

template<std::size_t Rows, std::size_t Cols, std::size_t I>
class tvmet::meta::gemtv< Rows, Cols, I >

Meta class for matrix-transpose-vector operations.

using formula

\[ M^T\,v \]


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 j)
 Meta template for Matrix lhs Vector rhs product.

Private Types

enum  { doIt = I < (Rows-1) }

Private Member Functions

 gemtv ()
 gemtv (const gemtv &)
gemtvoperator= (const gemtv &)


Member Enumeration Documentation

template<std::size_t Rows, std::size_t Cols, std::size_t I>
anonymous enum [private]

Enumerator:
doIt  recursive counter


Constructor & Destructor Documentation

template<std::size_t Rows, std::size_t Cols, std::size_t I>
tvmet::meta::gemtv< Rows, Cols, I >::gemtv (  )  [private]

template<std::size_t Rows, std::size_t Cols, std::size_t I>
tvmet::meta::gemtv< Rows, Cols, I >::gemtv ( const gemtv< Rows, Cols, I > &   )  [private]


Member Function Documentation

template<std::size_t Rows, std::size_t Cols, std::size_t I>
gemtv& tvmet::meta::gemtv< Rows, Cols, I >::operator= ( const gemtv< Rows, Cols, I > &   )  [private]

template<std::size_t Rows, std::size_t Cols, std::size_t I>
template<class E1, class E2>
static PromoteTraits< typename E1::value_type, typename E2::value_type >::value_type tvmet::meta::gemtv< Rows, Cols, I >::prod ( const E1 &  lhs,
const E2 &  rhs,
std::size_t  j 
) [inline, static]

Meta template for Matrix lhs Vector rhs product.


Author: