Mark Dickinson wrote: > Could everyone live with making float<->Decimal comparisons raise an > exception in 2.7? I could, with the caveat that *if* this causes problems for real world code, then changing it to produce the correct answer (as per your patch) should be applied as a bug fix in both 2.7 and 3.2. Note that even in Py3k there are some fairly serious weirdnesses kicking around due to the intransitive nature of numeric equality though: >>> from decimal import Decimal as dec >>> set((1, 1.0, dec("1.0"))) {1} >>> set((1.0, dec("1.0"))) {1.0, Decimal('1.0')} >>> d = {} >>> from decimal import Decimal as dec >>> d[1] = d[1.0] = d[dec("1.0")] = 42 >>> d {1: 42} >>> d[1.0] = d[dec("1.0")] = 42 >>> d {1: 42} >>> del d[1] >>> d[1.0] = d[dec("1.0")] = 42 >>> d {1.0: 42, Decimal('1.0'): 42} When there is a clear, correct way (based on Decimal.from_float) to make numeric comparison behave in accordance with the rules of mathematics, do we really want to preserve strange, unintuitive behaviour like the above? Cheers, Nick. -- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia ---------------------------------------------------------------
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4