76 void basename_r_unknown(
int,
int,
int,
string&) ;
77 void basename_r_cheb(
int,
int,
int,
string&) ;
78 void basename_r_chebp(
int,
int,
int,
string&) ;
79 void basename_r_chebi(
int,
int,
int,
string&) ;
80 void basename_r_chebpim_p(
int,
int,
int,
string&) ;
81 void basename_r_chebpim_i(
int,
int,
int,
string&) ;
82 void basename_r_chebpi_p(
int,
int,
int,
string&) ;
83 void basename_r_chebpi_i(
int,
int,
int,
string&) ;
84 void basename_r_leg(
int,
int,
int,
string&) ;
85 void basename_r_legp(
int,
int,
int,
string&) ;
86 void basename_r_legi(
int,
int,
int,
string&) ;
87 void basename_r_jaco02(
int,
int,
int,
string&) ;
96 static void(*vbasename_r[
MAX_BASE])(int, int, int,
string&) ;
98 static bool first_call = true ;
106 for (
int ib=0 ; ib<
MAX_BASE ; ib++) {
107 vbasename_r[ib] = basename_r_unknown ;
118 vbasename_r[
R_LEG >>
TRA_R] = basename_r_leg ;
127 assert( (l>=0) && (l<
nzone) ) ;
131 vbasename_r[base_r](k, j, i, name) ;
140 void basename_r_unknown(
int,
int,
int,
string&) {
141 cout <<
"Base_val::name_r : unknwon basis !" << endl ;
146 void basename_r_cheb(
int,
int,
int i,
string& name) {
151 ostr <<
'T' << i << flush ;
156 void basename_r_chebp(
int,
int,
int i,
string& name) {
161 ostr <<
'T' << 2*i << flush ;
166 void basename_r_chebi(
int,
int,
int i,
string& name) {
171 ostr <<
'T' << (2*i+1) << flush ;
176 void basename_r_chebpim_p(
int k,
int,
int i,
string& name) {
182 int xr = (m%2 == 0) ? 2*i : 2*i + 1 ;
185 ostr <<
'T' << xr << flush ;
190 void basename_r_chebpim_i(
int k,
int,
int i,
string& name) {
196 int xr = (m%2 == 0) ? 2*i + 1 : 2*i ;
199 ostr <<
'T' << xr << flush ;
203 void basename_r_chebpi_p(
int ,
int j,
int i,
string& name) {
208 int xr = (j%2 == 0) ? 2*i : 2*i + 1 ;
211 ostr <<
'T' << xr << flush ;
216 void basename_r_chebpi_i(
int ,
int j,
int i,
string& name) {
221 int xr = (j%2 == 0) ? 2*i + 1 : 2*i ;
224 ostr <<
'T' << xr << flush ;
228 void basename_r_leg(
int,
int,
int i,
string& name) {
233 ostr <<
'P' << i << flush ;
238 void basename_r_legp(
int,
int,
int i,
string& name) {
243 ostr <<
'P' << 2*i << flush ;
248 void basename_r_legi(
int,
int,
int i,
string& name) {
253 ostr <<
'T' << (2*i + 1) << flush ;
257 void basename_r_jaco02(
int,
int,
int i,
string& name) {
262 ostr <<
'J' << i << flush ;
#define R_CHEBPI_I
Cheb. pair-impair suivant l impair pour l=0.
#define R_LEGP
base de Legendre paire (rare) seulement
#define R_LEGI
base de Legendre impaire (rare) seulement
int nzone
Number of domains (zones)
#define R_JACO02
base de Jacobi(0,2) ordinaire (finjac)
#define TRA_R
Translation en R, used for a bitwise shift (in hex)
#define R_CHEBI
base de Cheb. impaire (rare) seulement
#define R_CHEBP
base de Cheb. paire (rare) seulement
int * b
Array (size: nzone ) of the spectral basis in each domain.
#define MSQ_R
Extraction de l'info sur R.
void name_r(int l, int k, int j, int i, string &basename) const
Name of the basis function in r ( )
#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 R_CHEBU
base de Chebychev ordinaire (fin), dev. en 1/r
#define MAX_BASE
Nombre max. de bases differentes.
#define R_LEG
base de Legendre ordinaire (fin)
#define R_CHEB
base de Chebychev ordinaire (fin)