119 void chb_legmi_sin(
const int* deg ,
const double* cfi,
double* cfo) {
129 assert( cfi != cfo ) ;
132 double* som =
new double[nr] ;
135 double* bb = mat_legmi_sin(np, nt) ;
142 const double* cc = cfi ;
154 for (i=0; i<nr; i++) {
161 for (j=1; j<nt-1; j++) {
164 for (i=0; i<nr; i++) {
168 for (l=1; l<nt-1; l++) {
169 double bmjl = bb[nt*j + l] ;
170 for (i=0; i<nr; i++) {
171 som[i] += bmjl * cc[nr*l + i] ;
175 for (i=0; i<nr; i++) {
183 for (i=0; i<nr; i++) {
191 for (i=0; i<2*ntnr; i++) {
206 for (l=0; l<nt; l++) {
207 for (i=0; i<nr; i++) {
221 for (i=0; i<nr; i++) {
228 for (j=1; j<nt-1; j++) {
231 for (i=0; i<nr; i++) {
235 for (l=1; l<nt-1; l++) {
236 double bmjl = bb[nt*j + l] ;
237 for (i=0; i<nr; i++) {
238 som[i] += bmjl * cc[nr*l + i] ;
242 for (i=0; i<nr; i++) {
250 for (i=0; i<nr; i++) {
265 for (m=3; m < np ; m+=2) {
267 for (k2=0; k2 < 2; k2++) {
272 for (i=0; i<nr; i++) {
277 for (j=1; j<nt-1; j++) {
280 for (i=0; i<nr; i++) {
284 for (l=m; l<nt-1; l++) {
285 double bmjl = bb[nt*j + l] ;
286 for (i=0; i<nr; i++) {
287 som[i] += bmjl * cc[nr*l + i] ;
291 for (i=0; i<nr; i++) {
299 for (i=0; i<nr; i++) {
319 for (l=0; l<nt; l++) {
320 for (i=0; i<nr; i++) {
328 assert(resu == cfo + (np+2)*ntnr) ;