28char base_val_name_theta_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Base_val/base_val_name_theta.C,v 1.9 2014/10/13 08:52:39 j_novak Exp $" ;
77#include "type_parite.h"
82void basename_t_unknown(
int,
int,
char*) ;
83void basename_t_cos(
int,
int,
char*) ;
84void basename_t_sin(
int,
int,
char*) ;
85void basename_t_cos_p(
int,
int,
char*) ;
86void basename_t_sin_p(
int,
int,
char*) ;
87void basename_t_cos_i(
int,
int,
char*) ;
88void basename_t_sin_i(
int,
int,
char*) ;
89void basename_t_cossin_cp(
int,
int,
char*) ;
90void basename_t_cossin_sp(
int,
int,
char*) ;
91void basename_t_cossin_c(
int,
int,
char*) ;
92void basename_t_cossin_s(
int,
int,
char*) ;
93void basename_t_cossin_ci(
int,
int,
char*) ;
94void basename_t_cossin_si(
int,
int,
char*) ;
95void basename_t_leg_p(
int,
int,
char*) ;
96void basename_t_leg(
int,
int,
char*) ;
97void basename_t_leg_mp(
int,
int,
char*) ;
98void basename_t_leg_mi(
int,
int,
char*) ;
99void basename_t_leg_pp(
int,
int,
char*) ;
100void basename_t_leg_i(
int,
int,
char*) ;
101void basename_t_leg_ip(
int,
int,
char*) ;
102void basename_t_leg_pi(
int,
int,
char*) ;
103void basename_t_leg_ii(
int,
int,
char*) ;
104void basename_t_cl_cos_p(
int,
int,
char*) ;
105void basename_t_cl_sin_p(
int,
int,
char*) ;
106void basename_t_cl_cos_i(
int,
int,
char*) ;
107void basename_t_cl_sin_i(
int,
int,
char*) ;
117 static void(*vbasename_t[
MAX_BASE])(int, int,
char*) ;
119 static bool first_call = true ;
128 vbasename_t[i] = basename_t_unknown ;
131 vbasename_t[
T_COS >>
TRA_T] = basename_t_cos ;
132 vbasename_t[
T_SIN >>
TRA_T] = basename_t_sin ;
146 vbasename_t[
T_LEG >>
TRA_T] = basename_t_leg ;
162 assert( (l>=0) && (l<
nzone) ) ;
166 vbasename_t[base_t](k, j, name) ;
175void basename_t_unknown(
int,
int,
char*) {
176 cout <<
"Base_val::name_theta : unknwon basis !" << endl ;
181void basename_t_cos(
int ,
int j,
char* name) {
185 strcpy(name,
"cos") ;
191 sprintf(cxt,
"%d", xt) ;
196void basename_t_sin(
int ,
int j,
char* name) {
200 strcpy(name,
"sin") ;
206 sprintf(cxt,
"%d", xt) ;
212void basename_t_cos_p(
int ,
int j,
char* name) {
216 strcpy(name,
"cos") ;
222 sprintf(cxt,
"%d", xt) ;
228void basename_t_sin_p(
int ,
int j,
char* name) {
233 strcpy(name,
"unused") ;
237 strcpy(name,
"sin") ;
243 sprintf(cxt,
"%d", xt) ;
248void basename_t_cl_cos_p(
int ,
int j,
char* name) {
252 strcpy(name,
"cl_cos") ;
258 sprintf(cxt,
"%d", xt) ;
263void basename_t_cl_sin_p(
int ,
int j,
char* name) {
267 strcpy(name,
"cl_sin") ;
273 sprintf(cxt,
"%d", xt) ;
278void basename_t_cos_i(
int ,
int j,
char* name) {
282 strcpy(name,
"cos") ;
288 sprintf(cxt,
"%d", xt) ;
293void basename_t_cl_cos_i(
int ,
int j,
char* name) {
297 strcpy(name,
"cl_cos") ;
303 sprintf(cxt,
"%d", xt) ;
308void basename_t_sin_i(
int ,
int j,
char* name) {
312 strcpy(name,
"sin") ;
318 sprintf(cxt,
"%d", xt) ;
323void basename_t_cl_sin_i(
int ,
int j,
char* name) {
327 strcpy(name,
"cl_sin") ;
333 sprintf(cxt,
"%d", xt) ;
339void basename_t_cossin_cp(
int k,
int j,
char* name) {
347 strcpy(name,
"cos") ;
351 strcpy(name,
"sin") ;
357 sprintf(cxt,
"%d", xt) ;
363void basename_t_cossin_sp(
int k,
int j,
char* name) {
372 strcpy(name,
"unused") ;
376 strcpy(name,
"sin") ;
381 strcpy(name,
"cos") ;
387 sprintf(cxt,
"%d", xt) ;
392void basename_t_cossin_c(
int k,
int j,
char* name) {
400 strcpy(name,
"cos") ;
405 strcpy(name,
"unused") ;
408 strcpy(name,
"sin") ;
415 sprintf(cxt,
"%d", xt) ;
421void basename_t_cossin_s(
int k,
int j,
char* name) {
430 strcpy(name,
"unused") ;
434 strcpy(name,
"sin") ;
439 strcpy(name,
"cos") ;
445 sprintf(cxt,
"%d", xt) ;
451void basename_t_cossin_ci(
int k,
int j,
char* name) {
459 strcpy(name,
"cos") ;
464 strcpy(name,
"unused") ;
468 strcpy(name,
"sin") ;
475 sprintf(cxt,
"%d", xt) ;
481void basename_t_cossin_si(
int k,
int j,
char* name) {
489 strcpy(name,
"sin") ;
493 strcpy(name,
"cos") ;
499 sprintf(cxt,
"%d", xt) ;
504void basename_t_leg(
int k,
int j,
char* name) {
512 strcpy (name,
"unused") ;
522 sprintf(cxt,
"%d", xt) ;
527 sprintf(cxt,
"%d", m) ;
531void basename_t_leg_mp(
int k,
int j,
char* name) {
536 int m = 2 * (k / 2) ;
539 strcpy (name,
"unused") ;
549 sprintf(cxt,
"%d", xt) ;
554 sprintf(cxt,
"%d", m) ;
558void basename_t_leg_mi(
int k,
int j,
char* name) {
563 int m = 2 * ((k-1) / 2) + 1 ;
566 strcpy (name,
"unused") ;
576 sprintf(cxt,
"%d", xt) ;
581 sprintf(cxt,
"%d", m) ;
585void basename_t_leg_p(
int k,
int j,
char* name) {
593 strcpy (name,
"unused") ;
599 int xt = (m%2 == 0) ? 2*j : 2*j + 1 ;
603 sprintf(cxt,
"%d", xt) ;
608 sprintf(cxt,
"%d", m) ;
613void basename_t_leg_pp(
int k,
int j,
char* name) {
618 int m = 2 * (k / 2) ;
621 strcpy (name,
"unused") ;
631 sprintf(cxt,
"%d", xt) ;
636 sprintf(cxt,
"%d", m) ;
641void basename_t_leg_i(
int k,
int j,
char* name) {
649 strcpy (name,
"unused") ;
655 int xt = (m%2 == 0) ? 2*j + 1 : 2*j ;
659 sprintf(cxt,
"%d", xt) ;
664 sprintf(cxt,
"%d", m) ;
669void basename_t_leg_ip(
int k,
int j,
char* name) {
674 int m = 2 * (k / 2) ;
677 strcpy (name,
"unused") ;
687 sprintf(cxt,
"%d", xt) ;
692 sprintf(cxt,
"%d", m) ;
697void basename_t_leg_pi(
int k,
int j,
char* name) {
702 int m = 2 * ((k-1) / 2) + 1 ;
705 strcpy (name,
"unused") ;
715 sprintf(cxt,
"%d", xt) ;
720 sprintf(cxt,
"%d", m) ;
725void basename_t_leg_ii(
int k,
int j,
char* name) {
730 int m = 2 * ((k-1) / 2) + 1 ;
733 strcpy (name,
"unused") ;
743 sprintf(cxt,
"%d", xt) ;
748 sprintf(cxt,
"%d", m) ;
void name_theta(int l, int k, int j, char *basename) const
Name of the basis function in .
int * b
Array (size: nzone ) of the spectral basis in each domain.
int nzone
Number of domains (zones)
#define T_CL_COS_I
CL of odd cosines.
#define T_CL_SIN_I
CL of odd sines.
#define TRA_T
Translation en Theta, used for a bitwise shift (in hex)
#define T_LEG_MP
fct. de Legendre associees avec m pair
#define MAX_BASE
Nombre max. de bases differentes.
#define T_LEG_PI
fct. de Legendre associees paires avec m impair
#define T_COSSIN_SP
sin pair-cos impair alternes, sin pour m=0
#define T_LEG
fct. de Legendre associees
#define T_SIN_P
dev. sin seulement, harmoniques paires
#define T_COSSIN_S
dev. cos-sin alternes, sin pour m=0
#define T_COSSIN_SI
sin impair-cos pair alternes, sin pour m=0
#define T_CL_SIN_P
CL of even sines.
#define T_LEG_P
fct. de Legendre associees paires
#define T_LEG_IP
fct. de Legendre associees impaires avec m pair
#define T_COS_P
dev. cos seulement, harmoniques paires
#define T_COSSIN_CI
cos impair-sin pair alternes, cos pour m=0
#define T_CL_COS_P
CL of even cosines.
#define T_LEG_MI
fct. de Legendre associees avec m impair
#define MSQ_T
Extraction de l'info sur Theta.
#define T_COSSIN_CP
cos pair-sin impair alternes, cos pour m=0
#define T_LEG_II
fct. de Legendre associees impaires avec m impair
#define T_LEG_I
fct. de Legendre associees impaires
#define T_SIN_I
dev. sin seulement, harmoniques impaires
#define T_COS
dev. cos seulement
#define T_SIN
dev. sin seulement
#define T_LEG_PP
fct. de Legendre associees paires avec m pair
#define T_COS_I
dev. cos seulement, harmoniques impaires
#define T_COSSIN_C
dev. cos-sin alternes, cos pour m=0