| Karim Belabas on Wed, 05 Oct 2005 18:27:56 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: Fwd: Incorrect conversion of unnormalized IEEE doubles |
* Bill Allombert [2005-10-05 14:12]:
> On Wed, Oct 05, 2005 at 07:15:51AM -0400, kynn@panix.com wrote:
> > I was not able to find mention of this bug at
> > http://pari.math.u-bordeaux.fr/Bugs/, but on the other hand I was not
> > able to determine what versions numbers correspond to the
> > "pari-stable" and "pari" options in that page, so it is possible that
> > the version I am using, which is quite old (2.1.3), is not covered in
> > these bug reports and that the bug I'm referring to was already
> > fixed in "pari-stable".
>
> pari-stable denotes version 2.1.x, pari denotes version 2.2.x.
> The latest stable version is 2.1.7.
>
> > Anyway, if any of you is able to reproduce the bug in the PARI
> > versions corresponding to the "pari-stable" or "pari" options, please
> > let me know, and I'll send in a formal bug report.
>
> I think I can reproduce this bug with all versions (2.1.3, 2.1.7,
> 2.2.11) by using the C program below:
>
> --------------
> #include <pari/pari.h>
> #include <float.h>
>
> int main(void)
> {
> double g=DBL_MIN/2;
> GEN z;
> pari_init(4000000,2);
> z=dbltor(g);
> pariputsf("%g %Z\n",g,z);
> }
I have committed a patch to CVS, which should treat properly unnormalized
numbers (and also recognize NaN and +/-Infinity, if only by raising an
error instead of returning junk).
It looks OK on 32 and 64 bit machines.
Thanks for the bug report and analysis!
Karim.
--
Karim Belabas Tel: (+33) (0)5 40 00 26 17
Universite Bordeaux 1 Fax: (+33) (0)5 40 00 69 50
351, cours de la Liberation http://www.math.u-bordeaux.fr/~belabas/
F-33405 Talence (France) http://pari.math.u-bordeaux.fr/ [PARI/GP]