2006-07-29  Brian Gough  <bjg@network-theory.co.uk>

	* evolve.c (gsl_odeiv_evolve_apply): notify user of step-size
	which caused any failure by returning it

2006-06-13  Brian Gough  <bjg@network-theory.co.uk>

	* gsl_odeiv.h, control.c (gsl_odeiv_control_hadjust): change y0 to
	y in prototype to avoid conflict with bessel y0() in math.h

	* test.c (test_odeiv_stepper): change y0 to ystart

2005-04-08  Brian Gough  <bjg@network-theory.co.uk>

	* Fixed all functions to consistently return status instead of
	GSL_EBADFUNC.

2004-12-29  Brian Gough  <bjg@network-theory.co.uk>

	* test.c (test_compare_vanderpol): avoid variable size array
	(test_compare_oregonator): as above

2004-12-23  Brian Gough  <bjg@network-theory.co.uk>

	* test.c (test_evolve_xsin): changed description from "failures"
	to "errors"

2004-12-22  Brian Gough  <bjg@network-theory.co.uk>

	* rk2simp.c (rk2simp_step): added missing static declaration

	* gear1.c (gear1_step): added missing static declaration

	* gear2.c (gear2_step): added missing static declaration

	* rk4imp.c (rk4imp_step): added missing static declaration

	* rk4.c (rk4_step): added missing static declaration

	* rk2imp.c (rk2imp_step): added missing static declaration

2004-12-01  Brian Gough  <bjg@network-theory.co.uk>

	* updated all solvers to ensure correct handling of error codes
	from user defined functions

	* test.c (rhs_xsin): added a test which includes failures of the
	function itself and jacobian

2004-11-25  Brian Gough  <bjg@network-theory.co.uk>

	* gear2.c (gear2_alloc): added check for non-allocation of primer,
	and two-step error estimation

2004-11-23  Brian Gough  <bjg@network-theory.co.uk>

	* gear1.c (gear1_apply): use 90% error bound

	* rk2imp.c (rk2imp_apply): use 90% error bound

	* rk2simp.c (rk2simp_apply): use 90% error bound

2004-11-18  Brian Gough  <bjg@network-theory.co.uk>

	* test.c: new test program (Tuomo Keskitalo)

2004-11-12  Brian Gough  <bjg@network-theory.co.uk>

	* evolve.c (gsl_odeiv_evolve_apply): check for internal stepper
	failure (Tuomo Keskitalo)

	* bsimp.c: gives exact dydt_out (Tuomo Keskitalo)

	* rk2simp.c: new semi-implicit solver (Tuomo Keskitalo)

	* gear1.c rkf45.c rkck.c rk8pd.c rk4imp.c rk2imp.c rk2.c rk4.c:
	fix error estimate, exact derivatives on output (Tuomo Keskitalo)

2004-05-28  Brian Gough  <bjg@network-theory.co.uk>

	* bsimp.c (bsimp_apply): fix prototype of function to match
	definition in typedef by removing const on double args.

Sat Aug  3 19:02:37 2002  Brian Gough  <bjg@network-theory.co.uk>

	* cscal.c (struct): use matlab style error control, with scalar
 	relative error and vector absolute error

Wed Oct  3 13:19:28 2001  Brian Gough  <bjg@network-theory.co.uk>

	* evolve.c (gsl_odeiv_evolve_apply): report error if step
 	direction does not match interval direction

	* cstd.c (std_control_hadjust): allow for negative step-sizes

	* evolve.c (gsl_odeiv_evolve_apply): allow for integrating
 	backwards in time

Sat Sep 29 21:02:36 2001  Brian Gough  <bjg@network-theory.co.uk>

	* bsimp.c: use the condition |D^-1 Delta| >> 1 to detect
 	singularities, as described in the paper and implemented in METAN1
 	by Deuflhard et al.

	* evolve.c (gsl_odeiv_evolve_apply): reset the final_step flag
 	whenever the step size is decreased

Sun Jul  1 22:42:02 2001  Brian Gough  <bjg@network-theory.co.uk>

	* bsimp.c: modified to use new-style vector views

Fri Jun 22 11:59:24 2001  Brian Gough  <bjg@network-theory.co.uk>

	* evolve.c: keep track of failed step count

Tue Jun 12 11:34:23 2001  Brian Gough  <bjg@network-theory.co.uk>

	* rkf45.c: added Runge-Kutta Fehlberg method, RKF45

	* reorganized to use standard gsl conventions

Mon Apr 23 10:26:22 2001  Brian Gough  <bjg@network-theory.co.uk>

	* unified error handling conventions to _e for error handling
 	functions and no suffix for plain functions, so _impl functions
 	are no longer needed.

	* removed tests for EFAULT, since EFAULT should only apply to
 	invalid non-null pointers.

2000-05-14  Steve Robbins  <steve@nyongwa.montreal.qc.ca>

	* Makefile.am (test_LDADD): put libgslpermutation ahead of
	libgslvector in the link beccause the former uses
	`gsl_check_range' which is defined in the latter.

Tue Apr 11 19:59:01 2000  Brian Gough  <bjg@network-theory.co.uk>

	* bsimp.c (bsimp_step_local): changed gsl_la prefix to gsl_linalg,
 	new naming convention
	

Fri Oct  1 15:46:13 1999  Brian Gough  <bjg@network-theory.co.uk>

	* bsimp.c: converted to use new-style block/vector code

