4#define _MIN_NUMBER_OF_LAGUERRE_POINTS_ 5
16enum quadrature_method {
33 double x_times_alpha = 0.;
38typedef struct adaptive_integration_tree_node {
42 std::vector<double> x;
43 std::vector<double> w;
46 std::unique_ptr<struct adaptive_integration_tree_node> left, right;
49void get_qsampling(
double* x,
56 void (*test)(
void* params_for_function,
double q,
double* psi),
57 void (*function)(
void* params_for_function,
double q,
double* f0),
58 void* params_for_function);
59bool get_qsampling_manual(
double* x,
64 enum quadrature_method method,
67 void (*function)(
void* params_for_function,
double q,
double* f0),
68 void* params_for_function,
70void sort_x_and_w(
double* x,
double* w,
double* workx,
double* workw,
int startidx,
int endidx);
71void get_leaf_x_and_w(qss_node* node,
int* ind,
double* x,
double* w,
int isindefinite);
72void reduce_tree(qss_node* node,
int level);
73void leaf_count(qss_node* node);
74double get_integral(qss_node* node,
int level);
75void gk_adapt(std::unique_ptr<qss_node>& node,
76 void (*test)(
void* params_for_function,
double q,
double* psi),
77 void (*function)(
void* params_for_function,
double q,
double* f0),
78 void* params_for_function,
85 double* x,
double* w,
int N,
double alpha,
double* b,
double* c,
int totalweight);
92bool compute_FermiDirac(
double* x,
double* w,
int N);
93void gk_quad(
void (*test)(
void* params_for_function,
double q,
double* psi),
94 void (*function)(
void* params_for_function,
double q,
double* f0),
95 void* params_for_function,
101void quadrature_gauss_legendre(
double* mu,
double* w8,
int n,
double tol);
Definition quadrature.h:30