On Apr 25, 2011, at 11:43 AM, cool-RR wrote:
> Today I was trying to use `total_ordering` for the first time. I was
> expecting that in order to implement e.g. `x > y` it would do `not x < y and
> not x == y`, assuming that `__lt__` and `__eq__` are defined.
This was fixed. The current code has:
convert = {
'__lt__': [('__gt__', lambda self, other: not (self < other or self ==
other)),
('__le__', lambda self, other: self < other or self ==
other),
('__ge__', lambda self, other: not self < other)],
'__le__': [('__ge__', lambda self, other: not self <= other or self ==
other),
('__lt__', lambda self, other: self <= other and not self ==
other),
('__gt__', lambda self, other: not self <= other)],
'__gt__': [('__lt__', lambda self, other: not (self > other or self ==
other)),
('__ge__', lambda self, other: self > other or self ==
other),
('__le__', lambda self, other: not self > other)],
'__ge__': [('__le__', lambda self, other: (not self >= other) or self
== other),
('__gt__', lambda self, other: self >= other and not self ==
other),
('__lt__', lambda self, other: not self >= other)]
}
> Why not have `total_ordering` work in the way I suggested?
To avoid needless posts, you should use the tracker.
Raymond
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com