Kahan states this in a 1997 paper:

«[…]An SNaN may be moved ( copied ) without incident, but any other arithmetic operation upon an SNaN is an INVALID operation ( and so is loading one onto the ix87's stack ) that must trap or else produce a new nonsignaling NaN. ( Another way to turn an SNaN into a NaN is to turn 0xxx...xxx into 1xxx...xxx with a logical OR.) Intended for, among other things, data missing from statistical collections, and for uninitialized variables[…]»

( http://www.eecs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF)

x87 is legacy, it predates IEEE754 by 5 years and should be forgotten.

Note also that the string representation for a signalling nan is "NANS", so it reasonable to save it to file if you need to represent missing data. "NAN" represents 0/0, sqrt(-1), not missing data.

I'm not really sure how it can be interpreted differently?

Ola.

Reply via email to