From 18a5b96734a777431d60afb71b1fd56bd70d253f Mon Sep 17 00:00:00 2001
From: Simon Praetorius <simon.praetorius@tu-dresden.de>
Date: Thu, 19 Jul 2018 15:05:00 +0200
Subject: [PATCH] added dot() for FieldMatrix with 1 row

---
 src/amdis/common/FieldMatVec.hpp     | 3 +++
 src/amdis/common/FieldMatVec.inc.hpp | 6 ++++++
 2 files changed, 9 insertions(+)

diff --git a/src/amdis/common/FieldMatVec.hpp b/src/amdis/common/FieldMatVec.hpp
index 3786be2b..7d0a438f 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 83254c16..b60db4cc 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
-- 
GitLab