138 void chb_cossincp_legp(
const int* deg ,
const double* cfi,
double* cfo) {
142 int ip, k2, l, jmin, j, i, m ;
152 double* som =
new double[nr] ;
155 double* aa = mat_cossincp_legp(np, nt) ;
162 const double* cc = cfi ;
181 for (l=m/2; l<nt; l++) {
182 for (i=0; i<nr; i++) {
187 for (j=jmin; j<nt; 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++) {
204 for (i=0; i<2*ntnr; i++) {
229 for (ip=0; ip < np/4 + 1 ; ip++) {
236 for (k2=0; k2 < 2; k2++) {
238 if ( (k == 1) || (k == np+1) ) {
240 for (l=0; l<nt; l++) {
241 for (i=0; i<nr; i++) {
251 for (l=0; l<m/2; l++) {
252 for (i=0; i<nr; i++) {
258 for (l=m/2; l<nt; l++) {
259 for (i=0; i<nr; i++) {
263 jmin = ( m == 0 ) ? l : 0 ;
264 for (j=jmin; j<nt; j++) {
265 double amlj = aa[nt*l + j] ;
266 for (i=0; i<nr; i++) {
267 som[i] += amlj * cc[nr*j + i] ;
271 for (i=0; i<nr; i++) {
294 for (k2=0; k2 < 2; k2++) {
298 for (l=0; l<nt; l++) {
299 for (i=0; i<nr; i++) {
309 for (l=0; l<(m-1)/2; l++) {
310 for (i=0; i<nr; i++) {
317 for (l=(m-1)/2; l<nt-1; l++) {
318 for (i=0; i<nr; i++) {
322 jmin = ( m == 1 ) ? l : 0 ;
324 for (j=jmin; j<nt-1; j++) {
325 double amlj = aa[nt*l + j] ;
326 for (i=0; i<nr; i++) {
327 som[i] += amlj * cc[nr*j + i] ;
331 for (i=0; i<nr; i++) {
339 for (i=0; i<nr; i++) {