[pypy-svn] r65852 - in pypy/branch/pyjitpl5/pypy/rpython: . test
arigo at codespeak.net
arigo at codespeak.net
Sun Jun 21 19:40:30 CEST 2009
Author: arigo
Date: Sun Jun 21 19:40:28 2009
New Revision: 65852
Modified:
pypy/branch/pyjitpl5/pypy/rpython/rtuple.py
pypy/branch/pyjitpl5/pypy/rpython/test/test_rtuple.py
Log:
A fix for tuple comparison. Shown by a test involving a tuple
where one item is a list, resized or not.
Modified: pypy/branch/pyjitpl5/pypy/rpython/rtuple.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/rpython/rtuple.py (original)
+++ pypy/branch/pyjitpl5/pypy/rpython/rtuple.py Sun Jun 21 19:40:28 2009
@@ -292,32 +292,27 @@
rtype_inplace_add = rtype_add
def rtype_eq((r_tup1, r_tup2), hop):
- # XXX assumes that r_tup2 is convertible to r_tup1
- v_tuple1, v_tuple2 = hop.inputargs(r_tup1, r_tup1)
+ v_tuple1, v_tuple2 = hop.inputargs(r_tup1, r_tup2)
ll_eq = r_tup1.get_ll_eq_function()
return hop.gendirectcall(ll_eq, v_tuple1, v_tuple2)
def rtype_ge((r_tup1, r_tup2), hop):
- # XXX assumes that r_tup2 is convertible to r_tup1
- v_tuple1, v_tuple2 = hop.inputargs(r_tup1, r_tup1)
+ v_tuple1, v_tuple2 = hop.inputargs(r_tup1, r_tup2)
ll_ge = r_tup1.get_ll_ge_function()
return hop.gendirectcall(ll_ge, v_tuple1, v_tuple2)
def rtype_gt((r_tup1, r_tup2), hop):
- # XXX assumes that r_tup2 is convertible to r_tup1
- v_tuple1, v_tuple2 = hop.inputargs(r_tup1, r_tup1)
+ v_tuple1, v_tuple2 = hop.inputargs(r_tup1, r_tup2)
ll_gt = r_tup1.get_ll_gt_function()
return hop.gendirectcall(ll_gt, v_tuple1, v_tuple2)
def rtype_le((r_tup1, r_tup2), hop):
- # XXX assumes that r_tup2 is convertible to r_tup1
- v_tuple1, v_tuple2 = hop.inputargs(r_tup1, r_tup1)
+ v_tuple1, v_tuple2 = hop.inputargs(r_tup1, r_tup2)
ll_le = r_tup1.get_ll_le_function()
return hop.gendirectcall(ll_le, v_tuple1, v_tuple2)
def rtype_lt((r_tup1, r_tup2), hop):
- # XXX assumes that r_tup2 is convertible to r_tup1
- v_tuple1, v_tuple2 = hop.inputargs(r_tup1, r_tup1)
+ v_tuple1, v_tuple2 = hop.inputargs(r_tup1, r_tup2)
ll_lt = r_tup1.get_ll_lt_function()
return hop.gendirectcall(ll_lt, v_tuple1, v_tuple2)
Modified: pypy/branch/pyjitpl5/pypy/rpython/test/test_rtuple.py
==============================================================================
--- pypy/branch/pyjitpl5/pypy/rpython/test/test_rtuple.py (original)
+++ pypy/branch/pyjitpl5/pypy/rpython/test/test_rtuple.py Sun Jun 21 19:40:28 2009
@@ -280,6 +280,14 @@
res = self.interpret(f, [2])
assert res is True
+ def test_tuple_eq_list(self):
+ def f(n):
+ lst1 = [1, n]
+ lst1.append(3)
+ return (lst1, 52) == ([1, 53, 3], n-1)
+ res = self.interpret(f, [53])
+ assert res is True
+
TUPLES = [
((1,2), (2,3), -1),
((1,2), (1,3), -1),
More information about the Pypy-commit
mailing list