fix breakage caused by last commit

This commit is contained in:
Martin Reinecke 2012-10-19 11:05:44 +02:00
parent 6130ad3144
commit adcd4a20a4
2 changed files with 20 additions and 6 deletions

View file

@ -238,10 +238,18 @@ static void Y(iter_to_ieee_spin) (const Tb cth, int *l_,
prescale=vload(gen->fscale[gen->m]);
for (int i=0; i<nvec; ++i)
{
rec2p.v[i]=vmul(vmul(prefac,ccp.v[i]),ssp.v[i]);
scalep.v[i]=vadd(vadd(prescale,ccps.v[i]),ssps.v[i]);
rec2m.v[i]=vmul(vmul(prefac,csp.v[i]),scp.v[i]);
scalem.v[i]=vadd(vadd(prescale,csps.v[i]),scps.v[i]);
rec2p.v[i]=vmul(prefac,ccp.v[i]);
scalep.v[i]=vadd(prescale,ccps.v[i]);
rec2m.v[i]=vmul(prefac,csp.v[i]);
scalem.v[i]=vadd(prescale,csps.v[i]);
}
Y(normalize)(&rec2m,&scalem); Y(normalize)(&rec2p,&scalep);
for (int i=0; i<nvec; ++i)
{
rec2p.v[i]=vmul(rec2p.v[i],ssp.v[i]);
scalep.v[i]=vadd(scalep.v[i],ssps.v[i]);
rec2m.v[i]=vmul(rec2m.v[i],scp.v[i]);
scalem.v[i]=vadd(scalem.v[i],scps.v[i]);
if (gen->preMinus_p)
rec2p.v[i]=vneg(rec2p.v[i]);
if (gen->preMinus_m)

View file

@ -98,8 +98,14 @@ void sharp_Ylmgen_init (sharp_Ylmgen_C *gen, int l_max, int m_max, int spin)
{
int mlo=gen->s, mhi=m;
if (mhi<mlo) SWAP(mhi,mlo,int);
gen->prefac[m]=fac[2*mhi]/(fac[mhi+mlo]*fac[mhi-mlo]);
gen->fscale[m]=facscale[2*mhi]-facscale[mhi+mlo]-facscale[mhi-mlo];
double tfac=fac[2*mhi]/fac[mhi+mlo];
int tscale=facscale[2*mhi]-facscale[mhi+mlo];
if (tfac>1.0) { tfac*=sharp_fsmall; ++tscale; }
tfac/=fac[mhi-mlo];
tscale-=facscale[mhi-mlo];
if (tfac>1.0) { tfac*=sharp_fsmall; ++tscale; }
gen->prefac[m]=tfac;
gen->fscale[m]=tscale;
}
DEALLOC(fac);
DEALLOC(facscale);