bug fix for chunk computation

This commit is contained in:
Martin Reinecke 2013-01-11 13:59:54 +01:00
parent d6d008b4b3
commit 475123ec4e

View file

@ -52,10 +52,7 @@ static void get_chunk_info (int ndata, int nmult, int *nchunks, int *chunksize)
{ {
*chunksize = (ndata+nchunks_max-1)/nchunks_max; *chunksize = (ndata+nchunks_max-1)/nchunks_max;
if (*chunksize>=chunksize_min) // use max number of chunks if (*chunksize>=chunksize_min) // use max number of chunks
{
*chunksize = ((*chunksize+nmult-1)/nmult)*nmult; *chunksize = ((*chunksize+nmult-1)/nmult)*nmult;
*nchunks = nchunks_max;
}
else // need to adjust chunksize and nchunks else // need to adjust chunksize and nchunks
{ {
*nchunks = (ndata+chunksize_min-1)/chunksize_min; *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) if (*nchunks>1)
*chunksize = ((*chunksize+nmult-1)/nmult)*nmult; *chunksize = ((*chunksize+nmult-1)/nmult)*nmult;
} }
*nchunks = (ndata+(*chunksize)-1)/(*chunksize);
} }
static int sharp_get_mlim (int lmax, int spin, double sth, double cth, static int sharp_get_mlim (int lmax, int spin, double sth, double cth,