blob: 68223d6c3b59edd747ba2fe77bc33e1e9a5fe79e [file] [log] [blame]
2007-02-17 Brian Gough <bjg@network-theory.co.uk>
* log.c (gsl_sf_log_e): removed HIDE_INLINE_STATIC
* exp.c (gsl_sf_exp_e): removed HIDE_INLINE_STATIC
2007-02-14 Brian Gough <bjg@network-theory.co.uk>
* mathieu_charv.c: made solve_cubic static
2007-02-12 Brian Gough <bjg@network-theory.co.uk>
* mathieu_charv.c (figi): ensure that e[ii] is set when
e2[ii]==0.0 and there is no error condition, as per the original
eispack routine
2007-02-09 Brian Gough <bjg@network-theory.co.uk>
* ellint.c (gsl_sf_ellint_F_e): do argument reduction for phi>pi/2
(gsl_sf_ellint_E_e): do argument reduction for phi>pi/2
(gsl_sf_ellint_P_e): do argument reduction for phi>pi/2
(gsl_sf_ellint_D_e): do argument reduction for phi>pi/2
(gsl_sf_ellint_Dcomp_e): added complete D integral
(gsl_sf_ellint_Pcomp_e): added complete P integral
2007-01-31 Brian Gough <bjg@network-theory.co.uk>
* beta.c (gsl_sf_lnbeta_sgn_e): added to support calculations with
negative a,b
(gsl_sf_lnbeta_e): rewritten in terms of gsl_sf_lnbeta_sgn_e
(gsl_sf_beta_e): handle negative a,b
* gamma.c (gsl_sf_lngamma_sgn_e): make error calculations an exact
copy of gsl_sf_lngamma_e (these functions could be merged to avoid
duplication)
2007-01-29 Brian Gough <bjg@network-theory.co.uk>
* test_legendre.c (test_legendre): added extra test cases for
underflow
2007-01-26 Brian Gough <bjg@network-theory.co.uk>
* expint.c (expint_E2_impl): handle x==0.0 as a special case
(expint_E2_impl): corrected error term
* gsl_sf_log.h: removed inline version of log
* gsl_sf_exp.h: removed inline version of exp
2007-01-23 Brian Gough <bjg@network-theory.co.uk>
* hyperg_1F1.c (hyperg_1F1_1_series): increase accuracy by factor
of 4 in sum, tighter convergence condition, increase error
estimate to allow for accumulated roundoff
(hyperg_1F1_1): use series when |x| > |b|
(gsl_sf_hyperg_1F1_e): only use Kummer when |x| < 100 otherwise
exponential takes extreme value
* hyperg.c (gsl_sf_hyperg_1F1_series_e): allow 10000 iterations in
series to extend valid range
(gsl_sf_hyperg_1F1_series_e): increase accuracy by factor of 4 in
sum, tighter convergence condition
2007-01-19 Brian Gough <bjg@network-theory.co.uk>
* laguerre.c (laguerre_large_n): use the second term in the
asymptotic expansion from Slater, p.73.
2007-01-17 Brian Gough <bjg@network-theory.co.uk>
* hyperg_1F1.c (hyperg_1F1_largebx): asymptotic expansion for
large b and x, with |x|<|b| from Slater 4.3.7
(hyperg_1F1_1): use new asymptotic expansion for |x|<|b|
(hyperg_1F1_small_a_bgt0): use new asymptotic expansion for |x|<|b|
(hyperg_1F1_renorm_b0): add neglected terms in expansion for AS13.3.7
2007-01-14 Brian Gough <bjg@network-theory.co.uk>
* legendre_poly.c (gsl_sf_legendre_sphPlm_e): added explicit
computation of error term to allow for case when final term is
zero.
2007-01-12 Brian Gough <bjg@network-theory.co.uk>
* trig.c (gsl_sf_angle_restrict_symm_err_e): compute edge cases
more reliably, return NaN when total loss of precision
(gsl_sf_angle_restrict_pos_err_e): as above
* legendre_poly.c (gsl_sf_legendre_Pl_e): improve error estimate
for large l by including rounding error at each step of recurrence
2006-10-03 Brian Gough <bjg@network-theory.co.uk>
* poch.c (gsl_sf_lnpoch_e, gsl_sf_lnpoch_sgn_e): corrected
result->val to 0.0 for x==0, previously returned incorrect value
1.0
2006-09-24 Brian Gough <bjg@network-theory.co.uk>
* laguerre.c (laguerre_large_n): work with small angles to avoid
cancellation error, computer angular reduction exactly for integer
eta.
2006-09-22 Brian Gough <bjg@network-theory.co.uk>
* zeta.c (gsl_sf_zeta_e): make sin_term exactly zero for negative
even integers
(gsl_sf_zetam1_int_e): return value is -1 for zetam1_int with
negative even integers
2006-03-26 Brian Gough <bjg@network-theory.co.uk>
* fermi_dirac.c (fd_neg): initialize s to zero (avoid spurious
warning from compiler)
2006-02-23 Brian Gough <bjg@network-theory.co.uk>
* coulomb.c (gsl_sf_coulomb_wave_FG_e): fixed sign of F_lam_min,
covers case when k_lam_G is nonzero and F_lam_min and F_lam differ
in sign.
2006-01-21 Brian Gough <bjg@network-theory.co.uk>
* synchrotron.c (gsl_sf_synchrotron_1_e): added first order
correction term for the taylor expansion
(gsl_sf_synchrotron_2_e): added first order correction term for
the taylor expansion
2006-01-20 Brian Gough <bjg@network-theory.co.uk>
* bessel_j.c (gsl_sf_bessel_jl_e): limit the use of
gsl_sf_bessel_Jnu_asympx_e to the range x>100*l*l to satisfy
the requirement x>>l*l in the asymptotic expansion
* bessel_In.c (gsl_sf_bessel_In_scaled_e): limit the use of
gsl_sf_bessel_I_CF1_ser to the region where the continued
converges with the allowed 20000 terms (|x|<1e7)
2005-12-20 Brian Gough <bjg@network-theory.co.uk>
* debye.c (gsl_sf_debye_5_e, gsl_sf_debye_6_e): added n=5,6
(R. J. Mathar)
2005-11-15 Brian Gough <bjg@network-theory.co.uk>
* dilog.c (dilog_xge0): fix calculation of error estimate
2005-08-04 Brian Gough <bjg@network-theory.co.uk>
* coulomb.c (gsl_sf_coulomb_wave_sphF_array): fix warning about
variable shadowing for k
2005-07-29 Brian Gough <bjg@network-theory.co.uk>
* gamma_inc.c (gsl_sf_gamma_inc_Q_e): use continued fraction close
to peak of the integrand x > a - sqrt(a)
2005-07-28 Brian Gough <bjg@network-theory.co.uk>
* elljac.c (gsl_sf_elljac_e): use separate iterations to avoid
division by zero, new algorithm from Bulirsch avoids inverse trig
functions.
2005-07-03 Brian Gough <bjg@network-theory.co.uk>
* legendre_poly.c (gsl_sf_legendre_sphPlm_e): compute exponential
internally to avoid underflow error when calling gsl_sf_exp_err
2005-07-02 Brian Gough <bjg@network-theory.co.uk>
* bessel_i.c (gsl_sf_bessel_il_scaled_array): handle x==0 as a
special case
* bessel_k.c (gsl_sf_bessel_kl_scaled_array): added lmax==0 as a
special case
* bessel_y.c (gsl_sf_bessel_yl_array): added lmax==0 as a special
case
* transport.c (gsl_sf_transport_2_e): improve error estimate for
small x
2005-06-26 Brian Gough <bjg@network-theory.co.uk>
* test_sf.c (test_jac): added tests over the full period for
elljac functions
2005-05-23 Brian Gough <bjg@network-theory.co.uk>
* test_bessel.c (test_bessel): added test for steed(99,1,...)
* legendre_H3d.c (legendre_H3d_CF1): use hypot
(legendre_H3d_CF1_ser): use hypot
(gsl_sf_legendre_H3d_e): use hypot
(gsl_sf_legendre_H3d_e): use hypot
(gsl_sf_legendre_H3d_array): use hypot
* dilog.c (dilogc_unitdisk): use hypot
* coulomb.c (gsl_sf_coulomb_CL_array): use hypot
(coulomb_F_recur): use hypot
(coulomb_G_recur): use hypot
(coulomb_jwkb): use hypot
(gsl_sf_coulomb_wave_F_array): use hypot
(gsl_sf_coulomb_wave_FG_array): use hypot
(gsl_sf_coulomb_wave_FGp_array): use hypot
* bessel_j.c (gsl_sf_bessel_jl_steed_array): use hypot
* bessel.c (gsl_sf_bessel_Inu_scaled_asymp_unif_e): use hypot
(gsl_sf_bessel_Knu_scaled_asymp_unif_e): use hypot
2005-03-02 Brian Gough <bjg@network-theory.co.uk>
* coulomb_bound.c (gsl_sf_hydrogenicR_e): don't check for
underflow when function is known to be zero (e.g. r=0 l>0 or at
zeroes of the laguerre polynomial).
2004-12-29 Brian Gough <bjg@network-theory.co.uk>
* dilog.c (gsl_sf_complex_dilog_e): use const consistently in
arguments of declaration and definition
(gsl_sf_complex_dilog_xy_e): as above
2004-12-26 Brian Gough <bjg@network-theory.co.uk>
* gamma_inc.c (gamma_inc_D): improve error estimate for case of
u=x/a to include cancellation errors and only use it when x < 0.5*a
since the cancellation errors are significant for x/a ~ 1
2004-12-23 Brian Gough <bjg@network-theory.co.uk>
* gsl_sf_coupling.h: fixed declaration to
gsl_sf_coupling_6j_INCORRECT instead of
gsl_sf_coupling_INCORRECT_6j
2004-11-12 Brian Gough <bjg@network-theory.co.uk>
* psi.c (gsl_sf_psi_1): added missing function definition
gsl_sf_psi_1
2004-10-11 Brian Gough <bjg@network-theory.co.uk>
* expint.c (gsl_sf_expint_Ei_scaled): fixed call to incorrect
function gsl_sf_expint_Ei_e
2004-06-03 Brian Gough <bjg@network-theory.co.uk>
* psi.c (psi_n_xg0): added missing return type int
2003-11-30 Brian Gough <bjg@network-theory.co.uk>
* gsl_sf_log.h: added missing headers for inline functions
2003-08-11 Brian Gough <bjg@network-theory.co.uk>
* test_sf.c: added preprocessor definitions TEST_FACTOR and
TEST_SIGMA to allow larger tolerances on released versions (to
reduce the number of spurious bug reports).
2003-07-24 Brian Gough <bjg@network-theory.co.uk>
* gamma.c (gsl_sf_choose_e): declare k as unsigned int instead of
int
(gsl_sf_gamma_e): avoid shadowed declaration of sgn
* bessel_sequence.c (gsl_sf_bessel_sequence_Jnu_e): declare i as
size_t instead of int
2003-06-11 Brian Gough <bjg@network-theory.co.uk>
* coupling.c (gsl_sf_coupling_6j_INCORRECT_e): fixed typo in test
for two_jf < 0
(gsl_sf_coupling_6j_e): moved the implementation from the
INCORRECT function into the correct function
2003-06-05 Brian Gough <bjg@network-theory.co.uk>
* test_sf.c (test_coupling): added some regression tests for
coupling functions
2003-06-02 Brian Gough <bjg@network-theory.co.uk>
* gamma_inc.c (gamma_inc_D): handle x<a, a>10 as a special case
2003-04-18 Brian Gough <bjg@network-theory.co.uk>
* gamma.c (gsl_sf_gammainv_e): handle any singularities in
gamma(x) up front and return zero directly
2003-04-12 Brian Gough <bjg@network-theory.co.uk>
* psi.c: changed value of psi(1,1) in table psi_1_table to be
positive ((-)^2 * 1! * zeta(2)), in accordance with Abramowitz &
Stegun 6.4.2.
2003-04-08 G. Jungman
* erfc.c, gsl_sf_erf.h: added gsl_sf_hazard_e() and
gsl_sf_hazard() functions
2003-04-07 G. Jungman
* gamma_inc.c, gsl_sf_gamma.h: added gsl_sf_gamma_inc_e() and
gsl_sf_gamma_inc(), implmentations of the non-normalized incomplete
gamma function
2003-03-09 Brian Gough <bjg@network-theory.co.uk>
* gsl_sf_legendre.h: added missing const to formal parameter on
gsl_sf_legendre_sphPlm_deriv_array
2003-01-25 Brian Gough <brian.gough@network-theory.co.uk>
* test_gamma.c (test_gamma): added a test for
gamma_inc_P(10,1e-16) (BUG#12)
Sat Sep 7 15:56:15 2002 Brian Gough <bjg@network-theory.co.uk>
* test_sf.h (TEST_FACTOR): include an overall factor in the test
tolerances, otherwise there are too many bug reports for minor
failures.
Sun Sep 1 17:34:27 2002 Brian Gough <bjg@network-theory.co.uk>
* test_legendre.c (test_legendre): increased tolerance on test
Sat Jul 13 23:11:37 2002 Brian Gough <bjg@network-theory.co.uk>
* ellint.c (gsl_sf_ellint_Kcomp_e): improved error estimate to
take cancellation of y=1-k^2 into account near k=1
Sun Jul 7 21:39:12 2002 Brian Gough <bjg@network-theory.co.uk>
* test_bessel.c (test_bessel): increased tolerance on test of
bessel_Jn_array
Tue May 28 21:04:29 2002 Brian Gough <bjg@network-theory.co.uk>
* psi.c (gsl_sf_psi_1piy_e): changed log(y) to log(ay) since
function is even and can be extended to negative y
Mon Jan 28 19:02:42 2002 Brian Gough <bjg@network-theory.co.uk>
* gamma_inc.c (gamma_inc_Q_CF): express 'small' constant in terms
of GSL_DBL_EPSILON
(gamma_inc_Q_CF): patch for more reliable series from Hans Plesser
Sat Jan 26 17:33:29 2002 Brian Gough <bjg@network-theory.co.uk>
* test_gamma.c (test_gamma): increased tolerance on a test
* test_hyperg.c (test_hyperg): increased tolerance on a couple of
tests
Fri Jan 18 15:12:30 2002 Brian Gough <bjg@network-theory.co.uk>
* test_airy.c (test_airy): increased tolerance on test
Tue Jan 8 14:31:04 2002 Brian Gough <bjg@network-theory.co.uk>
* test_legendre.c (test_legendre): increased tolerance by one
level on _array tests
* hyperg_1F1.c (hyperg_1F1_small_a_bgt0): fix branch for a==1
Fri Dec 7 12:38:40 2001 Brian Gough <bjg@network-theory.co.uk>
* laguerre.c (laguerre_n_cp): catch internal error, not global
error
* error.h (INTERNAL_OVERFLOW_ERROR): added internal error macros
which do not call the error handler.
Wed Dec 5 19:25:26 2001 Brian Gough <bjg@network-theory.co.uk>
* gamma.c (gamma_xgthalf): return gamma(x) exactly when x is an
integer
* hyperg_1F1.c (hyperg_1F1_ab_posint): fix bug in recurrence
initialisation, as done for hyperg_1F1_ab_pos
Thu Oct 18 11:37:25 2001 Brian Gough <bjg@network-theory.co.uk>
* coulomb.c (gsl_sf_coulomb_CL_array): renamed from
gsl_sf_coulomb_CL_list for consistency
Sat Oct 13 15:55:56 2001 Brian Gough <bjg@network-theory.co.uk>
* cheb_eval.c (cheb_eval_e): keep track of cancellation error to
prevent underestimates of total error.
Fri Oct 12 16:39:27 2001 Brian Gough <bjg@network-theory.co.uk>
* test_hyperg.c (test_hyperg): increased tolerance from TOL0 to
TOL1 on one test to allow it to pass under different optimizations
Thu Oct 11 14:21:34 2001 Brian Gough <bjg@network-theory.co.uk>
* gegenbauer.c (gsl_sf_gegenpoly_n_e): initialize variable gk to
zero to avoid warning
* bessel_i.c (gsl_sf_bessel_il_scaled_e): initialize variable
iellm1 to zero to avoid warning
* bessel_Jnu.c (gsl_sf_bessel_Jnu_e): initialize variable Ynp1 to
zero to avoid warning
* legendre_poly.c (gsl_sf_legendre_sphPlm_e): initialize variables
p_ell, y_ell to zero to avoid warning
Thu Sep 6 10:38:51 2001 Brian Gough <bjg@network-theory.co.uk>
* clausen.c: added missing initialiser to cheb_series struct
* pow_int.c (gsl_sf_pow_int_e): handle the case x == 0, n < 0
* legendre_poly.c (gsl_sf_legendre_array_size): added missing
static version of this inline function
Wed Aug 15 20:18:43 2001 Brian Gough <bjg@network-theory.co.uk>
* hyperg_1F1.c (hyperg_1F1_ab_pos): fix bug in recurrence
initialisation
(hyperg_1F1_ab_neg): if all else fails, try the series.
Wed Aug 8 19:55:34 2001 Brian Gough <bjg@network-theory.co.uk>
* test_sf.c (test_coupling): used analytic expressions for the
exact values to problems with insufficient precision
Thu Jul 12 15:25:04 2001 Brian Gough <bjg@network-theory.co.uk>
* test_legendre.c (test_legendre): corrected tests to use exact
floating point arguments near singularities.
* legendre_Qn.c (gsl_sf_legendre_Q0_e): removed unnecessary error
terms that I added
(gsl_sf_legendre_Q1_e): removed unnecessary error terms that I
added
Wed Jul 11 16:06:45 2001 Brian Gough <bjg@network-theory.co.uk>
* error.h: moved domain, overflow and underflow errors into
macros, return Nan for domain error, Inf for overflow.
Tue Jul 10 22:00:55 2001 Brian Gough <bjg@network-theory.co.uk>
* erfc.c (gsl_sf_log_erfc_e): introduce an additional log(erfc)
branch to prevent loss of accuracy for small x
* test_sf.c (test_zeta): increased tolerance on zeta function test
to take into account differences in rounding
2001-07-10 Brian Gough <bjg@hppav.local>
* legendre_Qn.c (gsl_sf_legendre_Q0_e): use (log1p(x) - log1p(-x))
instead of log((1+x)/(1-x)), for accuracy
(gsl_sf_legendre_Q1_e): use (log1p(x) - log1p(-x)) instead of
log((1+x)/(1-x)), for accuracy
(gsl_sf_legendre_Q0_e): improve error estimate near singular
points
(gsl_sf_legendre_Q1_e): improve error estimate near singular
points
(gsl_sf_legendre_Q0_e): fixed incorrect factor of 2 in asymptotic
expansion
* check.h (CHECK_UNDERFLOW): provide macro for checking results
for underflow
Fri Jul 6 20:16:19 2001 Brian Gough <bjg@network-theory.co.uk>
* zeta.c (riemann_zeta1m_slt0): added a function to compute
zeta(1-s) without loss of accuracy for s near zero, as used by the
reflection formula. This fixes a bug in the accuracy of results
of zeta(-x) for small x, where loss of precision previously
occurred by evaluating 1-x.
2001-07-06 Brian Gough <bjg@network-theory.co.uk>
* bessel_I0.c (gsl_sf_bessel_I0_scaled_e): added missing scaling
factor of exp(-x) for case x<2sqrt(epsilon)
Thu Jul 5 16:16:13 2001 Brian Gough <bjg@network-theory.co.uk>
* erfc.c (gsl_sf_erfc_e): corrected case of -10<x<-5 to take into
account that chebyshev fit is defined in terms of positive x.
Tue Jul 3 12:09:33 2001 Brian Gough <bjg@network-theory.co.uk>
* eval.h (EVAL_DOUBLE): avoid returning the status value as a
numerical result
2001-06-28 Brian Gough <bjg@network-theory.co.uk>
* elementary.c (gsl_sf_multiply_e): use GSL_COERCE_DBL macro to
deal with extended register problem
* coupling.c: include stdlib.h for prototype of abs()
Wed Jun 27 21:20:22 2001 Brian Gough <bjg@network-theory.co.uk>
* test_sf.c (test_fermidirac): increased tolerance on test of
gsl_sf_fermi_dirac_int(9,500) by factor of two to allow for MSVC
Tue Jun 26 12:10:17 2001 Brian Gough <bjg@network-theory.co.uk>
* gsl_sf_gamma.h: added const to prototype, to match function
definition
Sun May 6 13:01:01 2001 Brian Gough <bjg@network-theory.co.uk>
* test_sf.c: initialize message_buff to null string to prevent
random segmentation faults
* test_sf.h: simplified test macros to reduce stack usage
Mon Apr 30 12:38:15 2001 Brian Gough <bjg@network-theory.co.uk>
* airy_zero.c bessel_zero.c: zeros are now counted using an
unsigned int
* poly.c: moved poly_eval function into poly/ directory
Wed Apr 25 17:28:48 2001 Brian Gough <bjg@network-theory.co.uk>
* trig.c (gsl_sf_polar_to_rect): dropped _e from polar/rect
conversion functions
Tue Apr 24 17:05:22 2001 Brian Gough <bjg@network-theory.co.uk>
* split out chebyshev functions into their own cheb/ directory,
leaving behind an internal cheb struct and cheb evaluation
function.
Mon Apr 23 10:21:06 2001 Brian Gough <bjg@network-theory.co.uk>
* changed tests for EFAULT into a commented-out macro, since
EFAULT should only apply to invalid non-null pointers, but it
might be useful to keep the tests around for debugging in this
directory.
* unified error handling conventions to _e for error handling
functions and no suffix for plain functions, so _impl functions
are no longer needed.
1999-08-02 Mark Galassi <rosalia@lanl.gov>
* fermi_dirac.c: took out the use of some "const int" constants
which were being used to size arrays, since this is not portable
(thanks to Bernd Petrovitsch <bernd@ict.tuwien.ac.at> for pointing
this out).
1999-01-02 Mark Galassi <rosalia@cygnus.com>
* trig.c (gsl_sf_rect_to_polar_impl): introduced an #ifdef
HAVE_HYPOT for systems that do not have the hypot() routine.
Sun Feb 14 20:59:50 1999 Brian Gough <bjg@netsci.freeserve.co.uk>
* Makefile.am (include_HEADERS): added gsl_sf_result.h
1998-12-05 Mark Galassi <rosalia@cygnus.com>
* Makefile.am: t-erf.c was commented out, which is a problem
(pointed out by automake-1.3b). Moved the commented-out t-erf.c
line to the end of the long list of files.
* legendre_poly.c (gsl_sf_legendre_Pl_impl):
* legendre_con.c (gsl_sf_conicalP_xgt1_neg_mu_largetau_impl):
added an ugly fix to the invocation of gsl_sf_bessel_Jn_impl() to
give it two bogus arguments so that it builds. I hope Jerry fixes
it up soon!
* gsl_sf_airy.h: added an include of gsl_precision.h so that
gsl_prec_t is defined.
Tue Nov 17 17:29:31 1998 Brian Gough <bjg@vvv.lanl.gov>
* added #include <config.h> to all top-level source files
* chebyshev.c (gsl_sf_cheb_eval_n): changed local gslMIN and
gslMAX to the standard GSL_MIN and GSL_MAX macros
Tue Aug 18 13:36:15 1998 Brian Gough <bjg@vvv.lanl.gov>
* coulomb.c (C0sq): changed to using gsl_sf_expm1_impl instead of
expm1, since the latter is a GNU extension.
Mon Aug 3 14:43:16 1998 Brian Gough <bjg@vvv.lanl.gov>
* bessel_amp_phase.h: undefined consts are now declared extern
Mon Jul 13 12:40:27 1998 Brian Gough <bjg@vvv.lanl.gov>
* gamma.c: changed all the factorial functions to take unsigned
int arguments, since negative values are not allowed.
(gsl_sf_choose): fixed off by one error in call to factorial.
Sun Jul 12 13:21:41 1998 Brian Gough <bjg@vvv.lanl.gov>
* gsl_sf_legendre.h, gsl_sf_poly.h, gsl_sf_pow_int.h: added
HAVE_INLINE around some inline definitions in the header files
* gamma.c: implemented the natural versions of gsl_sf_lnchoose and
gsl_sf_choose.
Wed Apr 15 21:27:48 1998 Brian Gough <bjg@vvv.lanl.gov>
* added the return code as the second argument of GSL_WARNING, so
we can filter on the error number or output a standard message for
each one.
1998-02-02 Mark Galassi <rosalia@cygnus.com>
* Makefile.am (include_HEADERS): added gsl_specfunc.h so it gets
into the distribution.
(INCLUDES): added -I$(top_srcdir) so that bessel.c can find
gsl_math.h