diff options
author | Erik Schnetter <schnetter@gmail.com> | 2012-11-16 18:55:47 -0500 |
---|---|---|
committer | Erik Schnetter <schnetter@gmail.com> | 2012-11-22 09:59:16 -0500 |
commit | 53a1c146bc09c67ea709c14dab4c73ebebed86dc (patch) | |
tree | b5bd034cf3c0e6de4cb422ceffe52e01de06f505 /Carpet/CarpetInterp2/src/fasterp.hh | |
parent | df843816d07d18e2c0407915d1b8113bfe7ab720 (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.hh | 45 |
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; }; |