[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