[pypy-commit] pypy default: there is also 32bit world, forgot

fijal noreply at buildbot.pypy.org
Sun Mar 18 11:08:02 CET 2012


Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: 
Changeset: r53785:ba43e6d573ff
Date: 2012-03-18 12:07 +0200
http://bitbucket.org/pypy/pypy/changeset/ba43e6d573ff/

Log:	there is also 32bit world, forgot

diff --git a/pypy/rlib/rarithmetic.py b/pypy/rlib/rarithmetic.py
--- a/pypy/rlib/rarithmetic.py
+++ b/pypy/rlib/rarithmetic.py
@@ -585,12 +585,15 @@
         a, b = arg & 0xFF, arg & 0xFF00
         res = (a << 8) | (b >> 8)
     elif rffi.sizeof(T) == 4:
-        a, b, c, d = arg & 0xFF, arg & 0xFF00, arg & 0xFF0000, arg & 0xFF000000
+        a, b, c, d = arg & 0xFF, arg & 0xFF00, arg & 0xFF0000, arg & r_uint(0xFF000000)
         res = (a << 24) | (b << 8) | (c >> 8) | (d >> 24)
     elif rffi.sizeof(T) == 8:
-        a, b, c, d = arg & 0xFF, arg & 0xFF00, arg & 0xFF0000, arg & 0xFF000000
-        e, f, g, h = (arg & (0xFF << 32), arg & (0xFF << 40),
-                      arg & (0xFF << 48), arg & (r_uint(0xFF) << 56))
+        a, b, c, d = (arg & 0xFF, arg & 0xFF00, arg & 0xFF0000,
+                      arg & r_uint(0xFF000000))
+        e, f, g, h = (arg & (r_ulonglong(0xFF) << 32),
+                      arg & (r_ulonglong(0xFF) << 40),
+                      arg & (r_ulonglong(0xFF) << 48),
+                      arg & (r_ulonglong(0xFF) << 56))
         res = ((a << 56) | (b << 40) | (c << 24) | (d << 8) | (e >> 8) |
                (f >> 24) | (g >> 40) | (h >> 56))
     else:


More information about the pypy-commit mailing list