119 void chb_legmp_cos(
const int* deg ,
const double* cfi,
double* cfo) {
131 double* som =
new double[nr] ;
134 double* bb = mat_legmp_cos(np, nt) ;
141 const double* cc = cfi ;
159 for (j=0; j<nt; j++) {
162 for (i=0; i<nr; i++) {
166 for (l=m; l<nt; l++) {
168 double bmjl = bb[nt*j + l] ;
169 for (i=0; i<nr; i++) {
170 som[i] += bmjl * cc[nr*l + i] ;
174 for (i=0; i<nr; i++) {
184 for (i=ntnr; i<3*ntnr; i++) {
202 for (m=0; m < np + 1 ; m+=2) {
204 for (k2=0; k2 < 2; k2++) {
206 if ( (k == 1) || (k == np+1) ) {
208 for (j=0; j<nt; j++) {
209 for (i=0; i<nr; i++) {
219 for (j=0; j<nt; j++) {
222 for (i=0; i<nr; i++) {
226 for (l=m; l<nt; l++) {
228 double bmjl = bb[nt*j + l] ;
229 for (i=0; i<nr; i++) {
230 som[i] += bmjl * cc[nr*l + i] ;
234 for (i=0; i<nr; i++) {
256 assert(resu == cfo + (np+2)*ntnr) ;