137 void chb_cosp_legpp(
const int* deg ,
const double* cfi,
double* cfo) {
139 int k2, l, jmin, j, i, m ;
149 double* som =
new double[nr] ;
152 double* aa = mat_cosp_legpp(np, nt) ;
159 const double* cc = cfi ;
178 for (l=m/2; l<nt; l++) {
179 for (i=0; i<nr; i++) {
184 for (j=jmin; j<nt; j++) {
185 double amlj = aa[nt*l + j] ;
186 for (i=0; i<nr; i++) {
187 som[i] += amlj * cc[nr*j + i] ;
191 for (i=0; i<nr; i++) {
201 for (i=ntnr; i<3*ntnr; i++) {
221 for (m=0; m < np + 1 ; m+=2) {
223 for (k2=0; k2 < 2; k2++) {
225 if ( (k == 1) || (k == np+1) ) {
227 for (l=0; l<nt; l++) {
228 for (i=0; i<nr; i++) {
238 for (l=0; l<m/2; l++) {
239 for (i=0; i<nr; i++) {
245 for (l=m/2; l<nt; l++) {
246 for (i=0; i<nr; i++) {
250 jmin = ( m == 0 ) ? l : 0 ;
251 for (j=jmin; j<nt; j++) {
252 double amlj = aa[nt*l + j] ;
253 for (i=0; i<nr; i++) {
254 som[i] += amlj * cc[nr*j + i] ;
258 for (i=0; i<nr; i++) {
280 assert(resu == cfo + (np+2)*ntnr) ;