Re: [Scheme-reports] multiple NaN values
Per Bothner 20 Feb 2012 19:12 UTC
On 02/20/2012 09:12 AM, Aubrey Jaffer wrote:
> | Date: Mon, 20 Feb 2012 01:07:09 -0800
> | From: Per Bothner<per@bothner.com>
> |
> | 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?
>
> EQ? is allowed to distinguish different NaN values. It is better to
> let EQ? make this distinction than EQV?.
EQ? can distinguish the "same" values as being different:
(eq? 2.0 2.0) => unspecified.
Thus it is uninteresting in this context.
--
--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