136 void chb_legpi_sini(
const int* deg ,
const double* cfi,
double* cfo) {
146 assert( cfi != cfo ) ;
149 double* som =
new double[nr] ;
152 double* bb = mat_legpi_sini(np, nt) ;
159 const double* cc = cfi ;
172 for (j=0; j<nt-1; j++) {
175 for (i=0; i<nr; i++) {
179 for (l=0; l<nt-1; l++) {
180 double bmjl = bb[nt*j + l] ;
181 for (i=0; i<nr; i++) {
182 som[i] += bmjl * cc[nr*l + i] ;
186 for (i=0; i<nr; i++) {
194 for (i=0; i<nr; i++) {
202 for (i=0; i<2*ntnr; i++) {
217 for (l=0; l<nt; l++) {
218 for (i=0; i<nr; i++) {
233 for (j=0; j<nt-1; j++) {
236 for (i=0; i<nr; i++) {
240 for (l=0; l<nt-1; l++) {
241 double bmjl = bb[nt*j + l] ;
242 for (i=0; i<nr; i++) {
243 som[i] += bmjl * cc[nr*l + i] ;
247 for (i=0; i<nr; i++) {
255 for (i=0; i<nr; i++) {
270 for (m=3; m < np ; m+=2) {
272 for (k2=0; k2 < 2; k2++) {
276 for (j=0; j<nt-1; j++) {
279 for (i=0; i<nr; i++) {
283 for (l=(m-1)/2; l<nt-1; l++) {
284 double bmjl = bb[nt*j + l] ;
285 for (i=0; i<nr; i++) {
286 som[i] += bmjl * cc[nr*l + i] ;
290 for (i=0; i<nr; i++) {
298 for (i=0; i<nr; i++) {
318 for (l=0; l<nt; l++) {
319 for (i=0; i<nr; i++) {
327 assert(resu == cfo + (np+2)*ntnr) ;