[Scheme-reports] multiple NaN values Per Bothner (20 Feb 2012 09:10 UTC)
Re: [Scheme-reports] multiple NaN values John Cowan (20 Feb 2012 16:02 UTC)

[Scheme-reports] multiple NaN values Per Bothner 20 Feb 2012 09:07 UTC

IEEE allows multiple NaN values.  They're unlikely to matter
for Scheme implementations or code, but I think a note is in order.

I suggest something like the following:

IEEE 754 specifies multiple NaN values.  A Scheme implementation
may collapse all NaN values to a single "representative NaN",
or there may be multiple NaN values.  In the latter case,
the +nan.0 is the "canonical NaN" value.  Scheme functions in
general must treat all NaN values as equivalent. This specifically includes
the nan? functions, which must be true for all NaN values.
The only standard Scheme function which can distingish
different  NaN values is eqv?, though it is also permitted to
treat all NaN values as eqv?

Or perhaps:

IEEE 754 specifies multiple NaN values.  Scheme generally does
not care if there is a single value (bit pattern) for NaN,
or if there are multiple values:  If there are multiple NaN
values, or just one, they are all equivalent in terms of Scheme
computation: If there are multiple NaN values, they are all =.
However, the eqv? function is permitted (but not required)
to return #f when given two different NaN values.
--
	--Per Bothner
per@bothner.com   http://per.bothner.com/

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports