On 11 October 2012 17:05, Stephen J. Turnbull <stephen@xemacs.org> wrote:
Steven D'Aprano writes:
I would gladly give up a small amount of speed for better control over floats, such as whether 1/0.0 raised an exception or returned infinity.
Isn't that what the fpectl module is supposed to buy, albeit much less pleasantly than Decimal contexts do?
But the fpectl module IIUC wouldn't work for 1 / 0. Since Python has managed to unify integer/float division now it would be a shame to introduce any new reasons to bring in superfluous .0s again: with context(zero_division='infinity'): x = 1 / 0.0 # float('inf') y = 1 / 0 # I'd like to see float('inf') here as well I've spent 4 hours this week in computer labs with students using Python 2.7 as an introduction to scientific programming. A significant portion of that time was spent explaining the int/float division problem. They all get the issue now but not all of them understand that it is specifically about division: many are putting .0s everywhere. I expect it to be easier when we use Python 3 and I can simply explain that there are two types of division with two different operators. Oscar