This commit is contained in:
Martin Reinecke 2018-12-19 15:18:43 +01:00
commit 915c189fd4
2 changed files with 9 additions and 21 deletions

View file

@ -262,10 +262,8 @@ NOINLINE static void calc_alm2map (sharp_job * restrict job,
d->lam1[i] = d->lam2[i];
d->lam2[i] = tmp;
if (rescale(&d->lam1[i], &d->lam2[i], &d->scale[i], vload(sharp_ftol)))
{
getCorfac(d->scale[i], &d->corfac[i], gen->cf);
full_ieee &= vallTrue(vge(d->scale[i],vload(sharp_minscale)));
}
full_ieee &= vallTrue(vge(d->scale[i],vload(sharp_minscale)));
}
l+=2; ++il;
}
@ -357,10 +355,8 @@ NOINLINE static void calc_map2alm (sharp_job * restrict job,
d->lam1[i] = d->lam2[i];
d->lam2[i] = tmp;
if (rescale(&d->lam1[i], &d->lam2[i], &d->scale[i], vload(sharp_ftol)))
{
getCorfac(d->scale[i], &d->corfac[i], gen->cf);
full_ieee &= vallTrue(vge(d->scale[i],vload(sharp_minscale)));
}
full_ieee &= vallTrue(vge(d->scale[i],vload(sharp_minscale)));
}
vhsum_cmplx_special (atmp[0], atmp[1], atmp[2], atmp[3], &alm[l]);
l+=2; ++il;
@ -538,15 +534,11 @@ NOINLINE static void calc_alm2map_spin (sharp_job * restrict job,
d->l2p[i] = (d->cth[i]-fx21)*fx20*d->l1p[i] - fx22*d->l2p[i];
d->l2m[i] = (d->cth[i]+fx21)*fx20*d->l1m[i] - fx22*d->l2m[i];
if (rescale(&d->l1p[i], &d->l2p[i], &d->scp[i], vload(sharp_ftol)))
{
getCorfac(d->scp[i], &d->cfp[i], gen->cf);
full_ieee &= vallTrue(vge(d->scp[i],vload(sharp_minscale)));
}
full_ieee &= vallTrue(vge(d->scp[i],vload(sharp_minscale)));
if (rescale(&d->l1m[i], &d->l2m[i], &d->scm[i], vload(sharp_ftol)))
{
getCorfac(d->scm[i], &d->cfm[i], gen->cf);
full_ieee &= vallTrue(vge(d->scm[i],vload(sharp_minscale)));
}
full_ieee &= vallTrue(vge(d->scm[i],vload(sharp_minscale)));
}
l+=2;
}
@ -648,15 +640,11 @@ NOINLINE static void calc_map2alm_spin (sharp_job * restrict job,
acr2 += d->p2mr[i]*lw + d->p1pi[i]*lx;
aci2 += d->p2mi[i]*lw - d->p1pr[i]*lx;
if (rescale(&d->l1p[i], &d->l2p[i], &d->scp[i], vload(sharp_ftol)))
{
getCorfac(d->scp[i], &d->cfp[i], gen->cf);
full_ieee &= vallTrue(vge(d->scp[i],vload(sharp_minscale)));
}
full_ieee &= vallTrue(vge(d->scp[i],vload(sharp_minscale)));
if (rescale(&d->l1m[i], &d->l2m[i], &d->scm[i], vload(sharp_ftol)))
{
getCorfac(d->scm[i], &d->cfm[i], gen->cf);
full_ieee &= vallTrue(vge(d->scm[i],vload(sharp_minscale)));
}
full_ieee &= vallTrue(vge(d->scm[i],vload(sharp_minscale)));
}
vhsum_cmplx_special (agr1,agi1,acr1,aci1,&alm[2*l]);
vhsum_cmplx_special (agr2,agi2,acr2,aci2,&alm[2*l+2]);

View file

@ -73,9 +73,9 @@ void sharp_Ylmgen_init (sharp_Ylmgen_C *gen, int l_max, int m_max, int spin)
gen->mfac[0] = inv_sqrt4pi;
for (int m=1; m<=gen->mmax; ++m)
gen->mfac[m] = gen->mfac[m-1]*sqrt((2*m+1.)/(2*m));
gen->root = RALLOC(double,2*gen->lmax+6);
gen->iroot = RALLOC(double,2*gen->lmax+6);
for (int m=0; m<2*gen->lmax+6; ++m)
gen->root = RALLOC(double,2*gen->lmax+7);
gen->iroot = RALLOC(double,2*gen->lmax+7);
for (int m=0; m<2*gen->lmax+7; ++m)
{
gen->root[m] = sqrt(m);
gen->iroot[m] = (m==0) ? 0. : 1./gen->root[m];