138 void chb_cosi_legip(
const int* deg ,
const double* cfi,
double* cfo) {
140 int k2, l, jmin, j, i, m ;
148 assert( cfi != cfo ) ;
151 double* som =
new double[nr] ;
154 double* aa = mat_cosi_legip(np, nt) ;
161 const double* cc = cfi ;
180 for (l=m/2; l<nt-1; l++) {
181 for (i=0; i<nr; i++) {
187 for (j=jmin; j<nt-1; j++) {
188 double amlj = aa[nt*l + j] ;
189 for (i=0; i<nr; i++) {
190 som[i] += amlj * cc[nr*j + i] ;
194 for (i=0; i<nr; i++) {
202 for (i=0; i<nr; i++) {
210 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 (l=0; l<nt; l++) {
237 for (i=0; i<nr; i++) {
248 for (l=0; l<m/2; l++) {
249 for (i=0; i<nr; i++) {
255 for (l=m/2; l<nt-1; l++) {
256 for (i=0; i<nr; i++) {
262 for (j=jmin; j<nt-1; j++) {
263 double amlj = aa[nt*l + j] ;
264 for (i=0; i<nr; i++) {
265 som[i] += amlj * cc[nr*j + i] ;
269 for (i=0; i<nr; i++) {
277 for (i=0; i<nr; i++) {
297 assert(resu == cfo + (np+2)*ntnr) ;