86 void som_r_cheb_asymy(
double* ti,
const int nr,
const int nt,
const int np,
87 const double x,
double* trtp) {
95 double* cheb =
new double [nr] ;
98 for (i=2; i<nr; i++) {
99 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
109 for (k=3 ; k<np+1 ; k+=2) {
110 for (j=0 ; j<nt ; j++) {
113 for (i=0 ; i<nr ; i++) {
114 *po += (*pi) * cheb[i] ;
134 void som_r_chebu_asymy(
double* ti,
const int nr,
const int nt,
const int np,
135 const double x,
double* trtp) {
143 double* cheb =
new double [nr] ;
146 for (i=2; i<nr; i++) {
147 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
157 for (k=3 ; k<np+1 ; k+=2) {
158 for (j=0 ; j<nt ; j++) {
161 for (i=0 ; i<nr ; i++) {
162 *po += (*pi) * cheb[i] ;
183 void som_r_chebpim_p_asymy(
double* ti,
const int nr,
const int nt,
184 const int np,
const double x,
double* trtp) {
192 double* cheb =
new double [2*nr] ;
195 for (i=2 ; i<2*nr ; i++) {
196 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
207 for (k=3 ; k<np+1 ; k+=2) {
209 for (j=0 ; j<nt ; j++) {
212 for (i=0 ; i<nr ; i++) {
213 *po += (*pi) * cheb[2*i + m] ;
233 void som_r_chebpim_i_asymy(
double* ti,
const int nr,
const int nt,
234 const int np,
const double x,
double* trtp) {
242 double* cheb =
new double [2*nr] ;
245 for (i=2 ; i<2*nr ; i++) {
246 cheb[i] = 2*x* cheb[i-1] - cheb[i-2] ;
256 for (k=3 ; k<np+1 ; k+=2) {
258 for (j=0 ; j<nt ; j++) {
261 for (i=0 ; i<nr ; i++) {
262 *po += (*pi) * cheb[2*i + 1 - m] ;
287 void som_tet_cossin_cp_asymy(
double* ti,
const int nt,
const int np,
288 const double tet,
double* to) {
296 double* cossin =
new double [2*nt] ;
297 for (j=0 ; j<2*nt ; j +=2) {
298 cossin[j] =
cos(j * tet) ;
299 cossin[j+1] =
sin((j+1) * tet) ;
308 for (k=3 ; k<np+1 ; k+=2) {
311 for (j=0 ; j<nt ; j++) {
312 *po += (*pi) * cossin[2*j + m] ;
331 void som_tet_cossin_ci_asymy(
double* ti,
const int nt,
const int np,
332 const double tet,
double* to) {
340 double* cossin =
new double [2*nt] ;
341 for (j=0 ; j<2*nt ; j +=2) {
342 cossin[j] =
cos((j+1) * tet) ;
343 cossin[j+1] =
sin(j * tet) ;
352 for (k=3 ; k<np+1 ; k+=2) {
355 for (j=0 ; j<nt ; j++) {
356 *po += (*pi) * cossin[2*j + m] ;
376 void som_phi_cossin_asymy(
double* ti,
const int np,
const double phi,
382 for (
int k=3 ; k<np+1 ; k +=2 ) {
384 *xo += ti[k] *
sin(m * phi) ;
Cmp cos(const Cmp &)
Cosine.
Cmp sin(const Cmp &)
Sine.