[Python-Dev] Mixing float and Decimal -- thread reboot (original) (raw)

Mark Dickinson dickinsm at gmail.com
Tue Mar 23 19:04:37 CET 2010


On Tue, Mar 23, 2010 at 5:48 PM, Adam Olsen <rhamph at 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

Mark



More information about the Python-Dev mailing list