127 void chb_cossinc_leg(
const int* deg ,
const double* cfi,
double* cfo) {
131 int ip, k2, l, jmin, j, i, m ;
141 double* som =
new double[nr] ;
144 double* aa = mat_cossinc_leg(np, nt) ;
170 const double* cc = cfi ;
186 for (ip=0; ip < np/4 + 1 ; ip++) {
193 for (k2=0; k2 < 2; k2++) {
195 if ( (k == 1) || (k == np+1) ) {
197 for (l=0; l<nt; l++) {
198 for (i=0; i<nr; i++) {
208 for (l=0; l<m; l++) {
209 for (i=0; i<nr; i++) {
215 for (l=m; l<nt; l++) {
216 for (i=0; i<nr; i++) {
220 jmin = ( m == 0 ) ? l : 0 ;
221 for (j=jmin; j<nt; j++) {
222 double amlj = aa[nt*l + j] ;
223 for (i=0; i<nr; i++) {
224 som[i] += amlj * cc[nr*j + i] ;
228 for (i=0; i<nr; i++) {
251 for (k2=0; k2 < 2; k2++) {
255 for (l=0; l<nt; l++) {
256 for (i=0; i<nr; i++) {
266 for (l=0; l<m; l++) {
267 for (i=0; i<nr; i++) {
274 for (l=m; l<nt-1; l++) {
275 for (i=0; i<nr; i++) {
279 jmin = ( m == 1 ) ? l : 0 ;
281 for (j=jmin; j<nt-1; j++) {
282 double amlj = aa[nt*l + j] ;
283 for (i=0; i<nr; i++) {
284 som[i] += amlj * cc[nr*j + i] ;
289 for (i=0; i<nr; i++) {
297 for (i=0; i<nr; i++) {