diff --git a/libsharp/sharp.c b/libsharp/sharp.c index d35a49f..1a016a0 100644 --- a/libsharp/sharp.c +++ b/libsharp/sharp.c @@ -52,10 +52,7 @@ static void get_chunk_info (int ndata, int nmult, int *nchunks, int *chunksize) { *chunksize = (ndata+nchunks_max-1)/nchunks_max; if (*chunksize>=chunksize_min) // use max number of chunks - { *chunksize = ((*chunksize+nmult-1)/nmult)*nmult; - *nchunks = nchunks_max; - } else // need to adjust chunksize and nchunks { *nchunks = (ndata+chunksize_min-1)/chunksize_min; @@ -63,6 +60,7 @@ static void get_chunk_info (int ndata, int nmult, int *nchunks, int *chunksize) if (*nchunks>1) *chunksize = ((*chunksize+nmult-1)/nmult)*nmult; } + *nchunks = (ndata+(*chunksize)-1)/(*chunksize); } static int sharp_get_mlim (int lmax, int spin, double sth, double cth,