[Python-Dev] Why is nan != nan? (original) (raw)

Adam Olsen rhamph at gmail.com
Mon Mar 29 07:04:33 CEST 2010


On Sun, Mar 28, 2010 at 17:55, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:

Steven D'Aprano wrote:

I disagree -- if I ask:

3.0 in [1.0, 2.0, float('nan'), 3.0] I should get True, not an exception. Yes, I don't think anyone would disagree that NaN should compare unequal to anything that isn't a NaN. Problems only arise when comparing two NaNs.

NaN includes real numbers. Although a NaN is originally produced for results that are not real numbers, further operations could produce a real number; we'd never know as NaN has no precision. Extending with complex numbers instead gives enough precision to show how this can happen.

-- Adam Olsen, aka Rhamphoryncus



More information about the Python-Dev mailing list