summaryrefslogtreecommitdiff
path: root/lib/Numeric
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Numeric')
-rw-r--r--lib/Numeric/GSL/Special/autoall.sh4
-rw-r--r--lib/Numeric/GSL/Special/gsl_sf_exp.h146
-rw-r--r--lib/Numeric/GSL/Special/gsl_sf_log.h90
3 files changed, 2 insertions, 238 deletions
diff --git a/lib/Numeric/GSL/Special/autoall.sh b/lib/Numeric/GSL/Special/autoall.sh
index 1581e38..da349a4 100644
--- a/lib/Numeric/GSL/Special/autoall.sh
+++ b/lib/Numeric/GSL/Special/autoall.sh
@@ -19,7 +19,7 @@ rep ', coupling_6j_INCORRECT_e\n, coupling_6j_INCORRECT\n' '' Coupling.hs
19./auto.hs elementary 19./auto.hs elementary
20./auto.hs ellint 20./auto.hs ellint
21./auto.hs erf 21./auto.hs erf
22./auto.hs exp gsl_sf_exp.h 22./auto.hs exp
23rep ', exp\n' ', Numeric.GSL.Special.Exp.exp\n' Exp.hs 23rep ', exp\n' ', Numeric.GSL.Special.Exp.exp\n' Exp.hs
24./auto.hs expint 24./auto.hs expint
25./auto.hs fermi_dirac 25./auto.hs fermi_dirac
@@ -29,7 +29,7 @@ rep ', exp\n' ', Numeric.GSL.Special.Exp.exp\n' Exp.hs
29./auto.hs laguerre 29./auto.hs laguerre
30./auto.hs lambert 30./auto.hs lambert
31./auto.hs legendre gsl_sf_legendre.h 31./auto.hs legendre gsl_sf_legendre.h
32./auto.hs log gsl_sf_log.h 32./auto.hs log
33rep ', log\n' ', Numeric.GSL.Special.Log.log\n' Log.hs 33rep ', log\n' ', Numeric.GSL.Special.Log.log\n' Log.hs
34./auto.hs pow_int 34./auto.hs pow_int
35./auto.hs psi 35./auto.hs psi
diff --git a/lib/Numeric/GSL/Special/gsl_sf_exp.h b/lib/Numeric/GSL/Special/gsl_sf_exp.h
deleted file mode 100644
index b1f0d89..0000000
--- a/lib/Numeric/GSL/Special/gsl_sf_exp.h
+++ /dev/null
@@ -1,146 +0,0 @@
1/* specfunc/gsl_sf_exp.h
2 *
3 * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 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 2 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_EXP_H__
23#define __GSL_SF_EXP_H__
24
25#include <gsl/gsl_sf_result.h>
26#include <gsl/gsl_precision.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/* Provide an exp() function with GSL semantics,
41 * i.e. with proper error checking, etc.
42 *
43 * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
44 */
45int gsl_sf_exp_e(const double x, gsl_sf_result * result);
46double gsl_sf_exp(const double x);
47
48
49/* Exp(x)
50 *
51 * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
52 */
53int gsl_sf_exp_e10_e(const double x, gsl_sf_result_e10 * result);
54
55
56/* Exponentiate and multiply by a given factor: y * Exp(x)
57 *
58 * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
59 */
60int gsl_sf_exp_mult_e(const double x, const double y, gsl_sf_result * result);
61double gsl_sf_exp_mult(const double x, const double y);
62
63
64/* Exponentiate and multiply by a given factor: y * Exp(x)
65 *
66 * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
67 */
68int gsl_sf_exp_mult_e10_e(const double x, const double y, gsl_sf_result_e10 * result);
69
70
71/* exp(x)-1
72 *
73 * exceptions: GSL_EOVRFLW
74 */
75int gsl_sf_expm1_e(const double x, gsl_sf_result * result);
76double gsl_sf_expm1(const double x);
77
78
79/* (exp(x)-1)/x = 1 + x/2 + x^2/(2*3) + x^3/(2*3*4) + ...
80 *
81 * exceptions: GSL_EOVRFLW
82 */
83int gsl_sf_exprel_e(const double x, gsl_sf_result * result);
84double gsl_sf_exprel(const double x);
85
86
87/* 2(exp(x)-1-x)/x^2 = 1 + x/3 + x^2/(3*4) + x^3/(3*4*5) + ...
88 *
89 * exceptions: GSL_EOVRFLW
90 */
91int gsl_sf_exprel_2_e(double x, gsl_sf_result * result);
92double gsl_sf_exprel_2(const double x);
93
94
95/* Similarly for the N-th generalization of
96 * the above. The so-called N-relative exponential
97 *
98 * exprel_N(x) = N!/x^N (exp(x) - Sum[x^k/k!, {k,0,N-1}])
99 * = 1 + x/(N+1) + x^2/((N+1)(N+2)) + ...
100 * = 1F1(1,1+N,x)
101 */
102int gsl_sf_exprel_n_e(const int n, const double x, gsl_sf_result * result);
103double gsl_sf_exprel_n(const int n, const double x);
104
105
106/* Exponentiate a quantity with an associated error.
107 */
108int gsl_sf_exp_err_e(const double x, const double dx, gsl_sf_result * result);
109
110/* Exponentiate a quantity with an associated error.
111 */
112int gsl_sf_exp_err_e10_e(const double x, const double dx, gsl_sf_result_e10 * result);
113
114
115/* Exponentiate and multiply by a given factor: y * Exp(x),
116 * for quantities with associated errors.
117 *
118 * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
119 */
120int gsl_sf_exp_mult_err_e(const double x, const double dx, const double y, const double dy, gsl_sf_result * result);
121
122
123/* Exponentiate and multiply by a given factor: y * Exp(x),
124 * for quantities with associated errors.
125 *
126 * exceptions: GSL_EOVRFLW, GSL_EUNDRFLW
127 */
128int gsl_sf_exp_mult_err_e10_e(const double x, const double dx, const double y, const double dy, gsl_sf_result_e10 * result);
129
130__END_DECLS
131
132
133#ifdef HAVE_INLINE
134#include <gsl/gsl_math.h>
135#include <gsl/gsl_errno.h>
136
137__BEGIN_DECLS
138
139
140
141__END_DECLS
142
143#endif /* HAVE_INLINE */
144
145
146#endif /* __GSL_SF_EXP_H__ */
diff --git a/lib/Numeric/GSL/Special/gsl_sf_log.h b/lib/Numeric/GSL/Special/gsl_sf_log.h
deleted file mode 100644
index 5225d05..0000000
--- a/lib/Numeric/GSL/Special/gsl_sf_log.h
+++ /dev/null
@@ -1,90 +0,0 @@
1/* specfunc/gsl_sf_log.h
2 *
3 * Copyright (C) 1996, 1997, 1998, 1999, 2000, 2004 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 2 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_LOG_H__
23#define __GSL_SF_LOG_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/* Provide a logarithm function with GSL semantics.
41 *
42 * exceptions: GSL_EDOM
43 */
44int gsl_sf_log_e(const double x, gsl_sf_result * result);
45double gsl_sf_log(const double x);
46
47
48/* Log(|x|)
49 *
50 * exceptions: GSL_EDOM
51 */
52int gsl_sf_log_abs_e(const double x, gsl_sf_result * result);
53double gsl_sf_log_abs(const double x);
54
55
56/* Complex Logarithm
57 * exp(lnr + I theta) = zr + I zi
58 * Returns argument in [-pi,pi].
59 *
60 * exceptions: GSL_EDOM
61 */
62int gsl_sf_complex_log_e(const double zr, const double zi, gsl_sf_result * lnr, gsl_sf_result * theta);
63
64
65/* Log(1 + x)
66 *
67 * exceptions: GSL_EDOM
68 */
69int gsl_sf_log_1plusx_e(const double x, gsl_sf_result * result);
70double gsl_sf_log_1plusx(const double x);
71
72
73/* Log(1 + x) - x
74 *
75 * exceptions: GSL_EDOM
76 */
77int gsl_sf_log_1plusx_mx_e(const double x, gsl_sf_result * result);
78double gsl_sf_log_1plusx_mx(const double x);
79
80
81#ifdef HAVE_INLINE
82#include <gsl/gsl_math.h>
83#include <gsl/gsl_errno.h>
84
85#endif /* HAVE_INLINE */
86
87
88__END_DECLS
89
90#endif /* __GSL_SF_LOG_H__ */