[Python-Dev] Why is nan != nan?
Raymond Hettinger
raymond.hettinger at gmail.com
Fri Mar 26 01:00:03 CET 2010
On Mar 25, 2010, at 4:21 PM, Georg Brandl wrote:
> 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
>
+1
Raymond
More information about the Python-Dev
mailing list