[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: new modules 'isnan', 'isnanf', 'isnand'
From: |
Simon Josefsson |
Subject: |
Re: new modules 'isnan', 'isnanf', 'isnand' |
Date: |
Tue, 22 Jul 2008 16:05:45 +0200 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/22.2 (gnu/linux) |
Ben Pfaff <address@hidden> writes:
> Simon Josefsson <address@hidden> writes:
>
>> Ben Pfaff <address@hidden> writes:
>>
>>> +Gnulib module: isnan
>>>
>>> Portability problems fixed by Gnulib:
>>> @itemize
>>> address@hidden
>>> +This macro is missing on some platforms and does not always yield
>>> +correct results on others.
>>> @end itemize
>>
>> Hi Ben! A minor comment: If you know which platforms isnan is missing
>> on, and which platforms it results in incorrect results, that may be
>> useful information to add. Also, knowing which inputs result in
>> incorrect output may also be useful. If it is complicated to explain,
>> perhaps the self-test or m4 test is a better place for such discussions,
>> but I could not find any similar change for that area in your patch (but
>> I could have missed it).
>
> Hi Simon. Thanks again for the comment. Here is the improved
> version that I included with the new patch series that I sent to
> Bruno separately.
>
> Portability problems fixed by Gnulib:
> @itemize
> @item
> @code{isnan} was introduced with C99 and is thus commonly not present
> on pre-C99 systems.
> @item
> On IRIX 6.5 with @code{cc}, @code{isnan} does not recognize some NaNs.
> @item
> On NetBSD/i386 and glibc/ia64, @code{isnan} does not recognize some
> forms of NaNs, such as pseudo-NaNs, pseudo-Infinities, and
> unnormalized numbers.
> @item
> On i686 and @var{x}86-64, @code{__builtin_isnanl} (and thus
> @code{isnan} implementations based on it) in GCC 4.0 and later does
> not recognize pseudo-denormals as NaNs, and similarly for
> pseudo-zeroes, unnormalized numbers, and pseudo-denormals on ia64.
> @end itemize
>
> It's not at all certain that these comments are entirely
> accurate, because they are actually guesses based on the fact
> that the (presumably) underlying isnanl and isnanf functions fail
> in those ways on the given platforms. But it seems likely. I
> don't know how to get access to IRIX 6.5, nor do I have a NetBSD
> or ia64 box around to test.
Thanks for adding this, it seems much better than before.
/Simon
- new modules 'isnan', 'isnanf', 'isnand', Ben Pfaff, 2008/07/08
- Re: new modules 'isnan', 'isnanf', 'isnand', Simon Josefsson, 2008/07/08
- Re: new modules 'isnan', 'isnanf', 'isnand', Ben Pfaff, 2008/07/08
- Re: new modules 'isnan', 'isnanf', 'isnand', Ben Pfaff, 2008/07/11
- Re: new modules 'isnan', 'isnanf', 'isnand',
Simon Josefsson <=
- Re: new modules 'isnan', 'isnanf', 'isnand', Bruno Haible, 2008/07/08
- Re: new modules 'isnan', 'isnanf', 'isnand', Bruno Haible, 2008/07/08
- [patch 2/4] Add isnand module., Ben Pfaff, 2008/07/11
- [patch 1/4] Rename isnand.h to isnand-nolibm.h, similarly for isnanf.h., Ben Pfaff, 2008/07/11
- Re: [patch 1/4] Rename isnand.h to isnand-nolibm.h, similarly for isnanf.h., Bruno Haible, 2008/07/11
- Re: [patch 1/4] Rename isnand.h to isnand-nolibm.h, similarly for isnanf.h., Ben Pfaff, 2008/07/12
- Re: [patch 1/4] Rename isnand.h to isnand-nolibm.h, similarly for isnanf.h., Bruno Haible, 2008/07/12
- [patch 4/4] Add isnan module., Ben Pfaff, 2008/07/11
- [patch 3/4] Add isnanf module., Ben Pfaff, 2008/07/11