Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /* specfunc/gsl_sf_fermi_dirac.h
0002  * 
0003  * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman
0004  * 
0005  * This program is free software; you can redistribute it and/or modify
0006  * it under the terms of the GNU General Public License as published by
0007  * the Free Software Foundation; either version 3 of the License, or (at
0008  * your option) any later version.
0009  * 
0010  * This program is distributed in the hope that it will be useful, but
0011  * WITHOUT ANY WARRANTY; without even the implied warranty of
0012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013  * General Public License for more details.
0014  * 
0015  * You should have received a copy of the GNU General Public License
0016  * along with this program; if not, write to the Free Software
0017  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
0018  */
0019 
0020 /* Author:  G. Jungman */
0021 
0022 #ifndef __GSL_SF_FERMI_DIRAC_H__
0023 #define __GSL_SF_FERMI_DIRAC_H__
0024 
0025 #include <gsl/gsl_sf_result.h>
0026 
0027 #undef __BEGIN_DECLS
0028 #undef __END_DECLS
0029 #ifdef __cplusplus
0030 # define __BEGIN_DECLS extern "C" {
0031 # define __END_DECLS }
0032 #else
0033 # define __BEGIN_DECLS /* empty */
0034 # define __END_DECLS /* empty */
0035 #endif
0036 
0037 __BEGIN_DECLS
0038 
0039 
0040 /* Complete Fermi-Dirac Integrals:
0041  *
0042  *  F_j(x)   := 1/Gamma[j+1] Integral[ t^j /(Exp[t-x] + 1), {t,0,Infinity}]
0043  *
0044  *
0045  * Incomplete Fermi-Dirac Integrals:
0046  *
0047  *  F_j(x,b) := 1/Gamma[j+1] Integral[ t^j /(Exp[t-x] + 1), {t,b,Infinity}]
0048  */
0049 
0050 
0051 /* Complete integral F_{-1}(x) = e^x / (1 + e^x)
0052  *
0053  * exceptions: GSL_EUNDRFLW
0054  */
0055 int     gsl_sf_fermi_dirac_m1_e(const double x, gsl_sf_result * result);
0056 double     gsl_sf_fermi_dirac_m1(const double x);
0057 
0058 
0059 /* Complete integral F_0(x) = ln(1 + e^x)
0060  *
0061  * exceptions: GSL_EUNDRFLW
0062  */
0063 int     gsl_sf_fermi_dirac_0_e(const double x, gsl_sf_result * result);
0064 double     gsl_sf_fermi_dirac_0(const double x);
0065 
0066 
0067 /* Complete integral F_1(x)
0068  *
0069  * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
0070  */
0071 int     gsl_sf_fermi_dirac_1_e(const double x, gsl_sf_result * result);
0072 double     gsl_sf_fermi_dirac_1(const double x);
0073 
0074 
0075 /* Complete integral F_2(x)
0076  *
0077  * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
0078  */
0079 int     gsl_sf_fermi_dirac_2_e(const double x, gsl_sf_result * result);
0080 double     gsl_sf_fermi_dirac_2(const double x);
0081 
0082 
0083 /* Complete integral F_j(x)
0084  * for integer j
0085  *
0086  * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
0087  */
0088 int     gsl_sf_fermi_dirac_int_e(const int j, const double x, gsl_sf_result * result);
0089 double     gsl_sf_fermi_dirac_int(const int j, const double x);
0090 
0091 
0092 /* Complete integral F_{-1/2}(x)
0093  *
0094  * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
0095  */
0096 int     gsl_sf_fermi_dirac_mhalf_e(const double x, gsl_sf_result * result);
0097 double     gsl_sf_fermi_dirac_mhalf(const double x);
0098 
0099 
0100 /* Complete integral F_{1/2}(x)
0101  *
0102  * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
0103  */
0104 int     gsl_sf_fermi_dirac_half_e(const double x, gsl_sf_result * result);
0105 double     gsl_sf_fermi_dirac_half(const double x);
0106 
0107 
0108 /* Complete integral F_{3/2}(x)
0109  *
0110  * exceptions: GSL_EUNDRFLW, GSL_EOVRFLW
0111  */
0112 int     gsl_sf_fermi_dirac_3half_e(const double x, gsl_sf_result * result);
0113 double     gsl_sf_fermi_dirac_3half(const double x);
0114 
0115 
0116 /* Incomplete integral F_0(x,b) = ln(1 + e^(b-x)) - (b-x)
0117  *
0118  * exceptions: GSL_EUNDRFLW, GSL_EDOM
0119  */
0120 int     gsl_sf_fermi_dirac_inc_0_e(const double x, const double b, gsl_sf_result * result);
0121 double     gsl_sf_fermi_dirac_inc_0(const double x, const double b);
0122 
0123 
0124 __END_DECLS
0125 
0126 #endif /* __GSL_SF_FERMI_DIRAC_H__ */