1/* specfunc/gsl_sf_erf.h
2 *
3 * Copyright (C) 1996, 1997, 1998, 1999, 2000 Gerard Jungman
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3 of the License, or (at
8 * your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 */
19
20/* Author: G. Jungman */
21
22#ifndef __GSL_SF_ERF_H__
23#define __GSL_SF_ERF_H__
24
25#include <gsl/gsl_sf_result.h>
26
27#undef __BEGIN_DECLS
28#undef __END_DECLS
29#ifdef __cplusplus
30# define __BEGIN_DECLS extern "C" {
31# define __END_DECLS }
32#else
33# define __BEGIN_DECLS /* empty */
34# define __END_DECLS /* empty */
35#endif
36
37__BEGIN_DECLS
38
39
40/* Complementary Error Function
41 * erfc(x) := 2/Sqrt[Pi] Integrate[Exp[-t^2], {t,x,Infinity}]
42 *
43 * exceptions: none
44 */
45int gsl_sf_erfc_e(double x, gsl_sf_result * result);
46double gsl_sf_erfc(double x);
47
48
49/* Log Complementary Error Function
50 *
51 * exceptions: none
52 */
53int gsl_sf_log_erfc_e(double x, gsl_sf_result * result);
54double gsl_sf_log_erfc(double x);
55
56
57/* Error Function
58 * erf(x) := 2/Sqrt[Pi] Integrate[Exp[-t^2], {t,0,x}]
59 *
60 * exceptions: none
61 */
62int gsl_sf_erf_e(double x, gsl_sf_result * result);
63double gsl_sf_erf(double x);
64
65
66/* Probability functions:
67 * Z(x) : Abramowitz+Stegun 26.2.1
68 * Q(x) : Abramowitz+Stegun 26.2.3
69 *
70 * exceptions: none
71 */
72int gsl_sf_erf_Z_e(double x, gsl_sf_result * result);
73int gsl_sf_erf_Q_e(double x, gsl_sf_result * result);
74double gsl_sf_erf_Z(double x);
75double gsl_sf_erf_Q(double x);
76
77
78/* Hazard function, also known as the inverse Mill's ratio.
79 *
80 * H(x) := Z(x)/Q(x)
81 * = Sqrt[2/Pi] Exp[-x^2 / 2] / Erfc[x/Sqrt[2]]
82 *
83 * exceptions: GSL_EUNDRFLW
84 */
85int gsl_sf_hazard_e(double x, gsl_sf_result * result);
86double gsl_sf_hazard(double x);
87
88
89__END_DECLS
90
91#endif /* __GSL_SF_ERF_H__ */
92