[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Making 'eq' == 'eql' in bignum branch

From: John Yates
Subject: Re: Making 'eq' == 'eql' in bignum branch
Date: Fri, 10 Aug 2018 12:52:53 -0400

On Fri, Aug 10, 2018 at 11:44 AM Pip Cet <address@hidden> wrote:
> giving up IEEE compliance and surprising the occasional user who wants it.

I have not been paying much attention to this thread so perhaps I am
preaching to the choir here...

In my day job one of my multi-year efforts has been to bring Mathwork's
MATLAB optimization and generated code into ever greater compliance
with the IEEE 754 standard.  As such I have much exposure to both the
specifics of the standard and the (often erroneous) expectations of users.

The standard talks about values, not objects, and relationships between
values.  NaN is a value just as much as 2 or pi.

More importantly the standard says that two NaN values (even if fetched
from the same container within a single expression) _always_ compare
not equal.

Were I that "occasional user who wants" IEEE compliance in my elisp
code I would expect comparisons of NaNs (whether via either eq or eql)
to return nil.  My sense is that to achieve that effect one must _always_
compare floating point objects, even if they reside at the same address.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]