[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gnulib-bug
Subject:    Re: new modules 'isnan', 'isnanf', 'isnand'
From:       Simon Josefsson <simon () josefsson ! org>
Date:       2008-07-22 14:05:45
Message-ID: 87prp6nhdy.fsf () mocca ! josefsson ! org
[Download RAW message or body]

Ben Pfaff <blp@cs.stanford.edu> writes:

> Simon Josefsson <simon@josefsson.org> writes:
>
>> Ben Pfaff <blp@cs.stanford.edu> writes:
>>
>>> +Gnulib module: isnan
>>>  
>>>  Portability problems fixed by Gnulib:
>>>  @itemize
>>> +@item
>>> +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



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic