[Python-Dev] Why is nan != nan?
Georg Brandl
g.brandl at gmx.net
Fri Mar 26 00:21:59 CET 2010
Am 25.03.2010 22:45, schrieb Greg Ewing:
> Georg Brandl wrote:
>> Thinking of each value created by float('nan') as
>> a different nan makes sense to my naive mind, and it also explains
>> nicely the behavior present right now.
>
> Not entirely:
>
> x = float('NaN')
> y = x
> if x == y:
> ...
>
> There it's hard to argue that the NaNs being compared
> result from different operations.
>
> It does suggest a potential compromise, though: a single
> NaN object compares equal to itself, but different NaN
> objects are never equal (more or less what dict membership
> testing does now, but extended to all == comparisons).
>
> Whether that's a *sane* compromise I'm not sure.
FWIW, I like it.
Georg
More information about the Python-Dev
mailing list