New submission from Armin Rigo <ar...@users.sourceforge.net>: On 32 bits, there is no reason to get a 'long' here:
>>> int(float(sys.maxint)) 2147483647L >>> int(int(float(sys.maxint))) 2147483647 >>> int(float(-sys.maxint-1)) -2147483648L >>> int(int(float(-sys.maxint-1))) -2147483648 On 64 bits, it's another story because floats cannot store 64 bits of precision. However, -sys.maxint-1 can still be represented exactly in a float, and the same issue occurs: >>> int(float(-sys.maxint-1)) -9223372036854775808L >>> int(int(float(-sys.maxint-1))) -9223372036854775808 ---------- components: Interpreter Core messages: 128143 nosy: arigo priority: normal severity: normal status: open title: int(float) may return a long for no reason versions: Python 2.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue11144> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com