Go to the documentation of this file.
18 #define ABS(x) ((x) >= 0 ? (x) : -(x))
20 void gauleg(
double x1,
double x2,
double *x,
double *w,
int n);
45 else if (p % 2 == 0) {
46 return 2.0 / (1.0 - p*p);
71 for (k=0; k<=L-1; k++)
72 w += sin((2.0*k+1.0)*theta_t) / (double)(2.0*k+1.0);
74 w *= 2.0/((double) L) * sin(theta_t);
99 gauleg(-1.0, 1.0, thetas, weights, L);
101 for (t=0; t<=L-1; t++)
102 thetas[t] = acos(thetas[t]);
105 for (t=0; t<=(L-1)/2; t++) {
107 thetas[t] = thetas[L-1-t];
129 void gauleg(
double x1,
double x2,
double *x,
double *w,
int n) {
133 double p1,p2,p3,pp,xl,xm,z,z1;
139 for (i=1; i<=m; i++) {
140 z=cos(3.141592654*(i-.25)/(n+.5));
144 for (j=1; j<=n; j++) {
147 p1=((2.0*j-1.0)*z*p2-(j-1.0)*p3)/j;
149 pp=n*(z*p1-p2)/(z*z-1.0);
152 }
while (
ABS(z-z1) > EPS);
155 w[i-1]=2.0*xl/((1.0-z*z)*pp*pp);
199 return (2.0*t + 1.0) *
SSHT_PI / (2.0*L - 1.0);
233 return 2.0 * p *
SSHT_PI / (2.0*L - 1.0);
251 return (L-1)*(2*L-1) + 1;
271 return 2.0 * t *
SSHT_PI / (2.0 * L);
309 return 2.0 * p *
SSHT_PI / (2.0*L);
344 return (L-1)*(2*L) + 2;
363 return (2.0*t + 1.0) *
SSHT_PI / (4.0*L);
397 return 2.0 * p *
SSHT_PI / (2.0*L - 1.0);
461 return 2.0 * p *
SSHT_PI / (2.0*L - 1.0);
void gauleg(double x1, double x2, double *x, double *w, int n)
int ssht_sampling_dh_n(int L)
int ssht_sampling_gl_n(int L)
double ssht_sampling_mw_t2theta(int t, int L)
int ssht_sampling_gl_nphi(int L)
double ssht_sampling_gl_p2phi(int p, int L)
double ssht_sampling_dh_t2theta(int t, int L)
int ssht_sampling_mw_ntheta(int L)
double ssht_sampling_mw_p2phi(int p, int L)
int ssht_sampling_mw_ss_ntheta(int L)
int ssht_sampling_mw_n(int L)
int ssht_sampling_mw_nphi(int L)
double ssht_sampling_weight_dh(double theta_t, int L)
void ssht_sampling_gl_thetas_weights(double *thetas, double *weights, int L)
double ssht_sampling_mw_ss_p2phi(int p, int L)
int ssht_sampling_gl_ntheta(int L)
double ssht_sampling_mw_ss_t2theta(int t, int L)
int ssht_sampling_mw_ss_nphi(int L)
int ssht_sampling_dh_ntheta(int L)
int ssht_sampling_mw_ss_n(int L)
double ssht_sampling_dh_p2phi(int p, int L)
int ssht_sampling_dh_nphi(int L)