diff --git a/src/amdis/common/FieldMatVec.hpp b/src/amdis/common/FieldMatVec.hpp index 3786be2b455a22901b47b05685c7db605397c1dd..7d0a438f8d05e9200f4cf1bd6fce3e7d9938e50c 100644 --- a/src/amdis/common/FieldMatVec.hpp +++ b/src/amdis/common/FieldMatVec.hpp @@ -53,6 +53,9 @@ namespace AMDiS REQUIRES( N!=1 && M!=1 )> auto operator*(FieldVector<T,N> const& v, FieldVector<T,M> const& w); + template <class T, class S, int N> + auto dot(FieldMatrix<T,1,N> const& vec1, FieldMatrix<S,1,N> const& vec2); + // ---------------------------------------------------------------------------- /// Sum of vector entires. diff --git a/src/amdis/common/FieldMatVec.inc.hpp b/src/amdis/common/FieldMatVec.inc.hpp index 83254c16d7663a36a2df2d4135f127650eae0ebf..b60db4cc72491bc5cb3fe4216418a1b47034ba47 100644 --- a/src/amdis/common/FieldMatVec.inc.hpp +++ b/src/amdis/common/FieldMatVec.inc.hpp @@ -85,6 +85,12 @@ auto operator*(FieldVector<T,N> const& v, FieldVector<T,M> const& w) return v.dot(w); } +template <class T, class S, int N> +auto dot(FieldMatrix<T,1,N> const& vec1, FieldMatrix<S,1,N> const& vec2) +{ + return vec1[0].dot(vec2[0]); +} + // ---------------------------------------------------------------------------- namespace Impl