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