1 #include <gsl/gsl_sf_hyperg.h>
2 #include <gsl/gsl_errno.h>
3
4 /* function names generated by removing "gsl_sf" from the beginning
5 of the name. Thus gsl_sf_dawson goes to dawson. */
6
7
hyperg_0F1_e(const double * c,const double * x,const int * len,double * val,double * err,int * status)8 void hyperg_0F1_e(const double *c, const double *x, const int *len, double *val, double *err, int *status)
9 {
10 int i;
11 gsl_sf_result result;
12 gsl_set_error_handler_off();
13
14 for(i = 0; i< *len ; i++){
15 status[i] = gsl_sf_hyperg_0F1_e(c[i], x[i], &result) ;
16 val[i] = result.val;
17 err[i] = result.err;
18 }
19 }
20
hyperg_1F1_int_e(const int * m,const int * n,double * x,const int * len,double * val,double * err,int * status)21 void hyperg_1F1_int_e(const int *m, const int *n, double *x, const int *len, double *val, double *err, int *status)
22 {
23 int i;
24 gsl_sf_result result;
25 gsl_set_error_handler_off();
26
27 for(i = 0; i< *len ; i++){
28 status[i] = gsl_sf_hyperg_1F1_int_e(m[i], n[i], x[i], &result) ;
29 val[i] = result.val;
30 err[i] = result.err;
31 }
32 }
33
hyperg_1F1_e(const double * a,const double * b,const double * x,const int * len,double * val,double * err,int * status)34 void hyperg_1F1_e(const double *a, const double *b, const double *x, const int *len, double *val, double *err, int *status)
35 {
36 int i;
37 gsl_sf_result result;
38 gsl_set_error_handler_off();
39
40 for(i = 0; i< *len ; i++){
41 status[i] = gsl_sf_hyperg_1F1_e(a[i], b[i], x[i], &result) ;
42 val[i] = result.val;
43 err[i] = result.err;
44 }
45 }
46
hyperg_U_int_e(const int * m,const int * n,const double * x,const int * len,double * val,double * err,int * status)47 void hyperg_U_int_e(const int *m, const int *n, const double *x, const int *len, double *val, double *err, int *status)
48 {
49 int i;
50 gsl_sf_result result;
51 gsl_set_error_handler_off();
52
53 for(i = 0; i< *len ; i++){
54 status[i] = gsl_sf_hyperg_U_int_e(m[i], n[i], x[i], &result) ;
55 val[i] = result.val;
56 err[i] = result.err;
57 }
58 }
59
hyperg_U_e(const double * a,const double * b,const double * x,const int * len,double * val,double * err,int * status)60 void hyperg_U_e(const double *a, const double *b, const double *x, const int *len, double *val, double *err, int *status)
61 {
62 int i;
63 gsl_sf_result result;
64 gsl_set_error_handler_off();
65
66 for(i = 0; i< *len ; i++){
67 status[i] = gsl_sf_hyperg_U_e(a[i], b[i], x[i], &result) ;
68 val[i] = result.val;
69 err[i] = result.err;
70 }
71 }
72
hyperg_2F1_e(const double * a,const double * b,const double * c,const double * x,const int * len,double * val,double * err,int * status)73 void hyperg_2F1_e(const double *a, const double *b, const double *c, const double *x, const int *len, double *val, double *err, int *status)
74 {
75 int i;
76 gsl_sf_result result;
77 gsl_set_error_handler_off();
78
79 for(i = 0; i< *len ; i++){
80 status[i] = gsl_sf_hyperg_2F1_e(a[i], b[i], c[i], x[i], &result) ;
81 val[i] = result.val;
82 err[i] = result.err;
83 }
84 }
85
hyperg_2F1_conj_e(const double * aR,const double * aI,const double * c,const double * x,const int * len,double * val,double * err,int * status)86 void hyperg_2F1_conj_e(const double *aR, const double *aI, const double *c, const double *x, const int *len, double *val, double *err, int *status)
87 {
88 int i;
89 gsl_sf_result result;
90 gsl_set_error_handler_off();
91
92 for(i = 0; i< *len ; i++){
93 status[i] = gsl_sf_hyperg_2F1_conj_e(aR[i], aI[i], c[i], x[i], &result) ;
94 val[i] = result.val;
95 err[i] = result.err;
96 }
97 }
98
hyperg_2F1_renorm_e(const double * a,const double * b,const double * c,const double * x,const int * len,double * val,double * err,int * status)99 void hyperg_2F1_renorm_e(const double *a, const double *b, const double *c, const double *x, const int *len, double *val, double *err, int *status)
100 {
101 int i;
102 gsl_sf_result result;
103 gsl_set_error_handler_off();
104
105 for(i = 0; i< *len ; i++){
106 status[i] = gsl_sf_hyperg_2F1_renorm_e(a[i], b[i], c[i], x[i], &result) ;
107 val[i] = result.val;
108 err[i] = result.err;
109 }
110 }
111
hyperg_2F1_conj_renorm_e(const double * aR,const double * aI,const double * c,const double * x,const int * len,double * val,double * err,int * status)112 void hyperg_2F1_conj_renorm_e(const double *aR, const double *aI, const double *c, const double *x, const int *len, double *val, double *err, int *status)
113 {
114 int i;
115 gsl_sf_result result;
116 gsl_set_error_handler_off();
117
118 for(i = 0; i< *len ; i++){
119 status[i] = gsl_sf_hyperg_2F1_conj_renorm_e(aR[i], aI[i], c[i], x[i], &result) ;
120 val[i] = result.val;
121 err[i] = result.err;
122 }
123 }
124
hyperg_2F0_e(const double * a,const double * b,const double * x,const int * len,double * val,double * err,int * status)125 void hyperg_2F0_e(const double *a, const double *b, const double *x, const int *len, double *val, double *err, int *status)
126 {
127 int i;
128 gsl_sf_result result;
129 gsl_set_error_handler_off();
130
131 for(i = 0; i< *len ; i++){
132 status[i] = gsl_sf_hyperg_2F0_e(a[i], b[i], x[i], &result) ;
133 val[i] = result.val;
134 err[i] = result.err;
135 }
136 }
137
138