87 void _mult_cp_pas_prevu(Tbl* ,
int& base) {
88 cout <<
"mult_cp() is not not implemented for the basis " << base <<
" !" 97 void _mult_cp_p_cossin(Tbl* tb,
int& base) {
99 assert(tb->get_etat() != ETATNONDEF) ;
105 int base_r = base &
MSQ_R ;
106 int base_t = base &
MSQ_T ;
107 const int base_p = base &
MSQ_P ;
142 cout <<
"_mult_cp_p_cossin : unknown basis in r !" << endl ;
143 cout <<
" base_r = " << hex << base_r << endl ;
180 cout <<
"_mult_cp_p_cossin : unknown basis in theta !" << endl ;
181 cout <<
" base_t = " << hex << base_t << endl ;
186 base = base_r | base_t | base_p ;
193 if (tb->get_etat() == ETATZERO) {
197 assert(tb->get_etat() == ETATQCQ) ;
200 int nr = tb->get_dim(0) ;
201 int nt = tb->get_dim(1) ;
202 int np = tb->get_dim(2) - 2 ;
215 double*
const cf = tb->t ;
216 double*
const resu =
new double[ tb->get_taille() ] ;
223 for (
int i=0; i<ntnr; i++) {
224 co[i] = 0.5 * cf[q + i] ;
231 for (
int i=0; i<ntnr; i++) {
240 for (
int i=0; i<ntnr; i++) {
241 co[i] = cf[i] + 0.5 * cf[q+i] ;
250 for (
int i=0; i<ntnr; i++) {
261 for (
int i=0; i<ntnr; i++) {
262 co[i] = 0.5 * cf[q+i] ;
269 for (
int k=4; k<np-1; k++) {
270 int q1 = (k-2)*ntnr ;
271 int q2 = (k+2)*ntnr ;
272 for (
int i=0; i<ntnr; i++) {
273 co[i] = 0.5 * ( cf[q1+i] + cf[q2+i] ) ;
282 for (
int i=0; i<ntnr; i++) {
283 co[i] = 0.5 * cf[q+i] ;
294 for (
int i=0; i<ntnr; i++) {
295 co[i] = 0.5 * cf[q+i] ;
302 for (
int i=0; i<ntnr; i++) {
308 assert( co == resu + (np+2)*ntnr ) ;
324 void _mult_cp_p_cossin_p(Tbl* tb,
int& base) {
326 assert(tb->get_etat() != ETATNONDEF) ;
330 int base_r = base &
MSQ_R ;
331 int base_t = base &
MSQ_T ;
339 if (tb->get_etat() == ETATZERO) {
343 assert(tb->get_etat() == ETATQCQ) ;
346 int nr = tb->get_dim(0) ;
347 int nt = tb->get_dim(1) ;
348 int np = tb->get_dim(2) - 2 ;
361 double*
const cf = tb->t ;
362 double*
const resu =
new double[ tb->get_taille() ] ;
369 for (
int i=0; i<ntnr; i++) {
370 co[i] = cf[i] + 0.5 * cf[q + i] ;
377 for (
int i=0; i<ntnr; i++) {
386 for (
int i=0; i<ntnr; i++) {
387 co[i] = 0.5 * cf[q+i] ;
395 for (
int k=3; k<np; k++) {
396 int q1 = (k-1)*ntnr ;
397 int q2 = (k+1)*ntnr ;
398 for (
int i=0; i<ntnr; i++) {
399 co[i] = 0.5 * ( cf[q1+i] + cf[q2+i] ) ;
408 for (
int i=0; i<ntnr; i++) {
409 co[i] = 0.5 * cf[q+i] ;
416 for (
int i=0; i<ntnr; i++) {
422 assert( co == resu + (np+2)*ntnr ) ;
438 void _mult_cp_p_cossin_i(Tbl* tb,
int& base) {
440 assert(tb->get_etat() != ETATNONDEF) ;
444 int base_r = base &
MSQ_R ;
445 int base_t = base &
MSQ_T ;
453 if (tb->get_etat() == ETATZERO) {
457 assert(tb->get_etat() == ETATQCQ) ;
460 int nr = tb->get_dim(0) ;
461 int nt = tb->get_dim(1) ;
462 int np = tb->get_dim(2) - 2 ;
475 double*
const cf = tb->t ;
476 double*
const resu =
new double[ tb->get_taille() ] ;
482 for (
int i=0; i<ntnr; i++) {
483 co[i] = 0.5 * cf[i] ;
490 for (
int i=0; i<ntnr; i++) {
499 for (
int i=0; i<ntnr; i++) {
500 co[i] = 0.5 * ( cf[i] + cf[q+i] ) ;
507 for (
int k=3; k<np; k++) {
508 int q1 = (k-1)*ntnr ;
509 int q2 = (k+1)*ntnr ;
510 for (
int i=0; i<ntnr; i++) {
511 co[i] = 0.5 * ( cf[q1+i] + cf[q2+i] ) ;
520 for (
int i=0; i<ntnr; i++) {
521 co[i] = 0.5 * cf[q+i] ;
528 for (
int i=0; i<ntnr; i++) {
534 assert( co == resu + (np+2)*ntnr ) ;
#define R_CHEBPI_I
Cheb. pair-impair suivant l impair pour l=0.
#define MSQ_P
Extraction de l'info sur Phi.
#define T_COSSIN_SP
sin pair-cos impair alternes, sin pour m=0
#define R_JACO02
base de Jacobi(0,2) ordinaire (finjac)
#define MSQ_T
Extraction de l'info sur Theta.
#define T_COSSIN_C
dev. cos-sin alternes, cos pour m=0
#define MSQ_R
Extraction de l'info sur R.
#define T_COSSIN_SI
sin impair-cos pair alternes, sin pour m=0
#define R_CHEBPIM_I
Cheb. pair-impair suivant m, impair pour m=0.
#define R_CHEBPIM_P
Cheb. pair-impair suivant m, pair pour m=0.
#define R_CHEBPI_P
Cheb. pair-impair suivant l pair pour l=0.
#define T_COSSIN_CI
cos impair-sin pair alternes, cos pour m=0
#define P_COSSIN_I
dev. sur Phi = 2*phi, freq. impaires
#define R_CHEBU
base de Chebychev ordinaire (fin), dev. en 1/r
#define P_COSSIN_P
dev. sur Phi = 2*phi, freq. paires
#define T_COSSIN_CP
cos pair-sin impair alternes, cos pour m=0
#define T_COSSIN_S
dev. cos-sin alternes, sin pour m=0
#define R_CHEB
base de Chebychev ordinaire (fin)