aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetInterp2/src/fasterp.hh
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2012-11-16 18:55:47 -0500
committerErik Schnetter <schnetter@gmail.com>2012-11-22 09:59:16 -0500
commit53a1c146bc09c67ea709c14dab4c73ebebed86dc (patch)
treeb5bd034cf3c0e6de4cb422ceffe52e01de06f505 /Carpet/CarpetInterp2/src/fasterp.hh
parentdf843816d07d18e2c0407915d1b8113bfe7ab720 (diff)
Allow padding in transport operators
Rewrite padding infrastructure. Add padded array extents to transport operator APIs.
Diffstat (limited to 'Carpet/CarpetInterp2/src/fasterp.hh')
-rw-r--r--Carpet/CarpetInterp2/src/fasterp.hh45
1 files changed, 36 insertions, 9 deletions
diff --git a/Carpet/CarpetInterp2/src/fasterp.hh b/Carpet/CarpetInterp2/src/fasterp.hh
index 081b1c82d..37deea70e 100644
--- a/Carpet/CarpetInterp2/src/fasterp.hh
+++ b/Carpet/CarpetInterp2/src/fasterp.hh
@@ -191,17 +191,23 @@ namespace CarpetInterp2 {
#ifdef CARPETINTERP2_CHECK
public:
- ivect saved_lsh; // copy of lsh
+ ivect saved_ash; // copy of ash
private:
#endif
public:
int
calc_stencil (fasterp_iloc_t const & iloc,
+ ivect const & ash,
+#ifdef CARPETINTERP2_CHECK
ivect const & lsh,
+#endif
int order);
void
- interpolate (ivect const & lsh,
+ interpolate (ivect const & ash,
+#ifdef CARPETINTERP2_CHECK
+ ivect const & lsh,
+#endif
int order,
vector<CCTK_REAL const *> const & varptrs,
CCTK_REAL * restrict vals)
@@ -210,13 +216,19 @@ namespace CarpetInterp2 {
private:
template <int O>
void
- interpolate (ivect const & lsh,
+ interpolate (ivect const & ash,
+#ifdef CARPETINTERP2_CHECK
+ ivect const & lsh,
+#endif
vector<CCTK_REAL const *> const & varptrs,
CCTK_REAL * restrict vals)
const;
template <int O0, int O1, int O2>
void
- interpolate (ivect const & lsh,
+ interpolate (ivect const & ash,
+#ifdef CARPETINTERP2_CHECK
+ ivect const & lsh,
+#endif
vector<CCTK_REAL const *> const & varptrs,
CCTK_REAL * restrict vals)
const;
@@ -251,17 +263,23 @@ namespace CarpetInterp2 {
#ifdef CARPETINTERP2_CHECK
public:
- ivect saved_lsh; // copy of lsh
+ ivect saved_ash; // copy of ash
private:
#endif
public:
int
calc_stencil (fasterp_iloc_t const & iloc,
+ ivect const & ash,
+#ifdef CARPETINTERP2_CHECK
ivect const & lsh,
- int unused_order);
+#endif
+ int /*order*/);
void
- interpolate (ivect const & lsh,
+ interpolate (ivect const & ash,
+#ifdef CARPETINTERP2_CHECK
+ ivect const & lsh,
+#endif
int order,
vector<CCTK_REAL const *> const & varptrs,
CCTK_REAL * restrict vals)
@@ -270,13 +288,19 @@ namespace CarpetInterp2 {
private:
template <int O>
void
- interpolate (ivect const & lsh,
+ interpolate (ivect const & ash,
+#ifdef CARPETINTERP2_CHECK
+ ivect const & lsh,
+#endif
vector<CCTK_REAL const *> const & varptrs,
CCTK_REAL * restrict vals)
const;
template <int O0, int O1, int O2>
void
- interpolate (ivect const & lsh,
+ interpolate (ivect const & ash,
+#ifdef CARPETINTERP2_CHECK
+ ivect const & lsh,
+#endif
vector<CCTK_REAL const *> const & varptrs,
CCTK_REAL * restrict vals)
const;
@@ -317,7 +341,10 @@ namespace CarpetInterp2 {
vector<FASTERP> locs;
mrc_t mrc; // source map, refinement level, component
+ ivect ash;
+#ifdef CARPETINTERP2_CHECK
ivect lsh;
+#endif
int offset;
int npoints;
};