[Cfp-interest 2847] Re: The leading (or negative field) bit on a NaN

Jim Thomas jaswthomas at sbcglobal.net
Thu Aug 24 10:53:12 PDT 2023


And 754 subclause 6.2.3 “NaN propagation” makes several recommendations about the propagation of NaN payloads but not of NaN sign bits. 

But I agree with Mike that this an issue for the 754 list. 

- Jim Thomas

> On Aug 24, 2023, at 8:26 AM, Steve (Swift) Canon <scanon at apple.com> wrote:
> 
> This is one of the dustier corners of 754; the relevant part of the standard is:
> 
>> When either an input or result is NaN, this standard does not interpret the sign of a NaN. Note, however, that operations on bit strings — copy, negate, abs, copySign — specify the sign bit of a NaN result, sometimes based upon the sign bit of a NaN operand.
> 
> So NaN has a signbit in the encoding, but it is not a sign, but it behaves as though it were a sign for the purposes of the copySign operation.
> 
> Note that the signbit is explicitly _not_ part of a NaN’s payload, even though Mike finds it convenient to work with them this way:
> 
> Binary formats:
>> The remaining bits, which are in the trailing significand field, encode the payload, which might be diagnostic information (see above).
> 
> Decimal:
>> The remaining bits of G are ignored, and T constitutes the NaN’s payload, which can be used to distinguish various NaNs.
> 
> – Steve
> 
>> On Aug 24, 2023, at 10:43 AM, Mike Cowlishaw <mfc at speleotrove.com> wrote:
>> 
>> I would say that's a question to ask on the 754 list, not here :-).  By
>> definition NaNs are not numbers so do not have a sign.  I just find it
>> convenient to think of the NaN's payload as having a sign -- which is not
>> suggesting that the NaN has a sign.
>> 
>> Mike 
>> 
>>> -----Original Message-----
>>> On Thu, 24 Aug 2023, Mike Cowlishaw wrote:
>>> 
>>>> Technically its 'just another bit'.  However, in my 
>>>> testcases I treat 
>>>> the payload of the NaN as being a signed integer having the 
>>>> value of 
>>>> the significand and signed by treating that bit as a sign 
>>>> bit.  This 
>>>> to me, is useful and unambiguous, and it also works for 
>>>> both decimal 
>>>> significand codings..
>>> 
>>> I was looking at in the context of the projection of a complex number
>>> 
>>> x + I y
>>> 
>>> onto the eextended complex plane (as modelled by a Riemann 
>>> sphere) of a complex number with an infinite part. This is 
>>> the 'cproj' routine.
>>> 
>>> It returns
>>> 
>>> INFINOYI + I (+|-0.0)
>>> 
>>> where the sign of that zero is directly affected by the sign of 'y'.
>>> 
>>> However, I cannot see how, if 'y' is a NaN, that its payload 
>>> details, specifically the 'sign' bit, should influence the 
>>> sign of that 0.0.
>>> 
>>> Just curious.
>>> 
>>> Or is the reason definitional to provide reproducible results?
>>> 
>>> Thanks - Damian
>>> 
>> 
>> _______________________________________________
>> Cfp-interest mailing list
>> Cfp-interest at oakapple.net
>> http://mailman.oakapple.net/mailman/listinfo/cfp-interest
> 
> 
> _______________________________________________
> Cfp-interest mailing list
> Cfp-interest at oakapple.net
> http://mailman.oakapple.net/mailman/listinfo/cfp-interest




More information about the Cfp-interest mailing list