Added script front-end for primer-design code
[htsworkflow.git] / htswanalysis / MACS / lib / gsl / gsl-1.11 / specfunc / gsl_sf_expint.h
1 /* specfunc/gsl_sf_expint.h
2  * 
3  * Copyright (C) 2007 Brian Gough
4  * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Gerard Jungman
5  * 
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 3 of the License, or (at
9  * your option) any later version.
10  * 
11  * This program is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19  */
20
21 /* Author: G. Jungman */
22
23 #ifndef __GSL_SF_EXPINT_H__
24 #define __GSL_SF_EXPINT_H__
25
26 #include <gsl/gsl_sf_result.h>
27
28 #undef __BEGIN_DECLS
29 #undef __END_DECLS
30 #ifdef __cplusplus
31 # define __BEGIN_DECLS extern "C" {
32 # define __END_DECLS }
33 #else
34 # define __BEGIN_DECLS /* empty */
35 # define __END_DECLS /* empty */
36 #endif
37
38 __BEGIN_DECLS
39
40
41 /* E_1(x) := Re[ Integrate[ Exp[-xt]/t, {t,1,Infinity}] ]
42  *
43  * x != 0.0
44  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
45  */
46 int     gsl_sf_expint_E1_e(const double x, gsl_sf_result * result);
47 double  gsl_sf_expint_E1(const double x);
48
49
50 /* E_2(x) := Re[ Integrate[ Exp[-xt]/t^2, {t,1,Infinity}] ]
51  *
52  * x != 0.0
53  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
54  */
55 int     gsl_sf_expint_E2_e(const double x, gsl_sf_result * result);
56 double  gsl_sf_expint_E2(const double x);
57
58
59 /* E_n(x) := Re[ Integrate[ Exp[-xt]/t^n, {t,1,Infinity}] ]
60  *
61  * x != 0.0
62  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
63  */
64 int     gsl_sf_expint_En_e(const int n, const double x, gsl_sf_result * result);
65 double  gsl_sf_expint_En(const int n, const double x);
66
67
68 /* E_1_scaled(x) := exp(x) E_1(x)
69  *
70  * x != 0.0
71  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
72  */
73 int     gsl_sf_expint_E1_scaled_e(const double x, gsl_sf_result * result);
74 double  gsl_sf_expint_E1_scaled(const double x);
75
76
77 /* E_2_scaled(x) := exp(x) E_2(x)
78  *
79  * x != 0.0
80  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
81  */
82 int     gsl_sf_expint_E2_scaled_e(const double x, gsl_sf_result * result);
83 double  gsl_sf_expint_E2_scaled(const double x);
84
85 /* E_n_scaled(x) := exp(x) E_n(x)
86  *
87  * x != 0.0
88  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
89  */
90 int     gsl_sf_expint_En_scaled_e(const int n, const double x, gsl_sf_result * result);
91 double  gsl_sf_expint_En_scaled(const int n, const double x);
92
93
94 /* Ei(x) := - PV Integrate[ Exp[-t]/t, {t,-x,Infinity}]
95  *       :=   PV Integrate[ Exp[t]/t, {t,-Infinity,x}]
96  *
97  * x != 0.0
98  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
99  */
100 int     gsl_sf_expint_Ei_e(const double x, gsl_sf_result * result);
101 double  gsl_sf_expint_Ei(const double x);
102
103
104 /* Ei_scaled(x) := exp(-x) Ei(x)
105  *
106  * x != 0.0
107  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
108  */
109 int     gsl_sf_expint_Ei_scaled_e(const double x, gsl_sf_result * result);
110 double  gsl_sf_expint_Ei_scaled(const double x);
111
112
113 /* Shi(x) := Integrate[ Sinh[t]/t, {t,0,x}]
114  *
115  * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
116  */
117 int     gsl_sf_Shi_e(const double x, gsl_sf_result * result);
118 double  gsl_sf_Shi(const double x);
119
120
121 /* Chi(x) := Re[ M_EULER + log(x) + Integrate[(Cosh[t]-1)/t, {t,0,x}] ]
122  *
123  * x != 0.0
124  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
125  */
126 int     gsl_sf_Chi_e(const double x, gsl_sf_result * result);
127 double  gsl_sf_Chi(const double x);
128
129
130 /* Ei_3(x) := Integral[ Exp[-t^3], {t,0,x}]
131  *
132  * x >= 0.0
133  * exceptions: GSL_EDOM
134  */
135 int     gsl_sf_expint_3_e(const double x, gsl_sf_result * result);
136 double  gsl_sf_expint_3(double x);
137
138
139 /* Si(x) := Integrate[ Sin[t]/t, {t,0,x}]
140  *
141  * exceptions: none
142  */
143 int     gsl_sf_Si_e(const double x, gsl_sf_result * result);
144 double  gsl_sf_Si(const double x);
145
146
147 /* Ci(x) := -Integrate[ Cos[t]/t, {t,x,Infinity}]
148  *
149  * x > 0.0
150  * exceptions: GSL_EDOM 
151  */
152 int     gsl_sf_Ci_e(const double x, gsl_sf_result * result);
153 double  gsl_sf_Ci(const double x);
154
155
156 /* AtanInt(x) := Integral[ Arctan[t]/t, {t,0,x}]
157  *
158  *
159  * exceptions:
160  */
161 int     gsl_sf_atanint_e(const double x, gsl_sf_result * result);
162 double  gsl_sf_atanint(const double x);
163
164
165 __END_DECLS
166
167 #endif /* __GSL_SF_EXPINT_H__ */