diff --git a/libsharp/sharp_core.c b/libsharp/sharp_core.c index 5060137..f232018 100644 --- a/libsharp/sharp_core.c +++ b/libsharp/sharp_core.c @@ -241,9 +241,9 @@ NOINLINE static void iter_to_ieee_spin (const sharp_Ylmgen_C * restrict gen, d->l1p[i] = vzero; d->l1m[i] = vzero; d->l2p[i] = prefac*ccp[i]; - d->scp[i] = prescale*ccps[i]; + d->scp[i] = prescale+ccps[i]; d->l2m[i] = prefac*csp[i]; - d->scm[i] = prescale*csps[i]; + d->scm[i] = prescale+csps[i]; Tvnormalize(&d->l2m[i],&d->scm[i],sharp_fbighalf); Tvnormalize(&d->l2p[i],&d->scp[i],sharp_fbighalf); @@ -270,6 +270,7 @@ NOINLINE static void iter_to_ieee_spin (const sharp_Ylmgen_C * restrict gen, while (below_limit) { if (l+2>gen->lmax) {*l_=gen->lmax+1;return;} + below_limit=1; for (int i=0; il1p[i],&d->l1m[i],&d->l2p[i],&d->l2m[i],d->cth[i],fx[l+1]); @@ -827,7 +828,6 @@ NOINLINE static void inner_loop_m2a(sharp_job *job, const int *ispair, while (ith