4 #define _MIN_NUMBER_OF_LAGUERRE_POINTS_ 5 15 typedef struct adaptive_integration_tree_node{
23 struct adaptive_integration_tree_node *left, *right;
32 int get_qsampling(
double *x,
35 int N_max,
double rtol,
38 int (*test)(
void * params_for_function,
double q,
double *psi),
39 int (*
function)(
void * params_for_function,
double q,
double *f0),
40 void * params_for_function,
43 int sort_x_and_w(
double *x,
double *w,
double *workx,
double *workw,
int startidx,
int endidx);
44 int get_leaf_x_and_w(qss_node *node,
int *ind,
double *x,
double *w,
int isindefinite);
45 int reduce_tree(qss_node *node,
int level);
46 int burn_tree(qss_node *node);
47 int leaf_count(qss_node *node);
48 double get_integral(qss_node *node,
int level);
51 int (*test)(
void * params_for_function,
double q,
double *psi),
52 int (*
function)(
void * params_for_function,
double q,
double *f0),
53 void * params_for_function,
60 int compute_Hermite(
double *x,
double *w,
int N,
int alpha,
double *b,
double *c);
61 int compute_Laguerre(
double *x,
double *w,
int N,
double alpha,
double *b,
double *c,
int totalweight);
62 int gk_quad(
int (*test)(
void * params_for_function,
double q,
double *psi),
63 int (*
function)(
void * params_for_function,
double q,
double *f0),
64 void * params_for_function,
69 double testfun(
double x);
71 int quadrature_gauss_legendre(
76 ErrorMsg error_message);
78 int quadrature_gauss_legendre_2D(
83 ErrorMsg error_message);
85 int quadrature_in_rectangle(
94 ErrorMsg error_message);
96 int cubature_order_eleven(
104 ErrorMsg error_message);