diff --git a/nifty_gridder.cc b/nifty_gridder.cc index 50fe3bd94fa65d5599c37641a02afcbd6df8903b..f597b1f93eed1f5066682634b0f770322e5001a4 100644 --- a/nifty_gridder.cc +++ b/nifty_gridder.cc @@ -1474,7 +1474,7 @@ template<typename T> pyarr_c<complex<T>> vis2dirty_wstack(const Baselines<T> &ba size_t nvis = size_t(vis_.shape(0)); checkArray(idx_, "idx", {nvis}); auto vis=vis_.template unchecked<1>(); - auto idx = idx_.template unchecked<1>(); + auto idx=idx_.template unchecked<1>(); // determine w values for every visibility, and min/max w; T wmin=T(1e38), wmax=T(-1e38); @@ -1534,7 +1534,8 @@ cout << "working on w plane #" << iw << endl; if (abs(wcur-wval[ipart]) < dwmax) { double x=2./(w_supp*dw)*abs(wcur-wval[ipart]); - vis_loc[cnt] = vis[ipart]*exp(beta*sqrt(1.-x*x)); +myassert(cnt<nvis_plane[iw],"must not happen"); + vis_loc[cnt] = vis[ipart]*exp(beta*(sqrt(1.-x*x)-1.)); idx_loc[cnt] = idx[ipart]; ++cnt; }