#17890: Remove _(rich)cmp_c_impl
-------------------------------------+-------------------------------------
       Reporter:  jdemeyer           |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.7
      Component:  cython             |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Jeroen Demeyer     |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/jdemeyer/ticket/17890            |  04570b3dfd194fea8c2437c8717c3dfb8704b4af
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by vdelecroix):

 Replying to [comment:61 jdemeyer]:
 > Replying to [comment:60 vdelecroix]:
 > > Right, but `_richcmp` will call `_richcmp_`/`_cmp_`. In Integers (and
 Rationals after #18304) there is also this `_cmp_` implemented and if
 everything else failed in `__richcmp__` there is precisely
 `Element._richcmp(self, other, op)`.
 > >
 > > So even if you implement a subset of `ZZ`/`QQ` as a new parent (let
 say the additive group `3 ZZ` or the ring `ZZ[1/p]`) then it would be fine
 with comparisons with integers/rationals as soon as you define a coercion
 `3 ZZ -> ZZ`/`ZZ[1/p] -> QQ`. So my mistake, the situation for `ZZ` and
 `QQ` is a bit different: `Integer/Rational` do not avoid coercion in rich
 comparisons, they just try to avoid it for most common cases.
 > I guess you're right. It's just much less obvious (as `_cmp_` is used
 after coercion, not `__richcmp__`).
 >
 > > Do you have an example of a `Parent` where we want to avoid coercions?
 > See `src/sage/numerical/linear_functions.pyx` which deals with
 "symbolic" linear inequalities. Here, `(a <= b) <= c` should construct the
 symbolic inequality `a <= b <= c`.

 I see. Could you add this one to the documentation of `Element._richcmp`
 then?

--
Ticket URL: <http://trac.sagemath.org/ticket/17890#comment:63>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to