On Tue, Mar 23, 2010 at 12:04, Mark Dickinson <dicki...@gmail.com> wrote: > On Tue, Mar 23, 2010 at 5:48 PM, Adam Olsen <rha...@gmail.com> wrote: >> a = Decimal('nan') >> a != a >> >> They don't follow the behaviour required for being hashable. > > What's this required behaviour? The only rule I'm aware of is that if > a == b then hash(a) == hash(b). That's not violated here. > > Note that containment tests check identity before equality, so there's > no problem with putting (float) nans in sets or dicts: > >>>> x = float('nan') >>>> s = {x} >>>> x in s > True
Ergh, I thought that got changed. Nevermind then. -- Adam Olsen, aka Rhamphoryncus _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com