23char multx_1d_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Non_class_members/Operators/multx_1d.C,v 1.5 2015/03/05 08:49:32 j_novak Exp $" ;
61#include "type_parite.h"
85void _multx_1d_pas_prevu(
int nr,
double* tb,
double *result) {
86 cout <<
"multx pas prevu..." << endl ;
87 cout <<
"Valeurs : " << tb <<
" " << result << endl ;
88 cout <<
" nr : " << nr << endl ;
98void _multx_1d_r_cheb (
int nr,
double* tb,
double* res) {
101 res[1] = (2*tb[0]+tb[2])/2. ;
102 res[nr-1] = tb[nr-2]/2. ;
104 for (
int i=2 ; i<nr-1 ; i++)
105 res[i] = (tb[i-1]+tb[i+1])/2. ;
114void _multx_1d_r_leg (
int nr,
double* tb,
double* res) {
118 res[1] = tb[0]+0.4*tb[2] ;
119 res[nr-1] = double(nr-1)*tb[nr-2]/double(2*nr-3) ;
121 for (
int i=2 ; i<nr-1 ; i++)
122 res[i] =
double(i)*tb[i-1]/double(2*i-1)
123 + double(i+1)*tb[i+1]/double(2*i+3) ;
133void multx_1d(
int nr,
double **tb,
int base_r)
137 static void (*multx_1d[
MAX_BASE])(int,
double *,
double *) ;
144 multx_1d[i] = _multx_1d_pas_prevu ;
152 double *result =
new double[nr] ;
153 multx_1d[base_r](nr, *tb, result) ;
#define MAX_BASE
Nombre max. de bases differentes.
#define R_LEG
base de Legendre ordinaire (fin)
#define TRA_R
Translation en R, used for a bitwise shift (in hex)
#define R_CHEB
base de Chebychev ordinaire (fin)