diff --git a/nifty_gridder.cc b/nifty_gridder.cc index 68a16b6558884f0d8242a267693e5b118d2cda97..3397f047e0335c2c388fa54257283f693f73cb3f 100644 --- a/nifty_gridder.cc +++ b/nifty_gridder.cc @@ -28,14 +28,6 @@ #include "pocketfft_hdronly.h" -#ifdef __GNUC__ -//#define RESTRICT __restrict__ -#define RESTRICT -#define NOINLINE __attribute__ ((noinline)) -#else -#define RESTRICT -#endif - using namespace std; namespace py = pybind11; @@ -960,8 +952,8 @@ template<typename T> pyarr_c<complex<T>> vis2grid_c( Helper<T> hlp(gconf, nullptr, grid); T emb = exp(-2*beta); int jump = hlp.lineJump(); - const T * RESTRICT ku = hlp.kernel.data(); - const T * RESTRICT kv = hlp.kernel.data()+w; + const T * ku = hlp.kernel.data(); + const T * kv = hlp.kernel.data()+w; // Loop over sampling points #pragma omp for schedule(guided,100) @@ -969,7 +961,7 @@ template<typename T> pyarr_c<complex<T>> vis2grid_c( { UVW<T> coord = baselines.effectiveCoord(idx(ipart)); hlp.prep(coord.u, coord.v); - auto * RESTRICT ptr = hlp.p0w; + auto * ptr = hlp.p0w; auto v(vis(ipart)*emb); if (have_wgt) v*=wgt(ipart); @@ -1068,8 +1060,8 @@ template<typename T> pyarr_c<complex<T>> ms2grid_c( Helper<T> hlp(gconf, nullptr, grid); T emb = exp(-2*beta); int jump = hlp.lineJump(); - const T * RESTRICT ku = hlp.kernel.data(); - const T * RESTRICT kv = hlp.kernel.data()+w; + const T * ku = hlp.kernel.data(); + const T * kv = hlp.kernel.data()+w; // Loop over sampling points #pragma omp for schedule(guided,100) @@ -1080,7 +1072,7 @@ template<typename T> pyarr_c<complex<T>> ms2grid_c( auto chan = tidx-row*nchan; UVW<T> coord = baselines.effectiveCoord(tidx); hlp.prep(coord.u, coord.v); - auto * RESTRICT ptr = hlp.p0w; + auto * ptr = hlp.p0w; auto v(ms(row,chan)*emb); if (have_wgt) v*=wgt(row, chan); @@ -1130,8 +1122,8 @@ template<typename T> pyarr_c<complex<T>> grid2vis_c( Helper<T> hlp(gconf, grid, nullptr); T emb = exp(-2*beta); int jump = hlp.lineJump(); - const T * RESTRICT ku = hlp.kernel.data(); - const T * RESTRICT kv = hlp.kernel.data()+w; + const T * ku = hlp.kernel.data(); + const T * kv = hlp.kernel.data()+w; #pragma omp for schedule(guided,100) for (size_t ipart=0; ipart<nvis; ++ipart) @@ -1139,7 +1131,7 @@ template<typename T> pyarr_c<complex<T>> grid2vis_c( UVW<T> coord = baselines.effectiveCoord(idx(ipart)); hlp.prep(coord.u, coord.v); complex<T> r = 0; - const auto * RESTRICT ptr = hlp.p0r; + const auto * ptr = hlp.p0r; for (size_t cu=0; cu<w; ++cu) { complex<T> tmp(0); @@ -1212,8 +1204,8 @@ template<typename T> pyarr_c<complex<T>> grid2ms_c(const Baselines<T> &baselines Helper<T> hlp(gconf, grid, nullptr); T emb = exp(-2*beta); int jump = hlp.lineJump(); - const T * RESTRICT ku = hlp.kernel.data(); - const T * RESTRICT kv = hlp.kernel.data()+w; + const T * ku = hlp.kernel.data(); + const T * kv = hlp.kernel.data()+w; #pragma omp for schedule(guided,100) for (size_t ipart=0; ipart<nvis; ++ipart) @@ -1224,7 +1216,7 @@ template<typename T> pyarr_c<complex<T>> grid2ms_c(const Baselines<T> &baselines UVW<T> coord = baselines.effectiveCoord(tidx); hlp.prep(coord.u, coord.v); complex<T> r = 0; - const auto * RESTRICT ptr = hlp.p0r; + const auto * ptr = hlp.p0r; for (size_t cu=0; cu<w; ++cu) { complex<T> tmp(0); @@ -1278,8 +1270,8 @@ template<typename T> pyarr_c<complex<T>> apply_holo( Helper<T> hlp(gconf, grid, ogrid); T emb = exp(-2*beta); int jump = hlp.lineJump(); - const T * RESTRICT ku = hlp.kernel.data(); - const T * RESTRICT kv = hlp.kernel.data()+w; + const T * ku = hlp.kernel.data(); + const T * kv = hlp.kernel.data()+w; #pragma omp for schedule(guided,100) for (size_t ipart=0; ipart<nvis; ++ipart) @@ -1288,7 +1280,7 @@ template<typename T> pyarr_c<complex<T>> apply_holo( UVW<T> coord = baselines.effectiveCoord(tidx); hlp.prep(coord.u, coord.v); complex<T> r = 0; - const auto * RESTRICT ptr = hlp.p0r; + const auto * ptr = hlp.p0r; for (size_t cu=0; cu<w; ++cu) { complex<T> tmp(0); @@ -1303,7 +1295,7 @@ template<typename T> pyarr_c<complex<T>> apply_holo( auto twgt = wgt(ipart); r*=twgt*twgt; } - auto * RESTRICT wptr = hlp.p0w; + auto * wptr = hlp.p0w; for (size_t cu=0; cu<w; ++cu) { complex<T> tmp(r*ku[cu]); @@ -1355,15 +1347,15 @@ template<typename T> pyarr_c<T> get_correlations( Helper<T,T> hlp(gconf, nullptr, ogrid); T emb = exp(-2*beta); int jump = hlp.lineJump(); - const T * RESTRICT ku = hlp.kernel.data(); - const T * RESTRICT kv = hlp.kernel.data()+w; + const T * ku = hlp.kernel.data(); + const T * kv = hlp.kernel.data()+w; #pragma omp for schedule(guided,100) for (size_t ipart=0; ipart<nvis; ++ipart) { UVW<T> coord = baselines.effectiveCoord(idx(ipart)); hlp.prep(coord.u, coord.v); - auto * RESTRICT wptr = hlp.p0w + u0*jump; + auto * wptr = hlp.p0w + u0*jump; auto f0 = emb*emb; if (have_wgt) {