Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:03:53

0001 /* specfunc/gsl_sf_expint.h
0002  * 
0003  * Copyright (C) 2007 Brian Gough
0004  * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Gerard Jungman
0005  * 
0006  * This program is free software; you can redistribute it and/or modify
0007  * it under the terms of the GNU General Public License as published by
0008  * the Free Software Foundation; either version 3 of the License, or (at
0009  * your option) any later version.
0010  * 
0011  * This program is distributed in the hope that it will be useful, but
0012  * WITHOUT ANY WARRANTY; without even the implied warranty of
0013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0014  * General Public License for more details.
0015  * 
0016  * You should have received a copy of the GNU General Public License
0017  * along with this program; if not, write to the Free Software
0018  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
0019  */
0020 
0021 /* Author: G. Jungman */
0022 
0023 #ifndef __GSL_SF_EXPINT_H__
0024 #define __GSL_SF_EXPINT_H__
0025 
0026 #include <gsl/gsl_sf_result.h>
0027 
0028 #undef __BEGIN_DECLS
0029 #undef __END_DECLS
0030 #ifdef __cplusplus
0031 # define __BEGIN_DECLS extern "C" {
0032 # define __END_DECLS }
0033 #else
0034 # define __BEGIN_DECLS /* empty */
0035 # define __END_DECLS /* empty */
0036 #endif
0037 
0038 __BEGIN_DECLS
0039 
0040 
0041 /* E_1(x) := Re[ Integrate[ Exp[-xt]/t, {t,1,Infinity}] ]
0042  *
0043  * x != 0.0
0044  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
0045  */
0046 int     gsl_sf_expint_E1_e(const double x, gsl_sf_result * result);
0047 double  gsl_sf_expint_E1(const double x);
0048 
0049 
0050 /* E_2(x) := Re[ Integrate[ Exp[-xt]/t^2, {t,1,Infinity}] ]
0051  *
0052  * x != 0.0
0053  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
0054  */
0055 int     gsl_sf_expint_E2_e(const double x, gsl_sf_result * result);
0056 double  gsl_sf_expint_E2(const double x);
0057 
0058 
0059 /* E_n(x) := Re[ Integrate[ Exp[-xt]/t^n, {t,1,Infinity}] ]
0060  *
0061  * x != 0.0
0062  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
0063  */
0064 int     gsl_sf_expint_En_e(const int n, const double x, gsl_sf_result * result);
0065 double  gsl_sf_expint_En(const int n, const double x);
0066 
0067 
0068 /* E_1_scaled(x) := exp(x) E_1(x)
0069  *
0070  * x != 0.0
0071  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
0072  */
0073 int     gsl_sf_expint_E1_scaled_e(const double x, gsl_sf_result * result);
0074 double  gsl_sf_expint_E1_scaled(const double x);
0075 
0076 
0077 /* E_2_scaled(x) := exp(x) E_2(x)
0078  *
0079  * x != 0.0
0080  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
0081  */
0082 int     gsl_sf_expint_E2_scaled_e(const double x, gsl_sf_result * result);
0083 double  gsl_sf_expint_E2_scaled(const double x);
0084 
0085 /* E_n_scaled(x) := exp(x) E_n(x)
0086  *
0087  * x != 0.0
0088  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
0089  */
0090 int     gsl_sf_expint_En_scaled_e(const int n, const double x, gsl_sf_result * result);
0091 double  gsl_sf_expint_En_scaled(const int n, const double x);
0092 
0093 
0094 /* Ei(x) := - PV Integrate[ Exp[-t]/t, {t,-x,Infinity}]
0095  *       :=   PV Integrate[ Exp[t]/t, {t,-Infinity,x}]
0096  *
0097  * x != 0.0
0098  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
0099  */
0100 int     gsl_sf_expint_Ei_e(const double x, gsl_sf_result * result);
0101 double  gsl_sf_expint_Ei(const double x);
0102 
0103 
0104 /* Ei_scaled(x) := exp(-x) Ei(x)
0105  *
0106  * x != 0.0
0107  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
0108  */
0109 int     gsl_sf_expint_Ei_scaled_e(const double x, gsl_sf_result * result);
0110 double  gsl_sf_expint_Ei_scaled(const double x);
0111 
0112 
0113 /* Shi(x) := Integrate[ Sinh[t]/t, {t,0,x}]
0114  *
0115  * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
0116  */
0117 int     gsl_sf_Shi_e(const double x, gsl_sf_result * result);
0118 double  gsl_sf_Shi(const double x);
0119 
0120 
0121 /* Chi(x) := Re[ M_EULER + log(x) + Integrate[(Cosh[t]-1)/t, {t,0,x}] ]
0122  *
0123  * x != 0.0
0124  * exceptions: GSL_EDOM, GSL_EOVRFLW, GSL_EUNDRFLW
0125  */
0126 int     gsl_sf_Chi_e(const double x, gsl_sf_result * result);
0127 double  gsl_sf_Chi(const double x);
0128 
0129 
0130 /* Ei_3(x) := Integral[ Exp[-t^3], {t,0,x}]
0131  *
0132  * x >= 0.0
0133  * exceptions: GSL_EDOM
0134  */
0135 int     gsl_sf_expint_3_e(const double x, gsl_sf_result * result);
0136 double  gsl_sf_expint_3(double x);
0137 
0138 
0139 /* Si(x) := Integrate[ Sin[t]/t, {t,0,x}]
0140  *
0141  * exceptions: none
0142  */
0143 int     gsl_sf_Si_e(const double x, gsl_sf_result * result);
0144 double  gsl_sf_Si(const double x);
0145 
0146 
0147 /* Ci(x) := -Integrate[ Cos[t]/t, {t,x,Infinity}]
0148  *
0149  * x > 0.0
0150  * exceptions: GSL_EDOM 
0151  */
0152 int     gsl_sf_Ci_e(const double x, gsl_sf_result * result);
0153 double  gsl_sf_Ci(const double x);
0154 
0155 
0156 /* AtanInt(x) := Integral[ Arctan[t]/t, {t,0,x}]
0157  *
0158  *
0159  * exceptions:
0160  */
0161 int     gsl_sf_atanint_e(const double x, gsl_sf_result * result);
0162 double  gsl_sf_atanint(const double x);
0163 
0164 
0165 __END_DECLS
0166 
0167 #endif /* __GSL_SF_EXPINT_H__ */