diff options
Diffstat (limited to 'Carpet/CarpetLib/src/copy_3d.cc')
-rw-r--r-- | Carpet/CarpetLib/src/copy_3d.cc | 70 |
1 files changed, 20 insertions, 50 deletions
diff --git a/Carpet/CarpetLib/src/copy_3d.cc b/Carpet/CarpetLib/src/copy_3d.cc index 3fa7dd872..45a5c4331 100644 --- a/Carpet/CarpetLib/src/copy_3d.cc +++ b/Carpet/CarpetLib/src/copy_3d.cc @@ -29,23 +29,13 @@ namespace CarpetLib { template <typename T> void copy_3d (T const * restrict const src, - ivect3 const & srcext, + ivect3 const & restrict srcext, T * restrict const dst, - ivect3 const & dstext, - ibbox3 const & srcbbox, - ibbox3 const & dstbbox, - ibbox3 const & regbbox) + ivect3 const & restrict dstext, + ibbox3 const & restrict srcbbox, + ibbox3 const & restrict dstbbox, + ibbox3 const & restrict regbbox) { -#if 0 - // This is already guaranteed by bbox - if (any (srcbbox.stride() == 0 or - dstbbox.stride() == 0 or - regbbox.stride() == 0)) - { - CCTK_WARN (0, "Internal error: stride is zero"); - } -#endif - if (any (srcbbox.stride() != regbbox.stride() or dstbbox.stride() != regbbox.stride())) { @@ -56,32 +46,12 @@ namespace CarpetLib { CCTK_WARN (0, "Internal error: strides disagree"); } -#if 0 - // This needs to be allowed for cell centring - if (any (srcbbox.lower() % srcbbox.stride() != 0 or - dstbbox.lower() % dstbbox.stride() != 0 or - regbbox.lower() % regbbox.stride() != 0)) - { - CCTK_WARN (0, "Internal error: array origins are not integer multiples of the strides"); - } -#endif - // This could be handled, but is likely to point to an error // elsewhere if (regbbox.empty()) { CCTK_WARN (0, "Internal error: region extent is empty"); } -#if 0 - // This is already guaranteed by bbox - if (any ((srcbbox.upper() - srcbbox.lower()) % srcbbox.stride() != 0 or - (dstbbox.upper() - dstbbox.lower()) % dstbbox.stride() != 0 or - (regbbox.upper() - regbbox.lower()) % regbbox.stride() != 0)) - { - CCTK_WARN (0, "Internal error: array extents are not integer multiples of the strides"); - } -#endif - if (not regbbox.is_contained_in(srcbbox) or not regbbox.is_contained_in(dstbbox)) { @@ -144,32 +114,32 @@ namespace CarpetLib { template void copy_3d (CCTK_INT const * restrict const src, - ivect3 const & srcext, + ivect3 const & restrict srcext, CCTK_INT * restrict const dst, - ivect3 const & dstext, - ibbox3 const & srcbbox, - ibbox3 const & dstbbox, - ibbox3 const & regbbox); + ivect3 const & restrict dstext, + ibbox3 const & restrict srcbbox, + ibbox3 const & restrict dstbbox, + ibbox3 const & restrict regbbox); template void copy_3d (CCTK_REAL const * restrict const src, - ivect3 const & srcext, + ivect3 const & restrict srcext, CCTK_REAL * restrict const dst, - ivect3 const & dstext, - ibbox3 const & srcbbox, - ibbox3 const & dstbbox, - ibbox3 const & regbbox); + ivect3 const & restrict dstext, + ibbox3 const & restrict srcbbox, + ibbox3 const & restrict dstbbox, + ibbox3 const & restrict regbbox); template void copy_3d (CCTK_COMPLEX const * restrict const src, - ivect3 const & srcext, + ivect3 const & restrict srcext, CCTK_COMPLEX * restrict const dst, - ivect3 const & dstext, - ibbox3 const & srcbbox, - ibbox3 const & dstbbox, - ibbox3 const & regbbox); + ivect3 const & restrict dstext, + ibbox3 const & restrict srcbbox, + ibbox3 const & restrict dstbbox, + ibbox3 const & restrict regbbox); |