23char legendre_norm_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Non_class_members/Coef/legendre_norm.C,v 1.6 2014/10/13 08:53:13 j_novak Exp $" ;
102double* legendre_norm(
int m,
int nt) {
106 int lmax = 2*nt - 2 ;
110 int nt2m1 = nt2 - 1 ;
118 double* yy =
new double[nt2] ;
124 double* leg = legendre(m, nt2) ;
128 for (l=m; l<lmax+1; l++) {
130 int ml = (m+1)*(l+1) ;
135 for (j=0; j<nt2; j++) {
136 leg[nt2*(l-m)+j] /= ml ;
140 for (j=0; j<nt2; j++) {
141 double w = leg[nt2*(l-m)+j] ;
142 yy[nt2m1-j] = w * w ;
148 cfrchebp(deg, deg, yy, deg, yy) ;
151 double integ = 2.*int1d_chebp(nt2, yy) ;
154 double fact = 1. /
sqrt(integ) ;
166 for (j=0; j<nt2; j++) {
167 leg[nt2*(l-m)+j] *= fact ;
Cmp sqrt(const Cmp &)
Square root.