119 (
double*,
const int,
const int,
const int,
const double,
double*) {
120 cout <<
"Mtbl_cf::val_point: r basis not implemented yet !" 130 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
139 double* cheb =
new double [nr] ;
141 if (nr > 1) cheb[1] = x ;
142 for (i=2; i<nr; i++) {
143 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
147 for (j=0 ; j<nt ; j++) {
150 for (i=0 ; i<nr ; i++) {
151 *po += (*pi) * cheb[i] ;
164 for (k=2 ; k<np+1 ; k++) {
165 for (j=0 ; j<nt ; j++) {
168 for (i=0 ; i<nr ; i++) {
169 *po += (*pi) * cheb[i] ;
189 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
198 double* cheb =
new double [nr] ;
201 for (i=1; i<nr; i++) {
202 cheb[i] = 2*x* t2im1 - cheb[i-1] ;
203 t2im1 = 2*x* cheb[i] - t2im1 ;
207 for (j=0 ; j<nt ; j++) {
210 for (i=0 ; i<nr ; i++) {
211 *po += (*pi) * cheb[i] ;
224 for (k=2 ; k<np+1 ; k++) {
225 for (j=0 ; j<nt ; j++) {
228 for (i=0 ; i<nr ; i++) {
229 *po += (*pi) * cheb[i] ;
248 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
257 double* cheb =
new double [nr] ;
260 for (i=1; i<nr; i++) {
261 t2im1 = 2*x* cheb[i-1] - t2im1 ;
262 cheb[i] = 2*x* t2im1 - cheb[i-1] ;
266 for (j=0 ; j<nt ; j++) {
269 for (i=0 ; i<nr ; i++) {
270 *po += (*pi) * cheb[i] ;
283 for (k=2 ; k<np+1 ; k++) {
284 for (j=0 ; j<nt ; j++) {
287 for (i=0 ; i<nr ; i++) {
288 *po += (*pi) * cheb[i] ;
305 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
double* trtp) {
313 double* cheb =
new double [nr] ;
316 for (i=2; i<nr; i++) {
317 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
321 for (j=0 ; j<nt ; j++) {
324 for (i=0 ; i<nr ; i++) {
325 *po += (*pi) * cheb[i] ;
338 for (k=2 ; k<np+1 ; k++) {
339 for (j=0 ; j<nt ; j++) {
342 for (i=0 ; i<nr ; i++) {
343 *po += (*pi) * cheb[i] ;
360 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
double* trtp) {
368 double* cheb =
new double [2*nr] ;
371 for (i=2 ; i<2*nr ; i++) {
372 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
377 for (j=0 ; j<nt ; j++) {
380 for (i=0 ; i<nr ; i++) {
381 *po += (*pi) * cheb[2*i] ;
394 for (k=2 ; k<np+1 ; k++) {
396 for (j=0 ; j<nt ; j++) {
399 for (i=0 ; i<nr ; i++) {
400 *po += (*pi) * cheb[2*i + m] ;
418 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
double* trtp) {
426 double* cheb =
new double [2*nr] ;
429 for (i=2 ; i<2*nr ; i++) {
430 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
435 for (j=0 ; j<nt ; j++) {
438 for (i=0 ; i<nr ; i++) {
439 *po += (*pi) * cheb[2*i+1] ;
452 for (k=2 ; k<np+1 ; k++) {
454 for (j=0 ; j<nt ; j++) {
457 for (i=0 ; i<nr ; i++) {
458 *po += (*pi) * cheb[2*i + 1 - m] ;
476 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
double* trtp) {
484 double* cheb =
new double [2*nr] ;
487 for (i=2 ; i<2*nr ; i++) {
488 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
492 for (j=0 ; j<nt ; j++) {
497 for (i=0 ; i<nr ; i++) {
498 *po += (*pi) * cheb[2*i] ;
505 for (i=0 ; i<nr ; i++) {
506 *po += (*pi) * cheb[2*i+1] ;
520 for (k=2 ; k<np+1 ; k++) {
521 for (j=0 ; j<nt ; j++) {
525 for (i=0 ; i<nr ; i++) {
526 *po += (*pi) * cheb[2*i + l] ;
544 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
double* trtp) {
552 double* cheb =
new double [2*nr] ;
555 for (i=2 ; i<2*nr ; i++) {
556 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
560 for (j=0 ; j<nt ; j++) {
565 for (i=0 ; i<nr ; i++) {
566 *po += (*pi) * cheb[2*i] ;
573 for (i=0 ; i<nr ; i++) {
574 *po += (*pi) * cheb[2*i+1] ;
588 for (k=2 ; k<np+1 ; k++) {
589 for (j=0 ; j<nt ; j++) {
593 for (i=0 ; i<nr ; i++) {
594 *po += (*pi) * cheb[2*i + 1 - l] ;
611 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
620 double* leg =
new double [nr] ;
622 if (nr > 1) leg[1] = x ;
623 for (i=2; i<nr; i++) {
624 leg[i] = (double(2*i-1)*x* leg[i-1] - double(i-1)*leg[i-2]) /
double(i) ;
628 for (j=0 ; j<nt ; j++) {
631 for (i=0 ; i<nr ; i++) {
632 *po += (*pi) * leg[i] ;
645 for (k=2 ; k<np+1 ; k++) {
646 for (j=0 ; j<nt ; j++) {
649 for (i=0 ; i<nr ; i++) {
650 *po += (*pi) * leg[i] ;
670 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
679 double* leg =
new double [nr] ;
682 for (i=1; i<nr; i++) {
683 leg[i] = (double(4*i-1)*x* p2im1 - double(2*i-1)*leg[i-1]) /
double(2*i) ;
684 p2im1 = (double(4*i+1)*x* leg[i] - double(2*i)*p2im1) /
double(2*i+1) ;
688 for (j=0 ; j<nt ; j++) {
691 for (i=0 ; i<nr ; i++) {
692 *po += (*pi) * leg[i] ;
705 for (k=2 ; k<np+1 ; k++) {
706 for (j=0 ; j<nt ; j++) {
709 for (i=0 ; i<nr ; i++) {
710 *po += (*pi) * leg[i] ;
729 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
738 double* leg =
new double [nr] ;
741 for (i=1; i<nr; i++) {
742 p2im1 = (double(4*i-1)*x* leg[i-1] - double(2*i-1)*p2im1) /
double(2*i) ;
743 leg[i] = (double(4*i+1)*x* p2im1 - double(2*i)*leg[i-1]) /
double(2*i+1) ;
747 for (j=0 ; j<nt ; j++) {
750 for (i=0 ; i<nr ; i++) {
751 *po += (*pi) * leg[i] ;
764 for (k=2 ; k<np+1 ; k++) {
765 for (j=0 ; j<nt ; j++) {
768 for (i=0 ; i<nr ; i++) {
769 *po += (*pi) * leg[i] ;
787 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
796 double* jaco = jacobi(nr-1,x) ;
799 for (j=0 ; j<nt ; j++) {
802 for (i=0 ; i<nr ; i++) {
803 *po += (*pi) * jaco[i] ;
816 for (k=2 ; k<np+1 ; k++) {
817 for (j=0 ; j<nt ; j++) {
820 for (i=0 ; i<nr ; i++) {
821 *po += (*pi) * jaco[i] ;