140 void chb_legip_cosi(
const int* deg ,
const double* cfi,
double* cfo) {
150 assert( cfi != cfo ) ;
153 double* som =
new double[nr] ;
156 double* bb = mat_legip_cosi(np, nt) ;
163 const double* cc = cfi ;
181 for (j=0; j<nt-1; j++) {
184 for (i=0; i<nr; i++) {
188 for (l=m/2; l<nt-1; l++) {
190 double bmjl = bb[nt*j + l] ;
191 for (i=0; i<nr; i++) {
192 som[i] += bmjl * cc[nr*l + i] ;
196 for (i=0; i<nr; i++) {
204 for (i=0; i<nr; i++) {
212 for (i=ntnr; i<3*ntnr; i++) {
230 for (m=0; m < np + 1 ; m+=2) {
232 for (k2=0; k2 < 2; k2++) {
234 if ( (k == 1) || (k == np+1) ) {
236 for (j=0; j<nt; j++) {
237 for (i=0; i<nr; i++) {
247 for (j=0; j<nt-1; j++) {
250 for (i=0; i<nr; i++) {
254 for (l=m/2; l<nt-1; l++) {
256 double bmjl = bb[nt*j + l] ;
257 for (i=0; i<nr; i++) {
258 som[i] += bmjl * cc[nr*l + i] ;
262 for (i=0; i<nr; i++) {
270 for (i=0; i<nr; i++) {
290 assert(resu == cfo + (np+2)*ntnr) ;