summaryrefslogtreecommitdiff
path: root/src/functors/genericF.hh
diff options
context:
space:
mode:
authorAdrian Kummerlaender2019-06-24 14:43:36 +0200
committerAdrian Kummerlaender2019-06-24 14:43:36 +0200
commit94d3e79a8617f88dc0219cfdeedfa3147833719d (patch)
treec1a6894679563e271f5c6ea7a17fa3462f7212a3 /src/functors/genericF.hh
downloadgrid_refinement_openlb-94d3e79a8617f88dc0219cfdeedfa3147833719d.tar
grid_refinement_openlb-94d3e79a8617f88dc0219cfdeedfa3147833719d.tar.gz
grid_refinement_openlb-94d3e79a8617f88dc0219cfdeedfa3147833719d.tar.bz2
grid_refinement_openlb-94d3e79a8617f88dc0219cfdeedfa3147833719d.tar.lz
grid_refinement_openlb-94d3e79a8617f88dc0219cfdeedfa3147833719d.tar.xz
grid_refinement_openlb-94d3e79a8617f88dc0219cfdeedfa3147833719d.tar.zst
grid_refinement_openlb-94d3e79a8617f88dc0219cfdeedfa3147833719d.zip
Initialize at openlb-1-3
Diffstat (limited to 'src/functors/genericF.hh')
-rw-r--r--src/functors/genericF.hh107
1 files changed, 107 insertions, 0 deletions
diff --git a/src/functors/genericF.hh b/src/functors/genericF.hh
new file mode 100644
index 0000000..632c643
--- /dev/null
+++ b/src/functors/genericF.hh
@@ -0,0 +1,107 @@
+/* This file is part of the OpenLB library
+*
+* Copyright (C) 2012-2013 Lukas Baron, Mathias J. Krause, Albert Mink
+* E-mail contact: info@openlb.net
+* The most recent release of OpenLB can be downloaded at
+* <http://www.openlb.net/>
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public
+* License along with this program; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+* Boston, MA 02110-1301, USA.
+*/
+
+#ifndef GENERIC_F_HH
+#define GENERIC_F_HH
+
+
+/** \file
+ * The description of a generic interface for all functor classes
+ * -- generic implementation.
+ */
+
+#include"genericF.h"
+
+
+namespace olb {
+
+template <typename T, typename S>
+GenericF<T,S>::GenericF (int targetDim, int sourceDim) : _n(targetDim), _m(sourceDim)
+{
+}
+
+template <typename T, typename S>
+GenericF<T,S>::~GenericF () {}
+
+template <typename T, typename S>
+int GenericF<T,S>::getSourceDim() const
+{
+ return _m;
+}
+
+template <typename T, typename S>
+int GenericF<T,S>::getTargetDim() const
+{
+ return _n;
+}
+
+template <typename T, typename S>
+std::string& GenericF<T,S>::getName()
+{
+ return _name;
+}
+
+template <typename T, typename S>
+std::string const& GenericF<T,S>::getName() const
+{
+ return _name;
+}
+
+template <typename T, typename S>
+bool GenericF<T,S>::operator() (T output[])
+{
+ S tmp[0];
+ return operator()(output,tmp);
+}
+
+template <typename T, typename S>
+bool GenericF<T,S>::operator() (T output[], S input0)
+{
+ S tmp[1] = {input0};
+ return operator()(output,tmp);
+}
+
+template <typename T, typename S>
+bool GenericF<T,S>::operator() (T output[], S input0, S input1)
+{
+ S tmp[2] = {input0,input1};
+ return operator()(output,tmp);
+}
+
+template <typename T, typename S>
+bool GenericF<T,S>::operator() (T output[], S input0, S input1, S input2)
+{
+ S tmp[3] = {input0,input1,input2};
+ return operator()(output,tmp);
+}
+
+template <typename T, typename S>
+bool GenericF<T,S>::operator() (T output[], S input0, S input1, S input2, S input3)
+{
+ S tmp[4] = {input0,input1,input2,input3};
+ return operator()(output,tmp);
+}
+
+} // end namespace olb
+
+#endif