[pypy-svn] r68002 - pypy/trunk/pypy/rpython/test

arigo at codespeak.net arigo at codespeak.net
Tue Sep 29 21:54:29 CEST 2009


Author: arigo
Date: Tue Sep 29 21:54:28 2009
New Revision: 68002

Modified:
   pypy/trunk/pypy/rpython/test/test_rint.py
Log:
Tentatively whack for 64 bit machines.


Modified: pypy/trunk/pypy/rpython/test/test_rint.py
==============================================================================
--- pypy/trunk/pypy/rpython/test/test_rint.py	(original)
+++ pypy/trunk/pypy/rpython/test/test_rint.py	Tue Sep 29 21:54:28 2009
@@ -6,6 +6,12 @@
 from pypy.rlib.rarithmetic import ovfcheck
 from pypy.rpython.test.tool import BaseRtypingTest, LLRtypeMixin, OORtypeMixin
 
+if r_longlong is not r_int:
+    int64 = r_longlong
+else:
+    int64 = int
+
+
 class TestSnippet(object):
 
     def _test(self, func, types):
@@ -140,7 +146,7 @@
                     return [None]
                 if isinstance(x, str):
                     return x
-                if isinstance(x, r_longlong):
+                if isinstance(x, int64):
                     return int(x)
                 return "XXX"
             wrap._annspecialcase_ = 'specialize:argtype(0)'
@@ -148,7 +154,7 @@
         space = FakeSpace()
         def wrap(x):
             return space.wrap(x)
-        res = self.interpret(wrap, [r_longlong(0)])
+        res = self.interpret(wrap, [int64(0)])
         assert res == 0
 
     def test_truediv(self):
@@ -162,25 +168,25 @@
     def test_float_conversion(self):
         def f(ii):
             return float(ii)
-        res = self.interpret(f, [r_longlong(100000000)])
+        res = self.interpret(f, [int64(100000000)])
         assert type(res) is float
         assert res == 100000000.
-        res = self.interpret(f, [r_longlong(1234567890123456789)])
+        res = self.interpret(f, [int64(1234567890123456789)])
         assert type(res) is float
         assert self.float_eq(res, 1.2345678901234568e+18)
 
     def test_float_conversion_implicit(self):
         def f(ii):
             return 1.0 + ii
-        res = self.interpret(f, [r_longlong(100000000)])
+        res = self.interpret(f, [int64(100000000)])
         assert type(res) is float
         assert res == 100000001.
-        res = self.interpret(f, [r_longlong(1234567890123456789)])
+        res = self.interpret(f, [int64(1234567890123456789)])
         assert type(res) is float
         assert self.float_eq(res, 1.2345678901234568e+18)
 
     def test_rarithmetic(self):
-        inttypes = [int, r_uint, r_longlong, r_ulonglong]
+        inttypes = [int, r_uint, int64, r_ulonglong]
         for inttype in inttypes:
             c = inttype()
             def f():
@@ -215,16 +221,16 @@
             res = self.interpret(f, [int(-1<<(r_int.BITS-1))])
             assert res == 0
 
-            res = self.interpret(f, [r_longlong(-1)])
+            res = self.interpret(f, [int64(-1)])
             assert res == 1
-            res = self.interpret(f, [r_longlong(-1)<<(r_longlong.BITS-1)])
+            res = self.interpret(f, [int64(-1)<<(r_longlong.BITS-1)])
             assert res == 0
 
     div_mod_iteration_count = 1000
     def test_div_mod(self):
         import random
 
-        for inttype in (int, r_longlong):
+        for inttype in (int, int64):
 
             def d(x, y):
                 return x/y
@@ -287,7 +293,7 @@
             except ZeroDivisionError:
                 return 84
 
-        for inttype in (int, r_longlong):
+        for inttype in (int, int64):
 
             args = [( 5, 2), (-5, 2), ( 5,-2), (-5,-2),
                     ( 6, 2), (-6, 2), ( 6,-2), (-6,-2),



More information about the Pypy-commit mailing list