[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-gsl] buglet in complex/math.c
From: |
John D Lamb |
Subject: |
[Bug-gsl] buglet in complex/math.c |
Date: |
Fri, 06 Apr 2007 19:26:12 +0100 |
I spotted this skimming through the code for gsl_complex_pow: it will
return 0^0 = 0 instead of 0^0 = 1 and so is inconsistent with
mathematical conventions and with pow() from the standard library.
It starts:
gsl_complex
gsl_complex_pow (gsl_complex a, gsl_complex b)
{ /* z=a^b */
gsl_complex z;
if (GSL_REAL (a) == 0 && GSL_IMAG (a) == 0.0)
{
GSL_SET_COMPLEX (&z, 0.0, 0.0);
}
...
return z;
}
I think it should have
if (GSL_REAL (a) == 0 && GSL_IMAG (a) == 0.0)
{
if (GSL_REAL (b) == 0 && GSL_IMAG (b) == 0.0)
{
GSL_SET_COMPLEX (&z, 1.0, 0.0);
}
else
{
GSL_SET_COMPLEX (&z, 0.0, 0.0);
}
}
...
--
JDL
- [Bug-gsl] buglet in complex/math.c,
John D Lamb <=