diff --git a/src/fourier/details/healpix_transform.hpp b/src/fourier/details/healpix_transform.hpp index 6e89213..d3f7927 100644 --- a/src/fourier/details/healpix_transform.hpp +++ b/src/fourier/details/healpix_transform.hpp @@ -36,6 +36,8 @@ knowledge of the CeCILL license and that you accept its terms. #ifndef __COSMOTOOL_FOURIER_HEALPIX_DETAILS_TRANSFORM_HPP #define __COSMOTOOL_FOURIER_HEALPIX_DETAILS_TRANSFORM_HPP +#include + namespace CosmoTool { @@ -65,6 +67,13 @@ namespace CosmoTool sharp_make_triangular_alm_info (Lmax, Mmax, 1, &ainfo); } + HealpixFourierTransform(long nSide, long Lmax, long Mmax, int iterate = 0, const std::valarray& weights ) + : realMap(nSide), fourierMap(Lmax, Mmax), ainfo(0), ginfo(0), m_iterate(iterate) + { + sharp_make_weighted_healpix_geom_info (nSide, 1, &weights[0], &ginfo); + sharp_make_triangular_alm_info (Lmax, Mmax, 1, &ainfo); + } + virtual ~HealpixFourierTransform() { sharp_destroy_geom_info(ginfo); diff --git a/src/yorick_nc4.cpp b/src/yorick_nc4.cpp index 9a6f501..ed4cd9e 100644 --- a/src/yorick_nc4.cpp +++ b/src/yorick_nc4.cpp @@ -131,9 +131,9 @@ public: { if (curPos[i] == dimList[i].getSize()) { - curPos[i-1]++; - curPos[i] = 0; - } + curPos[i-1]++; + curPos[i] = 0; + } } } }; @@ -174,7 +174,7 @@ namespace CosmoTool { vector ldimList; for (uint32_t i = 0; i < rank; i++) - ldimList.push_back(dimArray[rank-1-i]); + ldimList.push_back(dimArray[i]); OutputGenCDF *impl = new OutputGenCDF(f, v, ldimList, rank); return ProgressiveOutput(impl);