3#include <amdis/common/FieldMatVec.hpp>
4#include <amdis/operations/Arithmetic.hpp>
5#include <amdis/operations/Basic.hpp>
6#include <amdis/operations/CMath.hpp>
7#include <amdis/operations/Composer.hpp>
20 template <
class T0,
class T1,
int N>
21 constexpr auto operator()(Dune::FieldVector<T0,N>
const& lhs, Dune::FieldVector<T1,N>
const& rhs)
const
26 friend constexpr int order(
Dot const&,
int d1,
int d2)
31 friend constexpr auto partial(
Dot const&, index_t<0>)
36 friend constexpr auto partial(
Dot const&, index_t<1>)
48 constexpr auto operator()(V
const& vec)
const
50 using Dune::unary_dot;
51 return unary_dot(vec);
54 friend constexpr int order(
UnaryDot const&,
int d)
59 friend auto partial(
UnaryDot const&, index_t<0>)
76 constexpr auto operator()(V
const& vec)
const
88 constexpr auto operator()(M
const& mat)
const
94 friend constexpr int order(
Trans const&,
int d)
103 template <
class T1,
int M,
int N,
class T2>
104 constexpr auto operator()(Dune::FieldMatrix<T1,M,N>
const& lhs, Dune::FieldVector<T2,N>
const& rhs)
const
106 using T =
typename Dune::PromotionTraits<T1,T2>::PromotedType;
107 Dune::FieldVector<T,M> result;
112 friend constexpr int order(
Mv const&,
int d1,
int d2)
117 friend constexpr auto partial(
Mv const&, index_t<0>)
122 friend constexpr auto partial(
Mv const&, index_t<1>)
132 template <
class T1,
int M,
int N,
class T2>
133 constexpr auto operator()(Dune::FieldMatrix<T1,M,N>
const& lhs, Dune::FieldVector<T2,M>
const& rhs)
const
135 using T =
typename Dune::PromotionTraits<T1,T2>::PromotedType;
136 Dune::FieldVector<T,N> result;
137 lhs.mtv(rhs, result);
141 friend constexpr int order(
Mtv const&,
int d1,
int d2)
146 friend constexpr auto partial(
Mtv const&, index_t<0>)
151 friend constexpr auto partial(
Mtv const&, index_t<1>)
Composition of Functors.
Definition Composer.hpp:30
(Binary-)Functor representing the euclidean dot-product
Definition FieldMatVec.hpp:19
(Unary-)Functor representing the identity
Definition Basic.hpp:74
(Binary-)Functor representing the matrix^T-vector
Definition FieldMatVec.hpp:131
Functor that represents A*B.
Definition Arithmetic.hpp:101
(Binary-)Functor representing the matrix-vector
Definition FieldMatVec.hpp:102
Functor representing a static constant value.
Definition Basic.hpp:47
Definition FieldMatVec.hpp:86
(Unary-)Functor representing the euclidean 2-norm
Definition FieldMatVec.hpp:70
(Unary-)Functor representing the euclidean dot-product
Definition FieldMatVec.hpp:46