Former-commit-id: 3a84f7eb73045e4c1ca6e380f9d1746fb9b870c3
This commit is contained in:
Marek Nečada 2018-05-13 07:18:56 +00:00
parent 1cf7014415
commit a22b6b5712
2 changed files with 0 additions and 81 deletions

View File

@ -1,81 +0,0 @@
#include "translations.h"
#include "qpms_types.h"
#include "indexing.h"
#include <math.h>
#include <stdlib.h> //abort();
/*
* References:
* [1] Yu-Lin Xu, Journal of Computational Physics 127, 285298 (1996)
*/
/*
* The following value delimits the interval for which the computation
* of the pi and tau functions [1,(37)] actually takes place.
* see also DLMF §14.8
* For x in [-1, -1 + PITAU_0THRESHOLD] the x->-1 limit is taken,
* for x in [-1 + PITAU_0THRESHOLD, 1 - PITAU_0THRESHOLD] value for x is calculated,
* for x in [1 - PITAU_THRESHOLD, 1] the x->1 limit is taken.
*
* low-priority TODO: take more than 0th order expansion at x->±1
*/
#define PITAU_0THRESHOLD 1e-7
// Legendre functions for negative m; see DLMF 14.9.3
//
// tau, pi at singularities and zero; see also DLMF 14.8
int taumncos_Xu_zerolim_fill(qpms_l_t lmax, double *where)
{
return 0;
}
double * taumncos_Xu_zerolim_get(qpms_l_t lmax) {
double *ar = malloc(qpms_lMax2nelem(lmax) * sizeof(double));
taumncos_Xu_zerolim_fill(lmax,ar);
return ar;
}
int taumncos_Xu_pilim_fill(qpms_l_t lmax, double *where);
double * taumncos_Xu_pilim_get(qpms_l_t lmax) {
double *ar = malloc(qpms_lMax2nelem(lmax) * sizeof(double));
taumncos_Xu_pilim_fill(lmax,ar);
return ar;
}
int taumncos_Xu_pihalflim_fill(qpms_l_t lmax, double *where);
double * taumncos_Xu_pihalflim_get(qpms_l_t lmax) {
double *ar = malloc(qpms_lMax2nelem(lmax) * sizeof(double));
taumncos_Xu_pihalflim_fill(lmax,ar);
return ar;
}
int pimncos_Xu_zerolim_fill(qpms_l_t lmax, double *where);
double * pimncos_Xu_zerolim_get(qpms_l_t lmax){
double *ar = malloc(qpms_lMax2nelem(lmax) * sizeof(double));
pimncos_Xu_pihalflim_fill(lmax,ar);
return ar;
}
int pimncos_Xu_pilim_fill(qpms_l_t lmax, double *where);
double * pimncos_Xu_pilim_get(qpms_l_t lmax);
// [1] (37)
static inline double pimncos_Xu(double theta) {
abort();//NI
}
static inline double taumncos_Xu(double theta) {
abort();//NI
}
// [1] (36)
complex double qpms_vswf_single_mg_Xu(qpms_m_t m, qpms_l_t n, sph_t kdlj,
qpms_bessel_t btyp)
{
abort();//NI
}