23char xdsdx_1d_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Non_class_members/Operators/xdsdx_1d.C,v 1.4 2014/10/13 08:53:27 j_novak Exp $" ;
53#include "type_parite.h"
62void _xdsdx_1d_pas_prevu(
int nr,
double* tb,
double *xo) {
63 cout <<
"xdsdx pas prevu..." << endl ;
64 cout <<
"Nombre de points : " << nr << endl ;
65 cout <<
"Valeurs : " << tb <<
" " << xo <<endl ;
75void _xdsdx_1d_r_cheb(
int nr,
double* tb,
double *xo) {
79 for (
int i=nr-1 ; i>= 0 ; i-=2) {
82 else somme += i*tb[i]+(i+2)*tb[i+2] ;
88 for (
int i=nr-2 ; i>=0 ; i-=2) {
92 somme += i*tb[i]+(i+2)*tb[i+2] ;
102void _xdsdx_1d_r_chebp(
int nr,
double* tb,
double *xo) {
105 for (
int i=nr-1 ; i>=0 ; i--) {
107 somme += (2*i)*tb[i] ;
109 somme += (2*i)*tb[i]+(2*i+2)*tb[i+1] ;
120void _xdsdx_1d_r_chebi(
int nr,
double* tb,
double *xo) {
123 for (
int i=nr-1 ; i>=0 ; i--) {
125 somme += (2*i+1)*tb[i] ;
127 somme += (2*i+1)*tb[i]+(2*i+3)*tb[i+1] ;
139void xdsdx_1d(
int nr,
double** tb,
int base_r)
143 static void (*xdsdx_1d[
MAX_BASE])(int,
double*,
double *) ;
150 xdsdx_1d[i] = _xdsdx_1d_pas_prevu ;
158 double *result =
new double[nr] ;
160 xdsdx_1d[base_r](nr, *tb, result) ;
#define MAX_BASE
Nombre max. de bases differentes.
#define R_CHEBI
base de Cheb. impaire (rare) seulement
#define TRA_R
Translation en R, used for a bitwise shift (in hex)
#define R_CHEB
base de Chebychev ordinaire (fin)
#define R_CHEBP
base de Cheb. paire (rare) seulement