|
|
Tiny Vector Matrix library using Expression Templates | Sourceforge Project Page |

Go to the source code of this file.
Namespaces | |
| namespace | tvmet |
The namespace for the Tiny Vector Matrix using Expression Templates Libary. | |
Defines | |
| #define | TVMET_DECLARE_MACRO(NAME) |
| #define | TVMET_DECLARE_MACRO(NAME, TP) |
| #define | TVMET_DECLARE_MACRO(NAME) |
| #define | TVMET_IMPLEMENT_MACRO(NAME) |
| #define | TVMET_IMPLEMENT_MACRO(NAME, TP) |
| #define | TVMET_IMPLEMENT_MACRO(NAME) |
| #define TVMET_DECLARE_MACRO | ( | NAME | ) |
template<class E1, std::size_t Rows, std::size_t Cols, class E2> \ XprMatrix< \ XprBinOp< \ Fcnl_##NAME<typename E1::value_type, typename E2::value_type>, \ XprMatrix<E1, Rows, Cols>, \ XprMatrix<E2, Rows, Cols> \ >, \ Rows, Cols \ > \ NAME(const XprMatrix<E1, Rows, Cols>& lhs, \ const XprMatrix<E2, Rows, Cols>& rhs) TVMET_CXX_ALWAYS_INLINE;
| #define TVMET_DECLARE_MACRO | ( | NAME, | |
| TP | |||
| ) |
template<class E, std::size_t Rows, std::size_t Cols> \ XprMatrix< \ XprBinOp< \ Fcnl_##NAME<typename E::value_type, TP >, \ XprMatrix<E, Rows, Cols>, \ XprLiteral< TP > \ >, \ Rows, Cols \ > \ NAME(const XprMatrix<E, Rows, Cols>& lhs, \ TP rhs) TVMET_CXX_ALWAYS_INLINE;
| #define TVMET_DECLARE_MACRO | ( | NAME | ) |
template<class E, std::size_t Rows, std::size_t Cols, class T> \ XprMatrix< \ XprBinOp< \ Fcnl_##NAME<typename E::value_type, std::complex<T> >, \ XprMatrix<E, Rows, Cols>, \ XprLiteral< std::complex<T> > \ >, \ Rows, Cols \ > \ NAME(const XprMatrix<E, Rows, Cols>& lhs, \ const std::complex<T>& rhs) TVMET_CXX_ALWAYS_INLINE;
| #define TVMET_IMPLEMENT_MACRO | ( | NAME | ) |
template<class E1, std::size_t Rows, std::size_t Cols, class E2> \ inline \ XprMatrix< \ XprBinOp< \ Fcnl_##NAME<typename E1::value_type, typename E2::value_type>, \ XprMatrix<E1, Rows, Cols>, \ XprMatrix<E2, Rows, Cols> \ >, \ Rows, Cols \ > \ NAME(const XprMatrix<E1, Rows, Cols>& lhs, const XprMatrix<E2, Rows, Cols>& rhs) { \ typedef XprBinOp< \ Fcnl_##NAME<typename E1::value_type, typename E2::value_type>, \ XprMatrix<E1, Rows, Cols>, \ XprMatrix<E2, Rows, Cols> \ > expr_type; \ return XprMatrix<expr_type, Rows, Cols>( \ expr_type(lhs, rhs)); \ }
| #define TVMET_IMPLEMENT_MACRO | ( | NAME, | |
| TP | |||
| ) |
template<class E, std::size_t Rows, std::size_t Cols> \ inline \ XprMatrix< \ XprBinOp< \ Fcnl_##NAME<typename E::value_type, TP >, \ XprMatrix<E, Rows, Cols>, \ XprLiteral< TP > \ >, \ Rows, Cols \ > \ NAME(const XprMatrix<E, Rows, Cols>& lhs, TP rhs) { \ typedef XprBinOp< \ Fcnl_##NAME<typename E::value_type, TP >, \ XprMatrix<E, Rows, Cols>, \ XprLiteral< TP > \ > expr_type; \ return XprMatrix<expr_type, Rows, Cols>( \ expr_type(lhs, XprLiteral< TP >(rhs))); \ }
| #define TVMET_IMPLEMENT_MACRO | ( | NAME | ) |
template<class E, std::size_t Rows, std::size_t Cols, class T> \ inline \ XprMatrix< \ XprBinOp< \ Fcnl_##NAME<typename E::value_type, std::complex<T> >, \ XprMatrix<E, Rows, Cols>, \ XprLiteral< std::complex<T> > \ >, \ Rows, Cols \ > \ NAME(const XprMatrix<E, Rows, Cols>& lhs, const std::complex<T>& rhs) { \ typedef XprBinOp< \ Fcnl_##NAME<typename E::value_type, std::complex<T> >, \ XprMatrix<E, Rows, Cols>, \ XprLiteral< std::complex<T> > \ > expr_type; \ return XprMatrix<expr_type, Rows, Cols>( \ expr_type(lhs, XprLiteral< std::complex<T> >(rhs))); \ }
|
Author: |