Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
On Nov 2 2010, Arnold Neumaier wrote:
To check that we forget nothing of relevance, it would be useful if someone could collect the main different uses (or suggested uses) that NaNs have in past applications.
I attach a paper that I partially wrote some time ago, have circulated in various contexts, and which has always been received with a resounding thud. Look at Appendix A on page 9 for a discussion on this.
At present, I am aware of three different systematic uses, the first two corresponding to the above two cases: -- signalling ''invalid''; e.g., sqrt(-1)=NaN; -- signalling ''arbitrary''; e.g., 0/0=NaN; inf-inf=NaN; -- signalling ''missing value''; e.g., max(1,NaN,4,2)=4. Their interval analogues can be adequately handled using decorations. So my questions are: What other uses had been discussed in the 754-discussions?
What makes you think that those uses were? That is only partially a joke. Several people raised the semantic issues when I was following it (which was from fairly late on), and the (major) problems they raised were invariably swept aside and effectively ignored. The use for missing values was first perpetrated by C, and its rationale for doing so may be politely described as demonstrably almost totally bogus. In particular, its claim about the need for max(A,NaN) = A in statistics is the converse of the truth. I could explain that in detail, if people are interested.
What sorts of payloads were considered (potentially) useful?
Originally, in the glint of the eye of the originating team, anything, as far as I know - i.e. my use 'B'. However, all such uses either need recoverable exceptions or will be handled outside the arithmetic model, and neither fit with 'third-generation' languages. Regards, Nick Maclaren.
Attachment:
IEEE.pdf
Description: IEEE.pdf