2003-01-25  Brian Gough  <brian.gough@network-theory.co.uk>

	* math.c (gsl_complex_arccsc_real): fixed bug for incorrect sign
	of imaginary part when -1<a<0

Wed Dec 11 13:17:21 2002  Brian Gough  <brian.gough@network-theory.co.uk>

	* math.c (gsl_complex_arg): enforce special case arg(0,0) = 0.0

Mon Sep 10 22:57:27 2001  Brian Gough  <bjg@network-theory.co.uk>

	* math.c (gsl_complex_div_real gsl_complex_div_real): added
 	missing functions div_real and div_imag

Mon Aug 27 18:58:41 2001  Brian Gough  <bjg@network-theory.co.uk>

	* test.el: trim the tests down to a more reasonable size

Thu Aug  9 15:48:48 2001  Brian Gough  <bjg@network-theory.co.uk>

	* math.c (gsl_complex_tanh): improve accuracy for large R

Fri Jul 27 23:29:10 2001  Brian Gough  <bjg@network-theory.co.uk>

	* math.c (gsl_complex_cos): avoid returning negative zero for the
 	imaginary part when the argument is purely real

Wed Mar 21 14:40:34 2001  Brian Gough  <bjg@network-theory.co.uk>

	* gsl_complex.h (GSL_COMPLEX_P): added macro to point to beginning
 	of complex array within the struct

Mon Dec  4 12:29:12 2000  Brian Gough  <bjg@network-theory.co.uk>

	* math.c (gsl_complex_rect): changed the function gsl_complex_xy
 	to gsl_complex_rect, since this is more meaningful

Sun Oct 22 13:55:09 2000  Brian Gough  <bjg@network-theory.co.uk>

	* math.c: changed calls to gsl_hypot() to hypot() so that the
 	system function is used in preference (the configure script will
 	define hypot to gsl_hypot if hypot is unavailable), similar change
 	for functions log1p and gsl_log1p also

Wed Mar 15 11:17:21 2000  Brian Gough  <bjg@network-theory.co.uk>

	* gsl_complex.h: moved into complex/ subdirectory from top-level

