23char som_symy_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Non_class_members/Operators/som_symy.C,v 1.3 2014/10/13 08:53:27 j_novak Exp $" ;
82 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
91 double* cheb =
new double [nr] ;
94 for (i=2; i<nr; i++) {
95 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
99 for (j=0 ; j<nt ; j++) {
102 for (i=0 ; i<nr ; i++) {
103 *po += (*pi) * cheb[i] ;
117 for (k=2 ; k<np+1 ; k+=2) {
118 for (j=0 ; j<nt ; j++) {
121 for (i=0 ; i<nr ; i++) {
122 *po += (*pi) * cheb[i] ;
145 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
double* trtp) {
153 double* cheb =
new double [nr] ;
156 for (i=2; i<nr; i++) {
157 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
161 for (j=0 ; j<nt ; j++) {
164 for (i=0 ; i<nr ; i++) {
165 *po += (*pi) * cheb[i] ;
179 for (k=2 ; k<np+1 ; k+=2) {
180 for (j=0 ; j<nt ; j++) {
183 for (i=0 ; i<nr ; i++) {
184 *po += (*pi) * cheb[i] ;
206 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
double* trtp) {
214 double* cheb =
new double [2*nr] ;
217 for (i=2 ; i<2*nr ; i++) {
218 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
223 for (j=0 ; j<nt ; j++) {
226 for (i=0 ; i<nr ; i++) {
227 *po += (*pi) * cheb[2*i] ;
241 for (k=2 ; k<np+1 ; k+=2) {
243 for (j=0 ; j<nt ; j++) {
246 for (i=0 ; i<nr ; i++) {
247 *po += (*pi) * cheb[2*i + m] ;
269 (
double* ti,
const int nr,
const int nt,
const int np,
const double x,
double* trtp) {
277 double* cheb =
new double [2*nr] ;
280 for (i=2 ; i<2*nr ; i++) {
281 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
286 for (j=0 ; j<nt ; j++) {
289 for (i=0 ; i<nr ; i++) {
290 *po += (*pi) * cheb[2*i+1] ;
304 for (k=2 ; k<np+1 ; k+=2) {
306 for (j=0 ; j<nt ; j++) {
309 for (i=0 ; i<nr ; i++) {
310 *po += (*pi) * cheb[2*i + 1 - m] ;
338 (
double* ti,
const int nt,
const int np,
339 const double tet,
double* to) {
347 double* cossin =
new double [2*nt] ;
348 for (j=0 ; j<2*nt ; j +=2) {
349 cossin[j] =
cos(j * tet) ;
350 cossin[j+1] =
sin((j+1) * tet) ;
355 for (j=0 ; j<nt ; j++) {
356 *po += (*pi) * cossin[2*j] ;
368 for (k=2 ; k<np+1 ; k+=2) {
371 for (j=0 ; j<nt ; j++) {
372 *po += (*pi) * cossin[2*j + m] ;
393 (
double* ti,
const int nt,
const int np,
394 const double tet,
double* to) {
402 double* cossin =
new double [2*nt] ;
403 for (j=0 ; j<2*nt ; j +=2) {
404 cossin[j] =
cos((j+1) * tet) ;
405 cossin[j+1] =
sin(j * tet) ;
410 for (j=0 ; j<nt ; j++) {
411 *po += (*pi) * cossin[2*j] ;
423 for (k=2 ; k<np+1 ; k+=2) {
426 for (j=0 ; j<nt ; j++) {
427 *po += (*pi) * cossin[2*j + m] ;
448void som_phi_cossin_symy
449 (
double* ti,
const int np,
const double phi,
double* xo) {
454 for (
int k=2 ; k<np-1 ; k +=2 ) {
456 *xo += ti[k] *
cos(m * phi) ;
458 *xo += ti[np] *
cos(np/2 * phi) ;
Cmp sin(const Cmp &)
Sine.
Cmp cos(const Cmp &)
Cosine.
void som_r_cheb_symy(double *, const int, const int, const int, const double, double *)
Cas R_CHEB ///.
void som_tet_cossin_ci_symy(double *, const int, const int, const double, double *)
Cas T_COSSIN_CI ///.
void som_r_chebu_symy(double *, const int, const int, const int, const double, double *)
Cas R_CHEBU ///.
void som_r_chebpim_i_symy(double *, const int, const int, const int, const double, double *)
Cas R_CHEBPIM_I ///.
void som_tet_cossin_cp_symy(double *, const int, const int, const double, double *)
Cas T_COSSIN_CP ///.
void som_r_chebpim_p_symy(double *, const int, const int, const int, const double, double *)
Cas R_CHEBPIM_P ///.