Author: Manuel Jacob Branch: remove-dict-smm Changeset: r64091:9e0df1084b99 Date: 2013-05-14 19:02 +0200 http://bitbucket.org/pypy/pypy/changeset/9e0df1084b99/
Log: Remove dict.__lt__ multi-method. diff --git a/pypy/objspace/std/dictmultiobject.py b/pypy/objspace/std/dictmultiobject.py --- a/pypy/objspace/std/dictmultiobject.py +++ b/pypy/objspace/std/dictmultiobject.py @@ -130,6 +130,28 @@ # XXX automatize this return space.not_(self.descr_eq(space, w_other)) + def descr_lt(self, space, w_other): + # Different sizes, no problem + if self.length() < w_other.length(): + return space.w_True + if self.length() > w_other.length(): + return space.w_False + + # Same size + w_leftdiff, w_leftval = characterize(space, self, w_other) + if w_leftdiff is None: + return space.w_False + w_rightdiff, w_rightval = characterize(space, w_other, self) + if w_rightdiff is None: + # w_leftdiff is not None, w_rightdiff is None + return space.w_True + w_res = space.lt(w_leftdiff, w_rightdiff) + if (not space.is_true(w_res) and + space.eq_w(w_leftdiff, w_rightdiff) and + w_rightval is not None): + w_res = space.lt(w_leftval, w_rightval) + return w_res + def descr_reversed(self, space): raise OperationError(space.w_TypeError, space.wrap('argument to reversed() must be a sequence')) @@ -978,28 +1000,6 @@ w_smallest_diff_a_key = w_key return w_smallest_diff_a_key, w_its_value -def lt__DictMulti_DictMulti(space, w_left, w_right): - # Different sizes, no problem - if w_left.length() < w_right.length(): - return space.w_True - if w_left.length() > w_right.length(): - return space.w_False - - # Same size - w_leftdiff, w_leftval = characterize(space, w_left, w_right) - if w_leftdiff is None: - return space.w_False - w_rightdiff, w_rightval = characterize(space, w_right, w_left) - if w_rightdiff is None: - # w_leftdiff is not None, w_rightdiff is None - return space.w_True - w_res = space.lt(w_leftdiff, w_rightdiff) - if (not space.is_true(w_res) and - space.eq_w(w_leftdiff, w_rightdiff) and - w_rightval is not None): - w_res = space.lt(w_leftval, w_rightval) - return w_res - # ____________________________________________________________ # Iteration @@ -1227,6 +1227,8 @@ __eq__ = gateway.interp2app(W_DictMultiObject.descr_eq), __ne__ = gateway.interp2app(W_DictMultiObject.descr_ne), + __lt__ = gateway.interp2app(W_DictMultiObject.descr_lt), + # XXX other comparison methods? __reversed__ = gateway.interp2app(W_DictMultiObject.descr_reversed), fromkeys = gateway.interp2app(descr_fromkeys, as_classmethod=True), _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit