This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: strtod ("nan") returns negative NaN
On 2018-08-15 10:51, Joseph Myers wrote:
> On Wed, 15 Aug 2018, Paul Koning wrote:
>
>>> * Different processors have different preferences for what a "default"
>>> quiet NaN (e.g. one produced by an operation without NaN operands) should
>>> look like. Some clear all the lower mantissa bits, some set them. If you
>>> use the built-in functions then you generate NaNs following GCC's
>>> knowledge of such processor conventions.
>>
>> But does that matter? It should be sufficient to generate a legal NaN
>> when one is requested. Given that there are don't care bits in the
>> representation of NaN, it might look different from one generated by the
>> hardware as the output of some operation, but a NaN is a Nan so long as
>> it matches what the spec says -- right?
Signalling NaNs are useful in development and for mathematicians who want to
ensure rigorous correctness: most of us and most apps would prefer NaNs remain
quiet, and interchanged data with NaNs not to create a fuss: non-zero mantissa
bits which do not constitute a signalling NaN on any known platform [NaN with
all zero mantissa bits is Inf]. Some old K-C-S draft-based or low cost
implementations may cheap out on how many or which bit(s) to check.
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada