aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/prolongate_3d_cc_eno_rf2.cc
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@cct.lsu.edu>2012-01-11 16:00:56 -0500
committerBarry Wardell <barry.wardell@gmail.com>2012-09-11 18:15:41 +0100
commite18cbfdb7272168dc7ecd765c3c7e7ce752a1f98 (patch)
tree313601349b2627deaaae1a6de742cab7aa3b21c6 /Carpet/CarpetLib/src/prolongate_3d_cc_eno_rf2.cc
parent603b8b1ce46ccd507475ef04282fbe020d947521 (diff)
CarpetLib: Extend operator API to allow hyperslabbing
Extend API of grid operators and of gdata::copy_from, gdata::transfer_from to allow hyperslabbing Implement hyperslabbing in copy_3d.cc
Diffstat (limited to 'Carpet/CarpetLib/src/prolongate_3d_cc_eno_rf2.cc')
-rw-r--r--Carpet/CarpetLib/src/prolongate_3d_cc_eno_rf2.cc70
1 files changed, 38 insertions, 32 deletions
diff --git a/Carpet/CarpetLib/src/prolongate_3d_cc_eno_rf2.cc b/Carpet/CarpetLib/src/prolongate_3d_cc_eno_rf2.cc
index a1d3b2809..e9a64ecc8 100644
--- a/Carpet/CarpetLib/src/prolongate_3d_cc_eno_rf2.cc
+++ b/Carpet/CarpetLib/src/prolongate_3d_cc_eno_rf2.cc
@@ -950,8 +950,12 @@ namespace CarpetLib {
ivect3 const & restrict dstext,
ibbox3 const & restrict srcbbox,
ibbox3 const & restrict dstbbox,
- ibbox3 const & restrict regbbox)
+ ibbox3 const & restrict,
+ ibbox3 const & restrict regbbox,
+ void * extraargs)
{
+ assert (not extraargs);
+
static_assert (ORDER>=0, "ORDER must be non-negative");
typedef typename typeprops<T>::real RT;
@@ -1274,7 +1278,6 @@ namespace CarpetLib {
#define TYPECASE(N,T) \
\
- \
template <> \
void \
prolongate_3d_cc_eno_rf2<T,2> (T const * restrict const src, \
@@ -1283,7 +1286,9 @@ namespace CarpetLib {
ivect3 const & restrict dstext, \
ibbox3 const & restrict srcbbox, \
ibbox3 const & restrict dstbbox, \
- ibbox3 const & restrict regbbox) \
+ ibbox3 const & restrict, \
+ ibbox3 const & restrict regbbox, \
+ void * extraargs) \
{ \
CCTK_WARN (CCTK_WARN_ABORT, \
"ENO operators are not supported for CCTK_COMPLEX"); \
@@ -1297,12 +1302,13 @@ namespace CarpetLib {
ivect3 const & restrict dstext, \
ibbox3 const & restrict srcbbox, \
ibbox3 const & restrict dstbbox, \
- ibbox3 const & restrict regbbox) \
+ ibbox3 const & restrict, \
+ ibbox3 const & restrict regbbox, \
+ void * extraargs) \
{ \
CCTK_WARN (CCTK_WARN_ABORT, \
"ENO operators are not supported for CCTK_COMPLEX"); \
- }
-
+ }
#define CARPET_COMPLEX
#include "typecase.hh"
@@ -1311,38 +1317,38 @@ namespace CarpetLib {
-#define TYPECASE(N,T) \
- \
- \
- template \
- void \
- prolongate_3d_cc_eno_rf2<T,2> (T const * restrict const src, \
- ivect3 const & restrict srcext, \
- T * restrict const dst, \
- ivect3 const & restrict dstext, \
- ibbox3 const & restrict srcbbox, \
- ibbox3 const & restrict dstbbox, \
- ibbox3 const & restrict regbbox); \
- \
- \
- template \
- void \
- prolongate_3d_cc_eno_rf2<T,3> (T const * restrict const src, \
- ivect3 const & restrict srcext, \
- T * restrict const dst, \
- ivect3 const & restrict dstext, \
- ibbox3 const & restrict srcbbox, \
- ibbox3 const & restrict dstbbox, \
- ibbox3 const & restrict regbbox); \
- \
+#define TYPECASE(N,T) \
+ \
+ template \
+ void \
+ prolongate_3d_cc_eno_rf2<T,2> (T const * restrict const src, \
+ ivect3 const & restrict srcext, \
+ T * restrict const dst, \
+ ivect3 const & restrict dstext, \
+ ibbox3 const & restrict srcbbox, \
+ ibbox3 const & restrict dstbbox, \
+ ibbox3 const & restrict, \
+ ibbox3 const & restrict regbbox, \
+ void * extraargs); \
+ \
+ \
+ template \
+ void \
+ prolongate_3d_cc_eno_rf2<T,3> (T const * restrict const src, \
+ ivect3 const & restrict srcext, \
+ T * restrict const dst, \
+ ivect3 const & restrict dstext, \
+ ibbox3 const & restrict srcbbox, \
+ ibbox3 const & restrict dstbbox, \
+ ibbox3 const & restrict, \
+ ibbox3 const & restrict regbbox, \
+ void * extraargs);
#define CARPET_NO_INT
#define CARPET_NO_COMPLEX
#include "typecase.hh"
#undef TYPECASE
-
-
} // namespace CarpetLib