Fix translation coefficient magnitude for unnormalized waves.

N. B. this will lead to different numbers than in Xu's tables.
The normalizations "XU" and "NONE" will be hence different


Former-commit-id: 040a39c694e871b487523af73abbf3028ef81576
This commit is contained in:
Marek Nečada 2018-05-06 21:29:02 +00:00
parent 1665474b3d
commit 0b4044f267
1 changed files with 10 additions and 0 deletions

View File

@ -137,9 +137,14 @@ static inline double qpms_trans_normlogfac(qpms_normalisation_t norm,
case QPMS_NORMALISATION_TAYLOR: case QPMS_NORMALISATION_TAYLOR:
return -0.5*(lgamma(n+m+1)-lgamma(n-m+1)+lgamma(nu-mu+1)-lgamma(nu+mu+1)); return -0.5*(lgamma(n+m+1)-lgamma(n-m+1)+lgamma(nu-mu+1)-lgamma(nu+mu+1));
break; break;
case QPMS_NORMALISATION_NONE:
return -(lgamma(n+m+1)-lgamma(n-m+1)+lgamma(nu-mu+1)-lgamma(nu+mu+1));
break;
/* // TODO NONE and XU are going to be different after all...
case QPMS_NORMALISATION_XU: case QPMS_NORMALISATION_XU:
return 0; return 0;
break; break;
*/
default: default:
abort(); abort();
} }
@ -158,8 +163,13 @@ static inline double qpms_trans_normfac(qpms_normalisation_t norm,
case QPMS_NORMALISATION_TAYLOR: case QPMS_NORMALISATION_TAYLOR:
normfac *= sqrt((2.*n+1)/(2.*nu+1)); normfac *= sqrt((2.*n+1)/(2.*nu+1));
break; break;
case QPMS_NORMALISATION_NONE:
normfac *= (2.*n+1)/(2.*nu+1);
break;
/* // TODO NONE and XU are going to be different after all...
case QPMS_NORMALISATION_XU: case QPMS_NORMALISATION_XU:
break; break;
*/
default: default:
abort(); abort();
} }