[Python-Dev] Return type of round, floor, and ceil in 2.6 (original) (raw)

Jeffrey Yasskin jyasskin at gmail.com
Sat Jan 5 09:56:23 CET 2008


On Jan 4, 2008 8:50 AM, Guido van Rossum <guido at python.org> wrote:

On Jan 4, 2008 12:13 AM, Jeffrey Yasskin <jyasskin at gmail.com> wrote: > On Jan 3, 2008 10:37 AM, Guido van Rossum <guido at python.org> wrote: > > > Well, as issue 1689 states, the backporting was commited by Jeffrey on > > > rev 5967 [2], so this is the time to understand if we want this or > > > not. > > > > This is a problem. Right now, in the trunk, math.float(1) returns 1, > > where it should return 1.0 for compatibility with 2.5. Jeffrey, can > > you fix this and similar incompatibilities you introduced? > > Whoops! I've committed r59707 to fix math.{floor,ceil}. Let me know if > you find any other problems. ... Hmm. I've also changed the behavior > of round(2.5). I'll change that back tomorrow morning.

Looks like in Python 2.6, round(0.5) right now returns 0.0, whereas in 2.5, it returns 1.0. I think it should return 1.0, for best compatibility with Python 2.5. > I haven't seen any answers to the original question. It looks like > Decimal is decided by 2.5 too: return a float from everything. Right. > Rational, being a completely new type, is up to you guys, but because > new support for the conversion routines seems to be rare, it's > probably best to have it return floats too. I think the pre-3.0 rule should be: round(), math.floor(), math.ceil() always return a float.

These rollbacks, and that of pow(-1,.5)==1j are submitted as r59731. Keep letting me know what else I broke.

-- Namasté, Jeffrey Yasskin



More information about the Python-Dev mailing list